#! /bin/sh
# Generated from tests/testsuite.at by GNU Autoconf 2.68.
#
# Copyright (C) 2009, 2010 Free Software Foundation, Inc.
#
# This test suite is free software; the Free Software Foundation gives
# unlimited permission to copy, distribute and modify it.
#
# Copyright (c) 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##

# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi


as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
# Prefer a ksh shell builtin over an external printf program on Solaris,
# but without wasting forks for bash or zsh.
if test -z "$BASH_VERSION$ZSH_VERSION" \
    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='print -r --'
  as_echo_n='print -rn --'
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='printf %s\n'
  as_echo_n='printf %s'
else
  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
    as_echo_n='/usr/ucb/echo -n'
  else
    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
    as_echo_n_body='eval
      arg=$1;
      case $arg in #(
      *"$as_nl"*)
	expr "X$arg" : "X\\(.*\\)$as_nl";
	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
      esac;
      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
    '
    export as_echo_n_body
    as_echo_n='sh -c $as_echo_n_body as_echo'
  fi
  export as_echo_body
  as_echo='sh -c $as_echo_body as_echo'
fi

# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
  PATH_SEPARATOR=:
  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
      PATH_SEPARATOR=';'
  }
fi


# IFS
# We need space, tab and new line, in precisely that order.  Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" ""	$as_nl"

# Find who we are.  Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
  *[\\/]* ) as_myself=$0 ;;
  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
  done
IFS=$as_save_IFS

     ;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
  as_myself=$0
fi
if test ! -f "$as_myself"; then
  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  exit 1
fi

# Unset variables that we do not need and which cause bugs (e.g. in
# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
# suppresses any "Segmentation fault" message there.  '((' could
# trigger a bug in pdksh 5.2.14.
for as_var in BASH_ENV ENV MAIL MAILPATH
do eval test x\${$as_var+set} = xset \
  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '

# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE

# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

if test "x$CONFIG_SHELL" = x; then
  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '\${1+\"\$@\"}'='\"\$@\"'
  setopt NO_GLOB_SUBST
else
  case \`(set -o) 2>/dev/null\` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi
"
  as_required="as_fn_return () { (exit \$1); }
as_fn_success () { as_fn_return 0; }
as_fn_failure () { as_fn_return 1; }
as_fn_ret_success () { return 0; }
as_fn_ret_failure () { return 1; }

exitcode=0
as_fn_success || { exitcode=1; echo as_fn_success failed.; }
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :

else
  exitcode=1; echo positional parameters were not saved.
fi
test x\$exitcode = x0 || exit 1"
  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
test \$(( 1 + 1 )) = 2 || exit 1"
  if (eval "$as_required") 2>/dev/null; then :
  as_have_required=yes
else
  as_have_required=no
fi
  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :

else
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  as_found=:
  case $as_dir in #(
	 /*)
	   for as_base in sh bash ksh sh5; do
	     # Try only shells that exist, to save several forks.
	     as_shell=$as_dir/$as_base
	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
  CONFIG_SHELL=$as_shell as_have_required=yes
		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
  break 2
fi
fi
	   done;;
       esac
  as_found=false
done
$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
  CONFIG_SHELL=$SHELL as_have_required=yes
fi; }
IFS=$as_save_IFS


      if test "x$CONFIG_SHELL" != x; then :
  # We cannot yet assume a decent shell, so we have to provide a
	# neutralization value for shells without unset; and this also
	# works around shells that cannot unset nonexistent variables.
	# Preserve -v and -x to the replacement shell.
	BASH_ENV=/dev/null
	ENV=/dev/null
	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
	export CONFIG_SHELL
	case $- in # ((((
	  *v*x* | *x*v* ) as_opts=-vx ;;
	  *v* ) as_opts=-v ;;
	  *x* ) as_opts=-x ;;
	  * ) as_opts= ;;
	esac
	exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
fi

    if test x$as_have_required = xno; then :
  $as_echo "$0: This script requires a shell more modern than all"
  $as_echo "$0: the shells that I found on your system."
  if test x${ZSH_VERSION+set} = xset ; then
    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
  else
    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
$0: including any error possibly output before this
$0: message. Then install a modern shell, or manually run
$0: the script under such a shell if you do have one."
  fi
  exit 1
fi
fi
fi
SHELL=${CONFIG_SHELL-/bin/sh}
export SHELL
# Unset more variables known to interfere with behavior of common tools.
CLICOLOR_FORCE= GREP_OPTIONS=
unset CLICOLOR_FORCE GREP_OPTIONS

## --------------------- ##
## M4sh Shell Functions. ##
## --------------------- ##
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
  { eval $1=; unset $1;}
}
as_unset=as_fn_unset

# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
  return $1
} # as_fn_set_status

# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
  set +e
  as_fn_set_status $1
  exit $1
} # as_fn_exit

# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{

  case $as_dir in #(
  -*) as_dir=./$as_dir;;
  esac
  test -d "$as_dir" || eval $as_mkdir_p || {
    as_dirs=
    while :; do
      case $as_dir in #(
      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
      *) as_qdir=$as_dir;;
      esac
      as_dirs="'$as_qdir' $as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_dir" : 'X\(//\)[^/]' \| \
	 X"$as_dir" : 'X\(//\)$' \| \
	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      test -d "$as_dir" && break
    done
    test -z "$as_dirs" || eval "mkdir $as_dirs"
  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"


} # as_fn_mkdir_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
  eval 'as_fn_append ()
  {
    eval $1+=\$2
  }'
else
  as_fn_append ()
  {
    eval $1=\$$1\$2
  }
fi # as_fn_append

# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
  eval 'as_fn_arith ()
  {
    as_val=$(( $* ))
  }'
else
  as_fn_arith ()
  {
    as_val=`expr "$@" || test $? -eq 1`
  }
fi # as_fn_arith


# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
  as_status=$1; test $as_status -eq 0 && as_status=1
  if test "$4"; then
    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
  fi
  $as_echo "$as_me: error: $2" >&2
  as_fn_exit $as_status
} # as_fn_error

if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  as_basename=basename
else
  as_basename=false
fi

as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
	 X"$0" : 'X\(//\)$' \| \
	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
    sed '/^.*\/\([^/][^/]*\)\/*$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`

if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
  as_dirname=dirname
else
  as_dirname=false
fi

# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits


  as_lineno_1=$LINENO as_lineno_1a=$LINENO
  as_lineno_2=$LINENO as_lineno_2a=$LINENO
  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
  sed -n '
    p
    /[$]LINENO/=
  ' <$as_myself |
    sed '
      s/[$]LINENO.*/&-/
      t lineno
      b
      :lineno
      N
      :loop
      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
      t loop
      s/-\n.*//
    ' >$as_me.lineno &&
  chmod +x "$as_me.lineno" ||
    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }

  # Don't try to exec as it changes $[0], causing all sort of problems
  # (the dirname of $[0] is not the place where we might find the
  # original and so on.  Autoconf is especially sensitive to this).
  . "./$as_me.lineno"
  # Exit status is that of the last command.
  exit
}

ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
  case `echo 'xy\c'` in
  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
  xy)  ECHO_C='\c';;
  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
       ECHO_T='	';;
  esac;;
*)
  ECHO_N='-n';;
esac

rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
  rm -f conf$$.dir/conf$$.file
else
  rm -f conf$$.dir
  mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
  if ln -s conf$$.file conf$$ 2>/dev/null; then
    as_ln_s='ln -s'
    # ... but there are two gotchas:
    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
    # In both cases, we have to default to `cp -p'.
    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
      as_ln_s='cp -p'
  elif ln conf$$.file conf$$ 2>/dev/null; then
    as_ln_s=ln
  else
    as_ln_s='cp -p'
  fi
else
  as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null

if mkdir -p . 2>/dev/null; then
  as_mkdir_p='mkdir -p "$as_dir"'
else
  test -d ./-p && rmdir ./-p
  as_mkdir_p=false
fi

if test -x / >/dev/null 2>&1; then
  as_test_x='test -x'
else
  if ls -dL / >/dev/null 2>&1; then
    as_ls_L_option=L
  else
    as_ls_L_option=
  fi
  as_test_x='
    eval sh -c '\''
      if test -d "$1"; then
	test -d "$1/.";
      else
	case $1 in #(
	-*)set "./$1";;
	esac;
	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
	???[sx]*):;;*)false;;esac;fi
    '\'' sh
  '
fi
as_executable_p=$as_test_x

# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"

# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"





SHELL=${CONFIG_SHELL-/bin/sh}

# How were we run?
at_cli_args="$@"


# Not all shells have the 'times' builtin; the subshell is needed to make
# sure we discard the 'times: not found' message from the shell.
at_times_p=false
(times) >/dev/null 2>&1 && at_times_p=:

# CLI Arguments to pass to the debugging scripts.
at_debug_args=
# -e sets to true
at_errexit_p=false
# Shall we be verbose?  ':' means no, empty means yes.
at_verbose=:
at_quiet=
# Running several jobs in parallel, 0 means as many as test groups.
at_jobs=1
at_traceon=:
at_trace_echo=:
at_check_filter_trace=:

# Shall we keep the debug scripts?  Must be `:' when the suite is
# run by a debug script, so that the script doesn't remove itself.
at_debug_p=false
# Display help message?
at_help_p=false
# Display the version message?
at_version_p=false
# List test groups?
at_list_p=false
# --clean
at_clean=false
# Test groups to run
at_groups=
# Whether to rerun failed tests.
at_recheck=
# Whether a write failure occurred
at_write_fail=0

# The directory we run the suite in.  Default to . if no -C option.
at_dir=`pwd`
# An absolute reference to this testsuite script.
case $as_myself in
  [\\/]* | ?:[\\/]* ) at_myself=$as_myself ;;
  * ) at_myself=$at_dir/$as_myself ;;
esac
# Whether -C is in effect.
at_change_dir=false

# Whether to enable colored test results.
at_color=no
# List of the tested programs.
at_tested='ovs-vswitchd
ovs-vsctl
perl'
# As many question marks as there are digits in the last test group number.
# Used to normalize the test group numbers so that `ls' lists them in
# numerical order.
at_format='????'
# Description of all the test groups.
at_help_all="1;bfd.at:37;bfd - basic config on different bridges;;
2;bfd.at:79;bfd - Verify tunnel down detection;;
3;bfd.at:159;bfd - concatenated path down;;
4;bfd.at:186;bfd - Edit the Min Tx/Rx values;;
5;bfd.at:217;bfd - check_tnl_key;;
6;bfd.at:252;bfd - bfd decay;;
7;bfd.at:514;bfd - bfd forwarding_if_rx 1;;
8;bfd.at:581;bfd - bfd forwarding_if_rx 2;;
9;bfd.at:656;bfd - bfd forwarding_if_rx 3;;
10;cfm.at:18;cfm - demand mode;;
11;lacp.at:3;lacp - config;;
12;lacp.at:40;lacp - multi port config;;
13;lacp.at:121;lacp - negotiation;;
14;library.at:3;test flow extractor;;
15;library.at:9;test TCP/IP checksumming;;
16;library.at:14;test hash functions;;
17;library.at:18;test hash map;;
18;library.at:23;test hash index;;
19;library.at:28;test atomic operations;;
20;library.at:32;test linked lists;;
21;library.at:37;test packet library;;
22;library.at:41;test SHA-1;;
23;library.at:46;test type properties;;
24;library.at:50;test strtok_r bug fix;;
25;library.at:55;test byte order conversion;byte order;
26;library.at:60;test random number generator;;
27;library.at:112;ctz() function;ctz;
28;library.at:112;round_up_pow2() function;round_up_pow2;
29;library.at:112;round_down_pow2() function;round_down_pow2;
30;library.at:112;popcount() function;popcount;
31;library.at:112;log_2_floor() function;log_2_floor;
32;library.at:112;bitwise_copy() function;bitwise_copy;
33;library.at:112;bitwise_zero() function;bitwise_zero;
34;library.at:112;bitwise_one() function;bitwise_one;
35;library.at:112;bitwise_is_all_zeros() function;bitwise_is_all_zeros;
36;library.at:128;test unix socket, short pathname - C;;
37;library.at:137;test unix socket, long pathname - C;;
38;library.at:146;test unix socket, short pathname - Python;;
39;library.at:156;test unix socket, long pathname - Python;;
40;library.at:166;ovs_assert;;
41;heap.at:8;heap library -- insert delete same order;;
42;heap.at:9;heap library -- insert delete reverse order;;
43;heap.at:10;heap library -- insert delete every order;;
44;heap.at:11;heap library -- insert delete same order with dups;;
45;heap.at:12;heap library -- raw insert;;
46;heap.at:13;heap library -- raw delete;;
47;bundle.at:10;hrw bundle link selection;;
48;bundle.at:80;active_backup bundle link selection;;
49;bundle.at:151;hrw bundle single link selection;;
50;bundle.at:159;hrw bundle no link selection;;
51;bundle.at:166;bundle action missing argument;;
52;bundle.at:172;bundle action bad fields;;
53;bundle.at:178;bundle action bad algorithm;;
54;bundle.at:184;bundle action bad slave type;;
55;bundle.at:190;bundle action bad slave delimiter;;
56;classifier.at:2;flow classifier - empty;;
57;classifier.at:2;flow classifier - destroy null;;
58;classifier.at:2;flow classifier - single rule;;
59;classifier.at:2;flow classifier - rule replacement;;
60;classifier.at:2;flow classifier - many rules in one list;;
61;classifier.at:2;flow classifier - many rules in one table;;
62;classifier.at:2;flow classifier - many rules in two tables;;
63;classifier.at:2;flow classifier - many rules in five tables;;
64;classifier.at:17;miniflow - miniflow;;
65;classifier.at:17;miniflow - minimask_has_extra;;
66;classifier.at:17;miniflow - minimask_combine;;
67;check-structs.at:11;check struct tail padding;check-structs;
68;check-structs.at:21;check struct internal alignment;check-structs;
69;check-structs.at:32;check struct declared size;check-structs;
70;check-structs.at:44;check wrong struct's declared size;check-structs;
71;daemon.at:3;daemon;;
72;daemon.at:21;daemon --monitor;;
73;daemon.at:69;daemon --detach;;
74;daemon.at:85;daemon --detach --monitor;;
75;daemon.at:134;daemon --detach startup errors;;
76;daemon.at:143;daemon --detach --monitor startup errors;;
77;daemon-py.at:3;daemon - Python;;
78;daemon-py.at:21;daemon --monitor - Python;;
79;daemon-py.at:64;daemon --monitor restart exit code - Python;;
80;daemon-py.at:107;daemon --detach - Python;;
81;daemon-py.at:123;daemon --detach --monitor - Python;;
82;daemon-py.at:172;daemon --detach startup errors - Python;;
83;daemon-py.at:181;daemon --detach --monitor startup errors - Python;;
84;daemon-py.at:190;daemon --detach closes standard fds - Python;;
85;daemon-py.at:210;daemon --detach --monitor closes standard fds;;
86;ofp-actions.at:3;OpenFlow 1.0 action translation;ofp-actions of1.0;
87;ofp-actions.at:132;OpenFlow 1.1 action translation;ofp-actions of1.1;
88;ofp-actions.at:310;OpenFlow 1.1 instruction translation;of1.1 instruction ofp-actions;
89;ofp-print.at:3;empty;ofp-print;
90;ofp-print.at:9;too short;ofp-print;
91;ofp-print.at:17;wrong OpenFlow version;ofp-print;
92;ofp-print.at:27;truncated message;ofp-print;
93;ofp-print.at:35;message only uses part of buffer;ofp-print;
94;ofp-print.at:44;OFPT_HELLO - ordinary;ofp-print;
95;ofp-print.at:52;OFPT_HELLO with extra data;ofp-print;
96;ofp-print.at:64;OFPT_HELLO with version bitmap;ofp-print;
97;ofp-print.at:73;OFPT_HELLO with version bitmap and extra data;ofp-print;
98;ofp-print.at:87;OFPT_HELLO with higher than supported version;ofp-print;
99;ofp-print.at:106;OFPT_HELLO with contradictory version bitmaps;ofp-print;
100;ofp-print.at:148;OFPT_ECHO_REQUEST, empty payload;ofp-print;
101;ofp-print.at:155;OFPT_ECHO_REQUEST, 5-byte payload;ofp-print;
102;ofp-print.at:163;OFPT_ECHO_REPLY, empty payload;ofp-print;
103;ofp-print.at:170;OFPT_ECHO_REPLY, 5-byte payload;ofp-print;
104;ofp-print.at:178;OFPT_FEATURES_REQUEST;ofp-print;
105;ofp-print.at:185;OFPT_FEATURES_REPLY - OF1.0;ofp-print;
106;ofp-print.at:235;OFPT_FEATURES_REPLY cut off mid-port - OF1.0;ofp-print;
107;ofp-print.at:274;OFPT_FEATURES_REPLY - OF1.1;ofp-print;
108;ofp-print.at:305;OFPT_FEATURES_REPLY cut off mid-port - OF1.1;ofp-print;
109;ofp-print.at:334;OFPT_FEATURES_REPLY - OF1.2;ofp-print;
110;ofp-print.at:365;OFPT_FEATURES_REPLY cut off mid-port - OF1.2;ofp-print;
111;ofp-print.at:394;OFPT_FEATURES_REPLY - OF1.3;ofp-print;
112;ofp-print.at:406;OFPT_FEATURES_REPLY - with auxiliary_id - OF1.3;ofp-print;
113;ofp-print.at:418;OFPT_GET_CONFIG_REQUEST;ofp-print;
114;ofp-print.at:425;OFPT_GET_CONFIG_REPLY, most common form;ofp-print;
115;ofp-print.at:433;OFPT_GET_CONFIG_REPLY, frags and miss_send_len;ofp-print;
116;ofp-print.at:440;OFPT_PACKET_IN - OF1.0;ofp-print;
117;ofp-print.at:454;OFPT_PACKET_IN - OF1.0, with hex output of packet data);ofp-print;
118;ofp-print.at:472;OFPT_PACKET_IN - OF1.2;ofp-print;
119;ofp-print.at:486;OFPT_PACKET_IN - OF1.2, with hex output of packet data;ofp-print;
120;ofp-print.at:503;OFPT_PACKET_IN - OF1.3;ofp-print;
121;ofp-print.at:518;OFPT_PACKET_IN - OF1.3, with hex output of packet data;ofp-print;
122;ofp-print.at:536;OFPT_FLOW_REMOVED - OF1.0;ofp-print;
123;ofp-print.at:550;OFPT_FLOW_REMOVED - OF1.2;ofp-print;
124;ofp-print.at:561;OFPT_FLOW_REMOVED - OF1.3;ofp-print;
125;ofp-print.at:572;OFPT_PORT_STATUS - OF1.0;ofp-print;
126;ofp-print.at:590;OFPT_PORT_STATUS - OF1.1;ofp-print;
127;ofp-print.at:609;OFPT_PACKET_OUT - OF1.0;ofp-print;
128;ofp-print.at:623;OFPT_PACKET_OUT - OF1.0, with packet;ofp-print;
129;ofp-print.at:638;OFPT_PACKET_OUT - OF1.0, with hex output of packet data;ofp-print;
130;ofp-print.at:657;OFPT_PACKET_OUT - OF1.1;ofp-print;
131;ofp-print.at:668;OFPT_PACKET_OUT - OF1.1, with packet;ofp-print;
132;ofp-print.at:685;OFPT_FLOW_MOD - OF1.0 - low verbosity;ofp-print;
133;ofp-print.at:703;OFPT_FLOW_MOD - OF1.1 - low verbosity;ofp-print;
134;ofp-print.at:723;OFPT_FLOW_MOD - OF1.2 - low verbosity;ofp-print;
135;ofp-print.at:743;OFPT_FLOW_MOD - OF1.0 - high verbosity;ofp-print;
136;ofp-print.at:761;OFPT_FLOW_MOD - OF1.2 - low verbosity;ofp-print;
137;ofp-print.at:780;OFPT_FLOW_MOD - OF1.3 - flags - low verbosity;ofp-print;
138;ofp-print.at:798;OFPT_FLOW_MOD - OF1.2 - set-field ip_src;ofp-print;
139;ofp-print.at:813;OFPT_FLOW_MOD - OF1.2 - set-field ip_dst;ofp-print;
140;ofp-print.at:828;OFPT_FLOW_MOD - OF1.2 - set-field sctp_src;ofp-print;
141;ofp-print.at:843;OFPT_FLOW_MOD - OF1.2 - set-field sctp_dst;ofp-print;
142;ofp-print.at:858;OFPT_FLOW reply - OF1.2 - set-field ip_src;ofp-print;
143;ofp-print.at:875;OFPT_FLOW reply - OF1.2 - set-field ip_dst;ofp-print;
144;ofp-print.at:892;OFPT_FLOW reply - OF1.2 - set-field sctp_src;ofp-print;
145;ofp-print.at:909;OFPT_FLOW reply - OF1.2 - set-field sctp_dst;ofp-print;
146;ofp-print.at:926;OFPT_PORT_MOD - OF1.0;ofp-print;
147;ofp-print.at:939;OFPT_PORT_MOD - OF1.1;ofp-print;
148;ofp-print.at:953;OFPT_PORT_MOD - OF1.2;ofp-print;
149;ofp-print.at:967;OFPT_PORT_MOD - OF1.3;ofp-print;
150;ofp-print.at:981;OFPST_DESC request;ofp-print ofpt_stats_request;
151;ofp-print.at:988;OFPST_DESC reply;ofp-print ofpt_stats_reply;
152;ofp-print.at:1068;OFPST_FLOW request - OF1.0;ofp-print ofpt_stats_request;
153;ofp-print.at:1080;OFPST_FLOW request - OF1.2;ofp-print ofpt_stats_request;
154;ofp-print.at:1092;OFPST_FLOW request - OF1.3;ofp-print ofpt_stats_request;
155;ofp-print.at:1104;OFPST_FLOW reply - OF1.0;ofp-print ofpt_stats_reply;
156;ofp-print.at:1148;OFPST_FLOW reply - OF1.2;ofp-print ofpt_stats_reply;
157;ofp-print.at:1183;OFPST_AGGREGATE request - OF1.0;ofp-print ofpt_stats_request;
158;ofp-print.at:1195;OFPST_AGGREGATE request - OF1.2;ofp-print ofpt_stats_request;
159;ofp-print.at:1207;OFPST_AGGREGATE request - OF1.3;ofp-print ofpt_stats_request;
160;ofp-print.at:1219;OFPST_AGGREGATE reply - OF1.0;ofp-print ofpt_stats_reply;
161;ofp-print.at:1230;OFPST_AGGREGATE reply - OF1.2;ofp-print ofpt_stats_reply;
162;ofp-print.at:1241;OFPST_AGGREGATE reply - OF1.3;ofp-print ofpt_stats_reply;
163;ofp-print.at:1252;OFPST_TABLE request - OF1.0;ofp-print ofpt_stats_request;
164;ofp-print.at:1259;OFPST_TABLE request - OF1.1;ofp-print ofpt_stats_request;
165;ofp-print.at:1266;OFPST_TABLE request - OF1.2;ofp-print ofpt_stats_request;
166;ofp-print.at:1273;OFPST_TABLE request - OF1.3;ofp-print ofpt_stats_request;
167;ofp-print.at:1280;OFPST_TABLE reply - OF1.0;ofp-print ofpt_stats_reply;
168;ofp-print.at:1295;OFPST_TABLE reply - OF1.2;ofp-print ofpt_stats_reply;
169;ofp-print.at:1350;OFPST_TABLE reply - OF1.3;ofp-print ofpt_stats_reply;
170;ofp-print.at:1364;OFPST_PORT request - 1.0;ofp-print ofpt_stats_request;
171;ofp-print.at:1374;OFPST_PORT request - 1.1;ofp-print ofpt_stats_request;
172;ofp-print.at:1384;OFPST_PORT request - 1.2;ofp-print ofpt_stats_request;
173;ofp-print.at:1394;OFPST_PORT request - 1.3;ofp-print ofpt_stats_request;
174;ofp-print.at:1404;OFPST_PORT reply - OF1.0;ofp-print ofpt_stats_reply;
175;ofp-print.at:1447;OFPST_PORT reply - OF1.2;ofp-print ofpt_stats_reply;
176;ofp-print.at:1482;OFPST_PORT reply - OF1.3;ofp-print ofpt_stats_reply;
177;ofp-print.at:1521;OFPST_QUEUE request - OF1.0;ofp-print ofpt_stats_request;
178;ofp-print.at:1531;OFPST_QUEUE request - OF1.1;ofp-print ofpt_stats_request;
179;ofp-print.at:1541;OFPST_QUEUE request - OF1.2;ofp-print ofpt_stats_request;
180;ofp-print.at:1551;OFPST_QUEUE request - OF1.3;ofp-print ofpt_stats_request;
181;ofp-print.at:1561;OFPST_QUEUE reply - OF1.0;ofp-print ofpt_stats_reply;
182;ofp-print.at:1588;OFPST_PORT_DESC request - OF1.0;ofp-print ofpt_stats_request;
183;ofp-print.at:1595;OFPST_QUEUE reply - OF1.1;ofp-print ofpt_stats_reply;
184;ofp-print.at:1622;OFPST_QUEUE reply - OF1.2;ofp-print ofpt_stats_reply;
185;ofp-print.at:1649;OFPST_QUEUE reply - OF1.3;ofp-print ofpt_stats_reply;
186;ofp-print.at:1682;OFPST_PORT_DESC reply - OF1.0;ofp-print ofpt_stats_reply;
187;ofp-print.at:1701;OFPT_METER_MOD request - OF1.3;ofp-print;
188;ofp-print.at:1712;OFPST_METER request - OF1.3;ofp-print ofpt_stats_request;
189;ofp-print.at:1719;OFPST_METER_CONFIG request - OF1.3;ofp-print ofpt_stats_request;
190;ofp-print.at:1726;OFPST_METER_FEATURES request - OF1.3;ofp-print ofpt_stats_request;
191;ofp-print.at:1733;OFPST_METER_FEATURES reply - OF1.3;ofp-print ofpt_stats_reply;
192;ofp-print.at:1746;OFPST_METER_CONFIG reply - OF1.3;ofp-print ofpt_stats_reply;
193;ofp-print.at:1766;OFPST_METER reply - OF1.3;ofp-print ofpt_stats_reply;
194;ofp-print.at:1790;OFPT_BARRIER_REQUEST - OF1.0;ofp-print;
195;ofp-print.at:1797;OFPT_BARRIER_REQUEST - OF1.1;ofp-print;
196;ofp-print.at:1804;OFPT_BARRIER_REQUEST - OF1.2;ofp-print;
197;ofp-print.at:1811;OFPT_BARRIER_REQUEST - OF1.3;ofp-print;
198;ofp-print.at:1818;OFPT_BARRIER_REPLY - OF1.0;ofp-print;
199;ofp-print.at:1825;OFPT_BARRIER_REPLY - OF1.1;ofp-print;
200;ofp-print.at:1832;OFPT_BARRIER_REPLY - OF1.2;ofp-print;
201;ofp-print.at:1839;OFPT_BARRIER_REPLY - OF1.3;ofp-print;
202;ofp-print.at:1847;OFPT_SET_ASYNC - OF1.3;ofp-print;
203;ofp-print.at:1866;OFPT_ROLE_REQUEST - OF1.2;ofp-print;
204;ofp-print.at:1876;OFPT_ROLE_REQUEST - nochange - OF1.2;ofp-print;
205;ofp-print.at:1886;NXT_ROLE_REQUEST;ofp-print;
206;ofp-print.at:1896;OFPT_ROLE_REPLY - OF1.2;ofp-print;
207;ofp-print.at:1906;NXT_ROLE_REPLY;ofp-print;
208;ofp-print.at:1916;NXT_SET_PACKET_IN;ofp-print;
209;ofp-print.at:1926;NXT_PACKET_IN;ofp-print;
210;ofp-print.at:1947;NXT_PACKET_IN, with hex output of packet data;ofp-print;
211;ofp-print.at:1972;NXT_SET_ASYNC_CONFIG;ofp-print;
212;ofp-print.at:1992;NXT_SET_CONTROLLER_ID;ofp-print;
213;ofp-print.at:2002;NXT_FLOW_MONITOR_CANCEL;ofp-print;
214;ofp-print.at:2012;NXT_FLOW_MONITOR_PAUSED;ofp-print;
215;ofp-print.at:2021;NXT_FLOW_MONITOR_RESUMED;ofp-print;
216;ofp-print.at:2030;NXT_SET_FLOW_FORMAT;ofp-print;
217;ofp-print.at:2041;NXT_FLOW_MOD, low verbosity;ofp-print;
218;ofp-print.at:2057;NXT_FLOW_MOD, high verbosity;ofp-print;
219;ofp-print.at:2071;NXT_FLOW_REMOVED;ofp-print;
220;ofp-print.at:2087;NXT_FLOW_MOD_TABLE_ID;ofp-print;
221;ofp-print.at:2097;NXST_FLOW request;ofp-print ofpt_stats_request;
222;ofp-print.at:2107;NXST_FLOW reply;ofp-print ofpt_stats_reply;
223;ofp-print.at:2261;NXST_AGGREGATE request;ofp-print ofpt_stats_request;
224;ofp-print.at:2271;NXST_AGGREGATE reply;ofp-print ofpt_stats_reply;
225;ofp-print.at:2282;NXST_FLOW_MONITOR request;ofp-print ofpt_stats_reply;
226;ofp-print.at:2295;NXST_FLOW_MONITOR reply;ofp-print ofpt_stats_reply;
227;ofp-util.at:3;encoding hellos;;
228;ofp-errors.at:3;OFPT_ERROR with type OFPET_HELLO_FAILED - OF1.0;ofp-print ofp-errors;
229;ofp-errors.at:11;OFPT_ERROR with type OFPET_HELLO_FAILED - OF1.1;ofp-print ofp-errors;
230;ofp-errors.at:19;OFPT_ERROR with type OFPET_BAD_REQUEST - OF1.0;ofp-print ofp-errors;
231;ofp-errors.at:29;OFPT_ERROR prints type of truncated inner messages;ofp-print ofp-errors;
232;ofp-errors.at:46;OFPT_ERROR with code OFPBMC_BAD_PREREQ - OF1.0;ofp-print ofp-errors;
233;ofp-errors.at:54;OFPT_ERROR with code OFPBMC_BAD_PREREQ - OF1.1;ofp-print ofp-errors;
234;ofp-errors.at:64;OFPT_ERROR with type OFPFMFC_OVERLAP - OF1.0;ofp-print ofp-errors;
235;ofp-errors.at:73;OFPT_ERROR with type OFPBIC_UNSUP_INST - OF1.1;ofp-print ofp-errors;
236;ofp-errors.at:87;encoding OFPBIC_* experimenter errors;ofp-print ofp-errors;
237;ofp-errors.at:103;encoding errors extension that became official;ofp-print ofp-errors;
238;ofp-errors.at:122;decoding OFPBIC_* experimenter errors;ofp-print ofp-errors;
239;ofp-errors.at:138;decoding experimenter errors;ofp-print ofp-errors;
240;ofp-errors.at:154;encoding experimenter errors;ofp-print ofp-errors;
241;ovs-ofctl.at:3;ovs-ofctl parse-flows choice of protocol;;
242;ovs-ofctl.at:105;ovs-ofctl parse-flows (OpenFlow 1.0);;
243;ovs-ofctl.at:142;ovs-ofctl parse-flows (OpenFlow 1.2);;
244;ovs-ofctl.at:179;ovs-ofctl parse-flows (With Tunnel-Parameters);;
245;ovs-ofctl.at:191;ovs-ofctl parse-flows (skb_priority);;
246;ovs-ofctl.at:203;ovs-ofctl parse-flows (NXM);;
247;ovs-ofctl.at:274;ovs-ofctl -F nxm parse-flows;;
248;ovs-ofctl.at:341;ovs-ofctl -F nxm -mmm parse-flows;;
249;ovs-ofctl.at:406;ovs-ofctl parse-nx-match;nx-match;
250;ovs-ofctl.at:993;ovs-ofctl parse-ofp10-match;of1.0;
251;ovs-ofctl.at:1208;ovs-ofctl parse-ofp11-match;of1.1;
252;ovs-ofctl.at:1533;ovs-ofctl parse-nx-match loose;nx-match;
253;ovs-ofctl.at:1548;ovs-ofctl parse-oxm;oxm;
254;ovs-ofctl.at:1992;ovs-ofctl parse-oxm loose;oxm;
255;ovs-ofctl.at:2009;ovs-ofctl check-vlan;vlan;
256;ovs-ofctl.at:2106;ovs-ofctl -F option and NXM features;;
257;ovs-ofctl.at:2119;ovs-ofctl -F option with flow_mods;;
258;ovs-ofctl.at:2131;ovs-ofctl dump-flows honors -F option;;
259;ovs-ofctl.at:2143;ovs-ofctl dump-flows rejects bad -F option;;
260;ovs-ofctl.at:2152;ovs-ofctl add-flow reports non-normalized flows;;
261;ovs-ofctl.at:2166;ovs-ofctl dump-flows with sorting;sort;
262;ovs-ofctl.at:2253;ovs-ofctl diff-flows;;
263;ovs-ofctl.at:2285;ovs-ofctl diff-flows - suppress false differences;;
264;ovs-ofctl.at:2302;ovs-ofctl -F and -O interaction;;
265;ovs-ofctl.at:2323;ovs-ofctl ofp-parse;;
266;odp.at:3;OVS datapath key parsing and formatting - valid forms;;
267;odp.at:88;OVS datapath wildcarded key parsing and formatting - valid forms;;
268;odp.at:154;OVS datapath actions parsing and formatting - valid forms;;
269;multipath.at:10;modulo_n multipath link selection;;
270;multipath.at:78;hash_threshold multipath link selection;;
271;multipath.at:146;hrw multipath link selection;;
272;multipath.at:214;iter_hash multipath link selection;;
273;multipath.at:282;multipath action missing argument;;
274;multipath.at:288;multipath action bad fields;;
275;multipath.at:294;multipath action bad algorithm;;
276;multipath.at:300;multipath action bad n_links;;
277;multipath.at:306;multipath action destination too narrow;;
278;learn.at:3;learning action - parsing and formatting;;
279;learn.at:18;learning action - parsing and formatting - illegal in_port_oxm;;
280;learn.at:27;learning action - parsing and formatting - OXM;;
281;learn.at:40;learning action - examples;;
282;learn.at:58;learning action - satisfied prerequisites;;
283;learn.at:73;learning action - invalid prerequisites;;
284;learn.at:88;learning action - standard VLAN+MAC learning;;
285;learn.at:157;learning action - learn refreshes hard_age;;
286;learn.at:226;learning action - TCPv4 port learning;;
287;learn.at:252;learning action - TCPv6 port learning;;
288;learn.at:284;learning action - self-modifying flow;;
289;learn.at:318;learning action - fin_timeout feature;;
290;vconn.at:21;unix vconn - refuse connection;;
291;vconn.at:21;unix vconn - accept then close;;
292;vconn.at:21;unix vconn - read hello;;
293;vconn.at:21;unix vconn - send plain hello;;
294;vconn.at:21;unix vconn - send long hello;;
295;vconn.at:21;unix vconn - send echo hello;;
296;vconn.at:21;unix vconn - send short hello;;
297;vconn.at:21;unix vconn - send invalid version hello;;
298;vconn.at:22;tcp vconn - refuse connection;;
299;vconn.at:22;tcp vconn - accept then close;;
300;vconn.at:22;tcp vconn - read hello;;
301;vconn.at:22;tcp vconn - send plain hello;;
302;vconn.at:22;tcp vconn - send long hello;;
303;vconn.at:22;tcp vconn - send echo hello;;
304;vconn.at:22;tcp vconn - send short hello;;
305;vconn.at:22;tcp vconn - send invalid version hello;;
306;vconn.at:23;ssl vconn - refuse connection;;
307;vconn.at:23;ssl vconn - accept then close;;
308;vconn.at:23;ssl vconn - read hello;;
309;vconn.at:23;ssl vconn - send plain hello;;
310;vconn.at:23;ssl vconn - send long hello;;
311;vconn.at:23;ssl vconn - send echo hello;;
312;vconn.at:23;ssl vconn - send short hello;;
313;vconn.at:23;ssl vconn - send invalid version hello;;
314;file_name.at:12;components of \"/usr/lib\" are \"/usr\", \"lib\";dir_name base_name;
315;file_name.at:13;components of \"/usr/\" are \"/\", \"usr\";dir_name base_name;
316;file_name.at:14;components of \"usr\" are \".\", \"usr\";dir_name base_name;
317;file_name.at:15;components of \"/\" are \"/\", \"/\";dir_name base_name;
318;file_name.at:16;components of \".\" are \".\", \".\";dir_name base_name;
319;file_name.at:17;components of \"..\" are \".\", \"..\";dir_name base_name;
320;file_name.at:18;components of \"//\" are \"//\", \"//\";dir_name base_name;
321;file_name.at:19;components of \"//foo\" are \"//\", \"foo\";dir_name base_name;
322;file_name.at:20;components of \"\" are \".\", \".\";dir_name base_name;
323;file_name.at:23;components of \"dir/file\" are \"dir\", \"file\";dir_name base_name;
324;file_name.at:24;components of \"dir/file/\" are \"dir\", \"file\";dir_name base_name;
325;file_name.at:25;components of \"dir/file//\" are \"dir\", \"file\";dir_name base_name;
326;file_name.at:26;components of \"///foo\" are \"/\", \"foo\";dir_name base_name;
327;file_name.at:36;follow_symlinks - relative symlinks;;
328;file_name.at:53;follow_symlinks - absolute symlinks;;
329;file_name.at:70;follow_symlinks - symlinks to directories;;
330;file_name.at:83;follow_symlinks - nonexistent targets;;
331;file_name.at:91;follow_symlinks - regular files;;
332;file_name.at:96;follow_symlinks - device targets;;
333;file_name.at:105;follow_symlinks - nonexistent files;;
334;file_name.at:112;follow_symlinks - symlink loop;;
335;aes128.at:10;wikipedia test vector 1;aes128;
336;aes128.at:16;wikipedia test vector 2;aes128;
337;aes128.at:22;NIST KAT ECBKeySbox128e vector 0;aes128;
338;aes128.at:28;NIST KAT ECBKeySbox128e vector 1;aes128;
339;aes128.at:34;NIST KAT ECBKeySbox128e vector 2;aes128;
340;aes128.at:40;NIST KAT ECBKeySbox128e vector 3;aes128;
341;aes128.at:46;NIST KAT ECBKeySbox128e vector 4;aes128;
342;aes128.at:52;NIST KAT ECBKeySbox128e vector 5;aes128;
343;aes128.at:58;NIST KAT ECBKeySbox128e vector 6;aes128;
344;aes128.at:64;NIST KAT ECBKeySbox128e vector 7;aes128;
345;aes128.at:70;NIST KAT ECBKeySbox128e vector 8;aes128;
346;aes128.at:76;NIST KAT ECBKeySbox128e vector 9;aes128;
347;aes128.at:82;NIST KAT ECBKeySbox128e vector 10;aes128;
348;aes128.at:88;NIST KAT ECBKeySbox128e vector 11;aes128;
349;aes128.at:94;NIST KAT ECBKeySbox128e vector 12;aes128;
350;aes128.at:100;NIST KAT ECBKeySbox128e vector 13;aes128;
351;aes128.at:106;NIST KAT ECBKeySbox128e vector 14;aes128;
352;aes128.at:112;NIST KAT ECBKeySbox128e vector 15;aes128;
353;aes128.at:118;NIST KAT ECBKeySbox128e vector 16;aes128;
354;aes128.at:124;NIST KAT ECBKeySbox128e vector 17;aes128;
355;aes128.at:130;NIST KAT ECBKeySbox128e vector 18;aes128;
356;aes128.at:136;NIST KAT ECBKeySbox128e vector 19;aes128;
357;aes128.at:142;NIST KAT ECBKeySbox128e vector 20;aes128;
358;unixctl-py.at:6;unixctl ovs-vswitchd exit - Python;;
359;unixctl-py.at:17;unixctl ovs-vswitchd help - Python;;
360;unixctl-py.at:32;unixctl ovs-vswitchd arguments - Python;;
361;unixctl-py.at:74;unixctl bad target - Python;;
362;unixctl-py.at:91;unixctl server - Python;;
363;unixctl-py.at:165;unixctl server errors - Python;;
364;uuid.at:15;UUID generation, parsing, serialization;uuid;
365;json.at:65;empty array - C;json positive;
366;json.at:65;empty array - Python;json positive python;
367;json.at:66;single-element array - C;json positive;
368;json.at:66;single-element array - Python;json positive python;
369;json.at:67;2-element array - C;json positive;
370;json.at:67;2-element array - Python;json positive python;
371;json.at:68;many-element array - C;json positive;
372;json.at:68;many-element array - Python;json positive python;
373;json.at:71;missing comma - C;json negative;
374;json.at:71;missing comma - Python;json negative python;
375;json.at:73;trailing comma not allowed - C;json negative;
376;json.at:73;trailing comma not allowed - Python;json negative python;
377;json.at:75;doubled comma not allowed - C;json negative;
378;json.at:75;doubled comma not allowed - Python;json negative python;
379;json.at:80;empty string - C;json positive;
380;json.at:80;empty string - Python;json positive python;
381;json.at:81;1-character strings - C;json positive;
382;json.at:81;1-character strings - Python;json positive python;
383;json.at:84;escape sequences - C;json positive;
384;json.at:84;escape sequences - Python;json positive python;
385;json.at:87;Unicode escape sequences - C;json positive;
386;json.at:87;Unicode escape sequences - Python;json positive python;
387;json.at:90;surrogate pairs - C;json positive;
388;json.at:93;surrogate pairs - Python;json positive python;
389;json.at:96;a string by itself is not valid JSON - C;json negative;
390;json.at:96;a string by itself is not valid JSON - Python;json negative python;
391;json.at:98;end of line in quoted string - C;json negative;
392;json.at:98;end of line in quoted string - Python;json negative python;
393;json.at:102;formfeed in quoted string - C;json negative;
394;json.at:102;formfeed in quoted string - Python;json negative python;
395;json.at:105;bad escape in quoted string - C;json negative;
396;json.at:105;bad escape in quoted string - Python;json negative python;
397;json.at:108;\\u must be followed by 4 hex digits (1) - C;json negative;
398;json.at:108;\\u must be followed by 4 hex digits (1) - Python;json negative python;
399;json.at:111;\\u must be followed by 4 hex digits (2) - C;json negative;
400;json.at:111;\\u must be followed by 4 hex digits (2) - Python;json negative python;
401;json.at:114;isolated leading surrogate not allowed - C;json negative;
402;json.at:114;isolated leading surrogate not allowed - Python;json negative python;
403;json.at:117;surrogatess must paired properly - C;json negative;
404;json.at:117;surrogatess must paired properly - Python;json negative python;
405;json.at:120;null bytes not allowed - C;json negative;
406;json.at:120;null bytes not allowed - Python;json negative python;
407;json.at:124;properly quoted backslash at end of string - C;json positive;
408;json.at:124;properly quoted backslash at end of string - Python;json positive python;
409;json.at:127;stray backslash at end of string - C;json negative;
410;json.at:127;stray backslash at end of string - Python;json negative python;
411;json.at:131;end of input in quoted string - C;json negative;
412;json.at:138;end of input in quoted string - Python;json negative python;
413;json.at:149;empty object - C;json positive;
414;json.at:149;empty object - Python;json positive python;
415;json.at:150;simple object - C;json positive;
416;json.at:150;simple object - Python;json positive python;
417;json.at:153;bad value - C;json negative;
418;json.at:153;bad value - Python;json negative python;
419;json.at:155;missing colon - C;json negative;
420;json.at:155;missing colon - Python;json negative python;
421;json.at:157;missing comma - C;json negative;
422;json.at:157;missing comma - Python;json negative python;
423;json.at:159;trailing comma not allowed - C;json negative;
424;json.at:159;trailing comma not allowed - Python;json negative python;
425;json.at:162;doubled comma not allowed - C;json negative;
426;json.at:162;doubled comma not allowed - Python;json negative python;
427;json.at:165;names must be strings - C;json negative;
428;json.at:165;names must be strings - Python;json negative python;
429;json.at:171;null - C;json positive;
430;json.at:171;null - Python;json positive python;
431;json.at:172;false - C;json positive;
432;json.at:172;false - Python;json positive python;
433;json.at:173;true - C;json positive;
434;json.at:173;true - Python;json positive python;
435;json.at:174;a literal by itself is not valid JSON - C;json negative;
436;json.at:174;a literal by itself is not valid JSON - Python;json negative python;
437;json.at:176;nullify is invalid - C;json negative;
438;json.at:176;nullify is invalid - Python;json negative python;
439;json.at:178;nubs is invalid - C;json negative;
440;json.at:178;nubs is invalid - Python;json negative python;
441;json.at:180;xxx is invalid - C;json negative;
442;json.at:180;xxx is invalid - Python;json negative python;
443;json.at:185;integers expressed as reals - C;json positive;
444;json.at:185;integers expressed as reals - Python;json positive python;
445;json.at:195;large integers - C;json positive;
446;json.at:195;large integers - Python;json positive python;
447;json.at:199;large integers expressed as reals - C;json positive;
448;json.at:199;large integers expressed as reals - Python;json positive python;
449;json.at:207;large integers that overflow to reals - C;json positive;
450;json.at:207;large integers that overflow to reals - Python;json positive python;
451;json.at:212;negative zero - C;json positive;
452;json.at:212;negative zero - Python;json positive python;
453;json.at:217;reals - C;json positive;
454;json.at:217;reals - Python;json positive python;
455;json.at:221;scientific notation - C;json positive;
456;json.at:221;scientific notation - Python;json positive python;
457;json.at:228;+/- DBL_MAX - C;json positive;
458;json.at:228;+/- DBL_MAX - Python;json positive python;
459;json.at:233;negative reals - C;json positive;
460;json.at:233;negative reals - Python;json positive python;
461;json.at:237;negative scientific notation - C;json positive;
462;json.at:237;negative scientific notation - Python;json positive python;
463;json.at:241;1e-9999 underflows to 0 - C;json positive;
464;json.at:241;1e-9999 underflows to 0 - Python;json positive python;
465;json.at:245;a number by itself is not valid JSON - C;json negative;
466;json.at:245;a number by itself is not valid JSON - Python;json negative python;
467;json.at:247;leading zeros not allowed - C;json negative;
468;json.at:247;leading zeros not allowed - Python;json negative python;
469;json.at:251;1e9999 is too big - C;json negative;
470;json.at:251;1e9999 is too big - Python;json negative python;
471;json.at:255;exponent bigger than INT_MAX - C;json negative;
472;json.at:255;exponent bigger than INT_MAX - Python;json negative python;
473;json.at:259;decimal point must be followed by digit - C;json negative;
474;json.at:259;decimal point must be followed by digit - Python;json negative python;
475;json.at:263;exponent must contain at least one digit (1) - C;json negative;
476;json.at:263;exponent must contain at least one digit (1) - Python;json negative python;
477;json.at:267;exponent must contain at least one digit (2) - C;json negative;
478;json.at:267;exponent must contain at least one digit (2) - Python;json negative python;
479;json.at:271;exponent must contain at least one digit (3) - C;json negative;
480;json.at:271;exponent must contain at least one digit (3) - Python;json negative python;
481;json.at:278;RFC 4267 object example - C;json positive;
482;json.at:278;RFC 4267 object example - Python;json positive python;
483;json.at:294;RFC 4267 array example - C;json positive;
484;json.at:294;RFC 4267 array example - Python;json positive python;
485;json.at:321;trailing garbage - C;json negative;
486;json.at:321;trailing garbage - Python;json negative python;
487;json.at:323;formfeeds are not valid white space - C;json negative;
488;json.at:323;formfeeds are not valid white space - Python;json negative python;
489;json.at:325;';' is not a valid token - C;json negative;
490;json.at:325;';' is not a valid token - Python;json negative python;
491;json.at:327;arrays nesting too deep - C;json negative;
492;json.at:327;arrays nesting too deep - Python;json negative python;
493;json.at:331;objects nesting too deep - C;json negative;
494;json.at:331;objects nesting too deep - Python;json negative python;
495;json.at:336;input may not be empty;json negative;
496;json.at:344;multiple adjacent objects - C;json positive;
497;json.at:344;multiple adjacent objects - Python;json positive python;
498;json.at:349;multiple space-separated objects - C;json positive;
499;json.at:349;multiple space-separated objects - Python;json positive python;
500;json.at:354;multiple objects on separate lines - C;json positive;
501;json.at:354;multiple objects on separate lines - Python;json positive python;
502;json.at:361;multiple objects and arrays - C;json positive;
503;json.at:361;multiple objects and arrays - Python;json positive python;
504;json.at:367;garbage between multiple objects - C;json negative;
505;json.at:367;garbage between multiple objects - Python;json negative python;
506;json.at:371;garbage after multiple objects - C;json negative;
507;json.at:371;garbage after multiple objects - Python;json negative python;
508;jsonrpc.at:3;JSON-RPC request and successful reply;;
509;jsonrpc.at:15;JSON-RPC request and error reply;;
510;jsonrpc.at:27;JSON-RPC notification;;
511;jsonrpc-py.at:3;JSON-RPC request and successful reply - Python;;
512;jsonrpc-py.at:16;JSON-RPC request and error reply - Python;;
513;jsonrpc-py.at:29;JSON-RPC notification - Python;;
514;timeval.at:3;check that time advances;timeval;
515;timeval.at:8;check that time advances after daemonize();timeval;
516;tunnel.at:3;tunnel - input;;
517;tunnel.at:64;tunnel - ECN decapsulation;;
518;tunnel.at:107;tunnel - output;;
519;tunnel.at:139;tunnel - ToS and TTL inheritance;;
520;tunnel.at:177;tunnel - set_tunnel;;
521;tunnel.at:211;tunnel - key;;
522;tunnel.at:260;tunnel - key match;;
523;tunnel.at:309;tunnel - VXLAN;;
524;tunnel.at:321;tunnel - LISP;;
525;tunnel.at:333;tunnel - different VXLAN UDP port;;
526;tunnel.at:362;ofproto-dpif - set_field - tun_src/tun_dst/tun_id;;
527;lockfile.at:12;lock and unlock;lockfile;
528;lockfile.at:14;lock and unlock twice;lockfile;
529;lockfile.at:16;lock blocks same process;lockfile;
530;lockfile.at:20;lock blocks same process twice;lockfile;
531;lockfile.at:25;lock blocks other process;lockfile;
532;lockfile.at:30;lock twice blocks other process;lockfile;
533;lockfile.at:36;lock and unlock allows other process;lockfile;
534;lockfile.at:38;lock multiple;lockfile;
535;lockfile.at:42;lock symlink;lockfile;
536;lockfile.at:49;lock symlink to dir;lockfile;
537;reconnect.at:26;nothing happens if not enabled - C;reconnect;
538;reconnect.at:26;nothing happens if not enabled - Python;reconnect;
539;reconnect.at:37;quick connect, idle disconnect - C;reconnect;
540;reconnect.at:37;quick connect, idle disconnect - Python;reconnect;
541;reconnect.at:93;slow connect, idle disconnect - C;reconnect;
542;reconnect.at:93;slow connect, idle disconnect - Python;reconnect;
543;reconnect.at:163;connect backs off - C;reconnect;
544;reconnect.at:163;connect backs off - Python;reconnect;
545;reconnect.at:362;connections with no data preserve backoff - C;reconnect;
546;reconnect.at:362;connections with no data preserve backoff - Python;reconnect;
547;reconnect.at:526;brief connection preserves backoff - C;reconnect;
548;reconnect.at:526;brief connection preserves backoff - Python;reconnect;
549;reconnect.at:657;brief connection with data preserves backoff - C;reconnect;
550;reconnect.at:657;brief connection with data preserves backoff - Python;reconnect;
551;reconnect.at:818;long connection resets backoff - C;reconnect;
552;reconnect.at:818;long connection resets backoff - Python;reconnect;
553;reconnect.at:979;connection attempt fails quickly - C;reconnect;
554;reconnect.at:979;connection attempt fails quickly - Python;reconnect;
555;reconnect.at:1034;max-tries of 1 honored - C;reconnect;
556;reconnect.at:1034;max-tries of 1 honored - Python;reconnect;
557;reconnect.at:1094;max-tries of 0 honored - C;reconnect;
558;reconnect.at:1094;max-tries of 0 honored - Python;reconnect;
559;reconnect.at:1110;passive mode - C;reconnect;
560;reconnect.at:1110;passive mode - Python;reconnect;
561;ovs-vswitchd.at:7;ovs-vswitchd detaches correctly with empty db;;
562;ofproto.at:3;ofproto - echo request;;
563;ofproto.at:9;ofproto - feature request, config request;;
564;ofproto.at:26;ofproto - set OpenFlow port number;;
565;ofproto.at:59;ofproto - port stats - (OpenFlow 1.0);;
566;ofproto.at:70;ofproto - port stats - (OpenFlow 1.2);;
567;ofproto.at:83;ofproto - port-desc stats (OpenFlow 1.0);;
568;ofproto.at:98;ofproto - port-desc stats (OpenFlow 1.2);;
569;ofproto.at:113;ofproto - queue stats - (OpenFlow 1.0);;
570;ofproto.at:130;ofproto - queue stats - (OpenFlow 1.2);;
571;ofproto.at:147;ofproto - mod-port (OpenFlow 1.0);;
572;ofproto.at:181;ofproto - mod-port (OpenFlow 1.2);;
573;ofproto.at:212;ofproto - basic flow_mod commands (NXM);;
574;ofproto.at:234;ofproto - basic flow_mod commands (OpenFlow 1.0);;
575;ofproto.at:256;ofproto - basic flow_mod commands (OpenFlow 1.1);;
576;ofproto.at:278;ofproto - set-field flow_mod commands (NXM);;
577;ofproto.at:289;ofproto - basic flow_mod commands (OpenFlow 1.2);;
578;ofproto.at:308;ofproto - dump flows with cookie;;
579;ofproto.at:332;ofproto - mod flow with cookie change (OpenFlow 1.0);;
580;ofproto.at:348;ofproto - mod flow with cookie change (NXM);;
581;ofproto.at:364;ofproto - no mod flow with cookie change (OpenFlow 1.1);;
582;ofproto.at:380;ofproto - no mod flow with cookie change (OpenFlow 1.2);;
583;ofproto.at:396;ofproto - mod flows based on cookie mask (OpenFlow 1.0);;
584;ofproto.at:418;ofproto - mod flows based on cookie mask (OpenFlow 1.1);;
585;ofproto.at:440;ofproto - mod flows based on cookie mask (OpenFlow 1.2);;
586;ofproto.at:463;ofproto - mod flows based on cookie mask with cookie change;;
587;ofproto.at:485;ofproto - mod flow with cookie miss (mask==0) - NXM;;
588;ofproto.at:495;ofproto - mod flow with cookie miss (mask==0) - OF1.1;;
589;ofproto.at:505;ofproto - mod flow with cookie miss (mask==0) - OF1.2;;
590;ofproto.at:514;ofproto - mod flow with cookie miss (mask!=0) - NXM;;
591;ofproto.at:523;ofproto - mod flow with cookie miss (mask!=0) - OF1.1;;
592;ofproto.at:532;ofproto - mod flow with cookie miss (mask!=0) - OF1.2;;
593;ofproto.at:541;ofproto - del flows with cookies;;
594;ofproto.at:560;ofproto - del flows based on cookie;;
595;ofproto.at:581;ofproto - del flows based on cookie mask;;
596;ofproto.at:600;ofproto - del flows based on table id (NXM);;
597;ofproto.at:632;ofproto - del flows based on table id (OpenFlow 1.1);;
598;ofproto.at:664;ofproto - del flows based on table id (OpenFlow 1.2);;
599;ofproto.at:696;ofproto - flow table configuration (OpenFlow 1.0);;
600;ofproto.at:732;ofproto - flow table configuration (OpenFlow 1.2);;
601;ofproto.at:774;ofproto - hard limits on flow table size (OpenFLow 1.0);;
602;ofproto.at:818;ofproto - hard limits on flow table size (OpenFLow 1.2);;
603;ofproto.at:857;ofproto - eviction upon table overflow (OpenFlow 1.0);;
604;ofproto.at:915;ofproto - eviction upon table overflow (OpenFlow 1.2);;
605;ofproto.at:974;ofproto - eviction upon table overflow, with fairness (OpenFlow 1.0);;
606;ofproto.at:1056;ofproto - eviction upon table overflow, with fairness (OpenFlow 1.2);;
607;ofproto.at:1138;ofproto - asynchronous message control (OpenFlow 1.0);;
608;ofproto.at:1241;ofproto - asynchronous message control (OpenFlow 1.2);;
609;ofproto.at:1345;ofproto - asynchronous message control (OpenFlow 1.3);;
610;ofproto.at:1447;ofproto - controller role (OpenFlow 1.2);;
611;ofproto.at:1488;ofproto - packet-out from controller (OpenFlow 1.0);;
612;ofproto.at:1524;ofproto - packet-out from controller (OpenFlow 1.2);;
613;ofproto.at:1555;ofproto - packet-out with metadata (NXM);;
614;ofproto.at:1583;ofproto - packet-out with metadata (OpenFlow 1.2);;
615;ofproto.at:1610;ofproto - packet-out with tunnel metadata (OpenFlow 1.2);;
616;ofproto.at:1636;ofproto - flow monitoring;monitor;
617;ofproto.at:1789;ofproto - flow monitoring pause and resume;monitor;
618;ofproto-dpif.at:3;ofproto-dpif - resubmit;;
619;ofproto-dpif.at:23;ofproto-dpif - goto table;;
620;ofproto-dpif.at:37;ofproto-dpif - registers;;
621;ofproto-dpif.at:72;ofproto-dpif - push-pop;;
622;ofproto-dpif.at:91;ofproto-dpif - output;;
623;ofproto-dpif.at:112;ofproto-dpif - dec_ttl;;
624;ofproto-dpif.at:147;ofproto-dpif - output, OFPP_NONE ingress port;;
625;ofproto-dpif.at:165;ofproto-dpif - DSCP;;
626;ofproto-dpif.at:192;ofproto-dpif - output/flood flags;;
627;ofproto-dpif.at:250;ofproto-dpif - controller;;
628;ofproto-dpif.at:715;ofproto-dpif - VLAN handling;;
629;ofproto-dpif.at:849;ofproto-dpif - fragment handling;;
630;ofproto-dpif.at:895;ofproto-dpif - exit;;
631;ofproto-dpif.at:920;ofproto-dpif - mirroring, select_all;;
632;ofproto-dpif.at:950;ofproto-dpif - mirroring, select_src;;
633;ofproto-dpif.at:978;ofproto-dpif - mirroring, OFPP_NONE ingress port;;
634;ofproto-dpif.at:999;ofproto-dpif - mirroring, select_dst;;
635;ofproto-dpif.at:1029;ofproto-dpif - mirroring, select_vlan;;
636;ofproto-dpif.at:1064;ofproto-dpif - mirroring, output_port;;
637;ofproto-dpif.at:1093;ofproto-dpif - mirroring, output_vlan;;
638;ofproto-dpif.at:1131;ofproto-dpif - ofproto/trace command 1;;
639;ofproto-dpif.at:1267;ofproto-dpif - ofproto/trace command 2;;
640;ofproto-dpif.at:1394;ofproto-dpif - MAC learning;;
641;ofproto-dpif.at:1483;ofproto-dpif - MAC table overflow;;
642;ofproto-dpif.at:1544;ofproto-dpif - sFlow packet sampling;;
643;ofproto-dpif.at:1839;ofproto-dpif - NetFlow flow expiration;;
644;ofproto-dpif.at:1880;ofproto-dpif - NetFlow active expiration;;
645;ofproto-dpif.at:1961;idle_age and hard_age increase over time;;
646;ofproto-dpif.at:2051;ofproto-dpif - fin_timeout;;
647;ofproto-dpif.at:2086;ofproto-dpif - ovs-appctl dpif/dump-dps;;
648;ofproto-dpif.at:2098;ofproto-dpif - ovs-appctl dpif/show;;
649;ofproto-dpif.at:2118;ofproto-dpif - ovs-appctl dpif/dump-flows;;
650;ofproto-dpif.at:2140;ofproto-dpif - ovs-appctl dpif/del-flows;;
651;ofproto-dpif.at:2170;ofproto-dpif - patch ports;;
652;ofproto-dpif.at:2232;ofproto-dpif - ovs-appctl dpif/show rates;;
653;ofproto-dpif.at:2262;ofproto-dpif - port duration;;
654;ofproto-dpif.at:2298;ofproto-dpif megaflow - port classification;;
655;ofproto-dpif.at:2313;ofproto-dpif megaflow - L2 classification;;
656;ofproto-dpif.at:2329;ofproto-dpif megaflow - L3 classification;;
657;ofproto-dpif.at:2345;ofproto-dpif megaflow - L4 classification;;
658;ofproto-dpif.at:2360;ofproto-dpif megaflow - normal;;
659;ofproto-dpif.at:2373;ofproto-dpif megaflow - mpls;;
660;ofproto-dpif.at:2390;ofproto-dpif megaflow - netflow;;
661;ofproto-dpif.at:2414;ofproto-dpif megaflow - normal, active-backup bonding;;
662;ofproto-dpif.at:2433;ofproto-dpif megaflow - normal, balance-slb bonding;;
663;ofproto-dpif.at:2452;ofproto-dpif megaflow - normal, balance-tcp bonding;;
664;ofproto-dpif.at:2488;ofproto-dpif megaflow - resubmit port action;;
665;ofproto-dpif.at:2505;ofproto-dpif megaflow - resubmit table action;;
666;ofproto-dpif.at:2523;ofproto-dpif megaflow - goto_table action;;
667;ofproto-dpif.at:2540;ofproto-dpif megaflow - mirroring, select_all;;
668;ofproto-dpif.at:2560;ofproto-dpif megaflow - mirroring, select_vlan;;
669;ofproto-dpif.at:2581;ofproto-dpif megaflow - move action;;
670;ofproto-dpif.at:2599;ofproto-dpif megaflow - push action;;
671;ofproto-dpif.at:2615;ofproto-dpif megaflow - learning;;
672;ofproto-dpif.at:2639;ofproto-dpif megaflow - tunnels;;
673;ofproto-dpif.at:2668;ofproto-dpif megaflow - dec_ttl;;
674;ofproto-dpif.at:2684;ofproto-dpif megaflow - set dl_dst;;
675;ofproto-dpif.at:2710;ofproto-dpif - datapath port number change;;
676;ofproto-dpif.at:2732;ofproto - bundle with variable bfd/cfm config;;
677;vlan-splinters.at:3;VLAN splinters;;
678;ovsdb-log.at:3;create empty, reread;ovsdb log;
679;ovsdb-log.at:18;write one, reread;ovsdb log;
680;ovsdb-log.at:35;check that create fails if file exists;ovsdb log;
681;ovsdb-log.at:55;write one, reread;ovsdb log;
682;ovsdb-log.at:76;write one, reread, append;ovsdb log;
683;ovsdb-log.at:106;write, reread one, overwrite;ovsdb log;
684;ovsdb-log.at:132;write, add corrupted data, read;ovsdb log;
685;ovsdb-log.at:154;write, add corrupted data, read, overwrite;ovsdb log;
686;ovsdb-log.at:186;write, corrupt some data, read, overwrite;ovsdb log;
687;ovsdb-log.at:219;write, truncate file, read, overwrite;ovsdb log;
688;ovsdb-log.at:252;write bad JSON, read, overwrite;ovsdb log;
689;ovsdb-types.at:3;integer - C;ovsdb positive;
690;ovsdb-types.at:3;integer - Python;ovsdb positive python;
691;ovsdb-types.at:5;real - C;ovsdb positive;
692;ovsdb-types.at:5;real - Python;ovsdb positive python;
693;ovsdb-types.at:7;boolean - C;ovsdb positive;
694;ovsdb-types.at:7;boolean - Python;ovsdb positive python;
695;ovsdb-types.at:9;string - C;ovsdb positive;
696;ovsdb-types.at:9;string - Python;ovsdb positive python;
697;ovsdb-types.at:11;uuid - C;ovsdb positive;
698;ovsdb-types.at:11;uuid - Python;ovsdb positive python;
699;ovsdb-types.at:13;void is not a valid atomic-type - C;ovsdb negative;
700;ovsdb-types.at:13;void is not a valid atomic-type - Python;ovsdb negative;
701;ovsdb-types.at:18;integer enum - C;ovsdb positive;
702;ovsdb-types.at:18;integer enum - Python;ovsdb positive python;
703;ovsdb-types.at:21;integer >= 5 - C;ovsdb positive;
704;ovsdb-types.at:21;integer >= 5 - Python;ovsdb positive python;
705;ovsdb-types.at:24;integer <= 7 - C;ovsdb positive;
706;ovsdb-types.at:24;integer <= 7 - Python;ovsdb positive python;
707;ovsdb-types.at:27;integer between -5 and 10 - C;ovsdb positive;
708;ovsdb-types.at:27;integer between -5 and 10 - Python;ovsdb positive python;
709;ovsdb-types.at:30;integer max may not be less than min - C;ovsdb negative;
710;ovsdb-types.at:30;integer max may not be less than min - Python;ovsdb negative;
711;ovsdb-types.at:34;real enum - C;ovsdb positive;
712;ovsdb-types.at:34;real enum - Python;ovsdb positive python;
713;ovsdb-types.at:37;real >= -1.5 - C;ovsdb positive;
714;ovsdb-types.at:37;real >= -1.5 - Python;ovsdb positive python;
715;ovsdb-types.at:40;real <= 1e5 - C;ovsdb positive;
716;ovsdb-types.at:40;real <= 1e5 - Python;ovsdb positive python;
717;ovsdb-types.at:43;real between -2.5 and 3.75 - C;ovsdb positive;
718;ovsdb-types.at:43;real between -2.5 and 3.75 - Python;ovsdb positive python;
719;ovsdb-types.at:46;real max may not be less than min - C;ovsdb negative;
720;ovsdb-types.at:46;real max may not be less than min - Python;ovsdb negative;
721;ovsdb-types.at:50;boolean - C;ovsdb positive;
722;ovsdb-types.at:50;boolean - Python;ovsdb positive python;
723;ovsdb-types.at:52;boolean enum - C;ovsdb positive;
724;ovsdb-types.at:52;boolean enum - Python;ovsdb positive python;
725;ovsdb-types.at:56;string enum - C;ovsdb positive;
726;ovsdb-types.at:56;string enum - Python;ovsdb positive python;
727;ovsdb-types.at:59;string minLength - C;ovsdb positive;
728;ovsdb-types.at:59;string minLength - Python;ovsdb positive python;
729;ovsdb-types.at:62;string maxLength - C;ovsdb positive;
730;ovsdb-types.at:62;string maxLength - Python;ovsdb positive python;
731;ovsdb-types.at:65;string minLength and maxLength - C;ovsdb positive;
732;ovsdb-types.at:65;string minLength and maxLength - Python;ovsdb positive python;
733;ovsdb-types.at:68;maxLength must not be less than minLength - C;ovsdb negative;
734;ovsdb-types.at:68;maxLength must not be less than minLength - Python;ovsdb negative;
735;ovsdb-types.at:71;maxLength must not be negative - C;ovsdb negative;
736;ovsdb-types.at:71;maxLength must not be negative - Python;ovsdb negative;
737;ovsdb-types.at:75;uuid enum - C;ovsdb positive;
738;ovsdb-types.at:75;uuid enum - Python;ovsdb positive python;
739;ovsdb-types.at:78;uuid refTable - C;ovsdb positive;
740;ovsdb-types.at:78;uuid refTable - Python;ovsdb positive python;
741;ovsdb-types.at:81;uuid refTable must be valid id - C;ovsdb negative;
742;ovsdb-types.at:81;uuid refTable must be valid id - Python;ovsdb negative;
743;ovsdb-types.at:85;void is not a valid base-type - C;ovsdb negative;
744;ovsdb-types.at:85;void is not a valid base-type - Python;ovsdb negative;
745;ovsdb-types.at:87;\"type\" member must be present - C;ovsdb negative;
746;ovsdb-types.at:87;\"type\" member must be present - Python;ovsdb negative;
747;ovsdb-types.at:92;simple integer - C;ovsdb positive;
748;ovsdb-types.at:92;simple integer - Python;ovsdb positive python;
749;ovsdb-types.at:94;simple real - C;ovsdb positive;
750;ovsdb-types.at:94;simple real - Python;ovsdb positive python;
751;ovsdb-types.at:96;simple boolean - C;ovsdb positive;
752;ovsdb-types.at:96;simple boolean - Python;ovsdb positive python;
753;ovsdb-types.at:98;simple string - C;ovsdb positive;
754;ovsdb-types.at:98;simple string - Python;ovsdb positive python;
755;ovsdb-types.at:100;simple uuid - C;ovsdb positive;
756;ovsdb-types.at:100;simple uuid - Python;ovsdb positive python;
757;ovsdb-types.at:102;integer in object - C;ovsdb positive;
758;ovsdb-types.at:102;integer in object - Python;ovsdb positive python;
759;ovsdb-types.at:104;real in object with explicit min and max - C;ovsdb positive;
760;ovsdb-types.at:104;real in object with explicit min and max - Python;ovsdb positive python;
761;ovsdb-types.at:107;key type is required - C;ovsdb negative;
762;ovsdb-types.at:107;key type is required - Python;ovsdb negative;
763;ovsdb-types.at:109;void is not a valid type - C;ovsdb negative;
764;ovsdb-types.at:109;void is not a valid type - Python;ovsdb negative;
765;ovsdb-types.at:114;optional boolean - C;ovsdb positive set;
766;ovsdb-types.at:114;optional boolean - Python;ovsdb positive python set;
767;ovsdb-types.at:118;set of 1 to 3 uuids - C;ovsdb positive;
768;ovsdb-types.at:118;set of 1 to 3 uuids - Python;ovsdb positive python;
769;ovsdb-types.at:121;set of 0 to 3 strings - C;ovsdb positive;
770;ovsdb-types.at:121;set of 0 to 3 strings - Python;ovsdb positive python;
771;ovsdb-types.at:124;set of 0 or more integers - C;ovsdb positive;
772;ovsdb-types.at:124;set of 0 or more integers - Python;ovsdb positive python;
773;ovsdb-types.at:127;set of 1 or more reals - C;ovsdb positive;
774;ovsdb-types.at:127;set of 1 or more reals - Python;ovsdb positive python;
775;ovsdb-types.at:131;set max cannot be less than min - C;ovsdb negative;
776;ovsdb-types.at:131;set max cannot be less than min - Python;ovsdb negative;
777;ovsdb-types.at:134;set max cannot be negative - C;ovsdb negative;
778;ovsdb-types.at:134;set max cannot be negative - Python;ovsdb negative;
779;ovsdb-types.at:137;set min cannot be negative - C;ovsdb negative;
780;ovsdb-types.at:137;set min cannot be negative - Python;ovsdb negative;
781;ovsdb-types.at:140;set min cannot be greater than one - C;ovsdb negative;
782;ovsdb-types.at:140;set min cannot be greater than one - Python;ovsdb negative;
783;ovsdb-types.at:146;map of 1 integer to boolean - C;ovsdb positive;
784;ovsdb-types.at:146;map of 1 integer to boolean - Python;ovsdb positive python;
785;ovsdb-types.at:149;map of 1 boolean to integer, explicit min and max - C;ovsdb positive;
786;ovsdb-types.at:149;map of 1 boolean to integer, explicit min and max - Python;ovsdb positive python;
787;ovsdb-types.at:152;map of 1 to 5 uuid to real - C;ovsdb positive;
788;ovsdb-types.at:152;map of 1 to 5 uuid to real - Python;ovsdb positive python;
789;ovsdb-types.at:155;map of 0 to 10 string to uuid - C;ovsdb positive;
790;ovsdb-types.at:155;map of 0 to 10 string to uuid - Python;ovsdb positive python;
791;ovsdb-types.at:158;map of 1 to 20 real to string - C;ovsdb positive;
792;ovsdb-types.at:158;map of 1 to 20 real to string - Python;ovsdb positive python;
793;ovsdb-types.at:161;map of 0 or more string to real - C;ovsdb positive;
794;ovsdb-types.at:161;map of 0 or more string to real - Python;ovsdb positive python;
795;ovsdb-types.at:165;map key type is required - C;ovsdb negative;
796;ovsdb-types.at:165;map key type is required - Python;ovsdb negative;
797;ovsdb-data.at:3;default atoms - C;ovsdb positive;
798;ovsdb-data.at:3;default atoms - Python;ovsdb positive python;
799;ovsdb-data.at:11;default data - C;ovsdb positive;
800;ovsdb-data.at:11;default data - Python;ovsdb positive python;
801;ovsdb-data.at:76;integer atom from JSON - C;ovsdb positive;
802;ovsdb-data.at:76;integer atom from JSON - Python;ovsdb positive python;
803;ovsdb-data.at:89;integer atom from string;ovsdb positive;
804;ovsdb-data.at:102;real atom from JSON - C;ovsdb positive;
805;ovsdb-data.at:102;real atom from JSON - Python;ovsdb positive python;
806;ovsdb-data.at:119;real atom from string;ovsdb positive;
807;ovsdb-data.at:136;boolean atom from JSON - C;ovsdb positive;
808;ovsdb-data.at:136;boolean atom from JSON - Python;ovsdb positive python;
809;ovsdb-data.at:141;boolean atom from string;ovsdb positive;
810;ovsdb-data.at:146;string atom from JSON - C;ovsdb positive;
811;ovsdb-data.at:146;string atom from JSON - Python;ovsdb positive python;
812;ovsdb-data.at:152;string atom from string;ovsdb positive;
813;ovsdb-data.at:167;uuid atom from JSON - C;ovsdb positive;
814;ovsdb-data.at:167;uuid atom from JSON - Python;ovsdb positive python;
815;ovsdb-data.at:171;uuid atom from string;ovsdb positive;
816;ovsdb-data.at:175;integer atom sorting - C;ovsdb positive;
817;ovsdb-data.at:175;integer atom sorting - Python;ovsdb positive python;
818;ovsdb-data.at:179;real atom sorting - C;ovsdb positive;
819;ovsdb-data.at:179;real atom sorting - Python;ovsdb positive python;
820;ovsdb-data.at:183;boolean atom sorting - C;ovsdb positive;
821;ovsdb-data.at:183;boolean atom sorting - Python;ovsdb positive python;
822;ovsdb-data.at:187;string atom sorting - C;ovsdb positive;
823;ovsdb-data.at:187;string atom sorting - Python;ovsdb positive python;
824;ovsdb-data.at:191;uuid atom sorting - C;ovsdb positive;
825;ovsdb-data.at:191;uuid atom sorting - Python;ovsdb positive python;
826;ovsdb-data.at:228;real not acceptable integer JSON atom - C;ovsdb positive;
827;ovsdb-data.at:228;real not acceptable integer JSON atom - Python;ovsdb positive python;
828;ovsdb-data.at:234;no invalid UTF-8 sequences in strings;ovsdb positive;
829;ovsdb-data.at:249;no invalid UTF-8 sequences in strings - Python;ovsdb positive python;
830;ovsdb-data.at:257;real not acceptable integer string atom;ovsdb negative;
831;ovsdb-data.at:261;string \"true\" not acceptable boolean JSON atom - C;ovsdb positive;
832;ovsdb-data.at:261;string \"true\" not acceptable boolean JSON atom - Python;ovsdb positive python;
833;ovsdb-data.at:265;string \"true\" not acceptable boolean string atom;ovsdb negative;
834;ovsdb-data.at:269;integer not acceptable string JSON atom - C;ovsdb positive;
835;ovsdb-data.at:269;integer not acceptable string JSON atom - Python;ovsdb positive python;
836;ovsdb-data.at:273;uuid atom must be expressed as JSON array - C;ovsdb positive;
837;ovsdb-data.at:273;uuid atom must be expressed as JSON array - Python;ovsdb positive python;
838;ovsdb-data.at:277;named-uuid requires symbol table - C;ovsdb positive;
839;ovsdb-data.at:277;named-uuid requires symbol table - Python;ovsdb positive python;
840;ovsdb-data.at:281;empty string atom must be quoted;ovsdb negative;
841;ovsdb-data.at:285;quotes must be balanced;ovsdb negative;
842;ovsdb-data.at:289;uuids must be valid;ovsdb negative;
843;ovsdb-data.at:295;integer atom enum - C;ovsdb positive;
844;ovsdb-data.at:295;integer atom enum - Python;ovsdb positive python;
845;ovsdb-data.at:318;real atom enum - C;ovsdb positive;
846;ovsdb-data.at:318;real atom enum - Python;ovsdb positive python;
847;ovsdb-data.at:335;boolean atom enum - C;ovsdb positive;
848;ovsdb-data.at:335;boolean atom enum - Python;ovsdb positive python;
849;ovsdb-data.at:342;string atom enum - C;ovsdb positive;
850;ovsdb-data.at:342;string atom enum - Python;ovsdb positive python;
851;ovsdb-data.at:357;uuid atom enum - C;ovsdb positive;
852;ovsdb-data.at:357;uuid atom enum - Python;ovsdb positive python;
853;ovsdb-data.at:368;integers >= 5 - C;ovsdb positive;
854;ovsdb-data.at:368;integers >= 5 - Python;ovsdb positive python;
855;ovsdb-data.at:381;integers <= -1 - C;ovsdb positive;
856;ovsdb-data.at:381;integers <= -1 - Python;ovsdb positive python;
857;ovsdb-data.at:392;integers in range -10 to 10 - C;ovsdb positive;
858;ovsdb-data.at:392;integers in range -10 to 10 - Python;ovsdb positive python;
859;ovsdb-data.at:413;reals >= 5 - C;ovsdb positive;
860;ovsdb-data.at:413;reals >= 5 - Python;ovsdb positive python;
861;ovsdb-data.at:426;reals <= -1 - C;ovsdb positive;
862;ovsdb-data.at:426;reals <= -1 - Python;ovsdb positive python;
863;ovsdb-data.at:437;reals in range -10 to 10 - C;ovsdb positive;
864;ovsdb-data.at:437;reals in range -10 to 10 - Python;ovsdb positive python;
865;ovsdb-data.at:458;strings at least 2 characters long - C;ovsdb positive;
866;ovsdb-data.at:458;strings at least 2 characters long - Python;ovsdb positive python;
867;ovsdb-data.at:476;strings no more than 2 characters long - C;ovsdb positive;
868;ovsdb-data.at:476;strings no more than 2 characters long - Python;ovsdb positive python;
869;ovsdb-data.at:491;integer JSON datum - C;ovsdb positive;
870;ovsdb-data.at:491;integer JSON datum - Python;ovsdb positive python;
871;ovsdb-data.at:497;integer string datum;ovsdb positive;
872;ovsdb-data.at:504;real JSON datum - C;ovsdb positive;
873;ovsdb-data.at:504;real JSON datum - Python;ovsdb positive python;
874;ovsdb-data.at:510;real string datum;ovsdb positive;
875;ovsdb-data.at:516;boolean JSON datum - C;ovsdb positive;
876;ovsdb-data.at:516;boolean JSON datum - Python;ovsdb positive python;
877;ovsdb-data.at:521;boolean string datum;ovsdb positive;
878;ovsdb-data.at:526;string JSON datum - C;ovsdb positive;
879;ovsdb-data.at:526;string JSON datum - Python;ovsdb positive python;
880;ovsdb-data.at:532;string string datum;ovsdb positive;
881;ovsdb-data.at:541;JSON optional boolean - C;ovsdb positive set;
882;ovsdb-data.at:541;JSON optional boolean - Python;ovsdb positive python set;
883;ovsdb-data.at:551;string optional boolean;ovsdb positive set;
884;ovsdb-data.at:561;JSON set of 0 or more integers - C;ovsdb positive;
885;ovsdb-data.at:561;JSON set of 0 or more integers - Python;ovsdb positive python;
886;ovsdb-data.at:578;string set of 0 or more integers;ovsdb positive;
887;ovsdb-data.at:593;JSON set of 1 to 3 uuids - C;ovsdb positive;
888;ovsdb-data.at:593;JSON set of 1 to 3 uuids - Python;ovsdb positive python;
889;ovsdb-data.at:604;string set of 1 to 3 uuids;ovsdb positive;
890;ovsdb-data.at:613;JSON set of 0 to 3 strings - C;ovsdb positive;
891;ovsdb-data.at:613;JSON set of 0 to 3 strings - Python;ovsdb positive python;
892;ovsdb-data.at:626;string set of 0 to 3 strings;ovsdb positive;
893;ovsdb-data.at:637;duplicate boolean not allowed in JSON set - C;ovsdb negative;
894;ovsdb-data.at:637;duplicate boolean not allowed in JSON set - Python;ovsdb negative;
895;ovsdb-data.at:641;duplicate boolean not allowed in string set;ovsdb negative;
896;ovsdb-data.at:645;duplicate integer not allowed in JSON set - C;ovsdb negative;
897;ovsdb-data.at:645;duplicate integer not allowed in JSON set - Python;ovsdb negative;
898;ovsdb-data.at:649;duplicate integer not allowed in string set;ovsdb negative;
899;ovsdb-data.at:653;duplicate real not allowed in JSON set - C;ovsdb negative;
900;ovsdb-data.at:653;duplicate real not allowed in JSON set - Python;ovsdb negative;
901;ovsdb-data.at:657;duplicate real not allowed in string set;ovsdb negative;
902;ovsdb-data.at:661;duplicate string not allowed in JSON set - C;ovsdb negative;
903;ovsdb-data.at:661;duplicate string not allowed in JSON set - Python;ovsdb negative;
904;ovsdb-data.at:665;duplicate string not allowed in string set;ovsdb negative;
905;ovsdb-data.at:669;duplicate uuid not allowed in JSON set - C;ovsdb negative;
906;ovsdb-data.at:669;duplicate uuid not allowed in JSON set - Python;ovsdb negative;
907;ovsdb-data.at:676;duplicate uuid not allowed in string set;ovsdb negative;
908;ovsdb-data.at:685;JSON map of 1 integer to boolean - C;ovsdb positive;
909;ovsdb-data.at:685;JSON map of 1 integer to boolean - Python;ovsdb positive python;
910;ovsdb-data.at:690;string map of 1 integer to boolean;ovsdb positive;
911;ovsdb-data.at:695;JSON map of at least 1 integer to boolean - C;ovsdb positive;
912;ovsdb-data.at:695;JSON map of at least 1 integer to boolean - Python;ovsdb positive python;
913;ovsdb-data.at:704;string map of at least 1 integer to boolean;ovsdb positive;
914;ovsdb-data.at:713;JSON map of 1 boolean to integer - C;ovsdb positive;
915;ovsdb-data.at:713;JSON map of 1 boolean to integer - Python;ovsdb positive python;
916;ovsdb-data.at:718;string map of 1 boolean to integer;ovsdb positive;
917;ovsdb-data.at:723;JSON map of 1 uuid to real - C;ovsdb positive;
918;ovsdb-data.at:723;JSON map of 1 uuid to real - Python;ovsdb positive python;
919;ovsdb-data.at:732;string map of 1 uuid to real;ovsdb positive;
920;ovsdb-data.at:741;JSON map of 10 string to string - C;ovsdb positive;
921;ovsdb-data.at:741;JSON map of 10 string to string - Python;ovsdb positive python;
922;ovsdb-data.at:755;string map of 10 string to string;ovsdb positive;
923;ovsdb-data.at:769;duplicate integer key not allowed in JSON map - C;ovsdb negative;
924;ovsdb-data.at:769;duplicate integer key not allowed in JSON map - Python;ovsdb negative;
925;ovsdb-data.at:774;duplicate integer key not allowed in string map;ovsdb negative;
926;ovsdb-column.at:3;ordinary column - C;ovsdb positive;
927;ovsdb-column.at:3;ordinary column - Python;ovsdb positive python;
928;ovsdb-column.at:7;immutable column - C;ovsdb positive;
929;ovsdb-column.at:7;immutable column - Python;ovsdb positive python;
930;ovsdb-column.at:11;ephemeral column - C;ovsdb positive;
931;ovsdb-column.at:11;ephemeral column - Python;ovsdb positive python;
932;ovsdb-table.at:3;non-root table with one column - C;ovsdb positive;
933;ovsdb-table.at:3;non-root table with one column - Python;ovsdb positive python;
934;ovsdb-table.at:7;immutable table with one column - C;ovsdb positive;
935;ovsdb-table.at:7;immutable table with one column - Python;ovsdb positive python;
936;ovsdb-table.at:13;root table with one column - C;ovsdb positive;
937;ovsdb-table.at:13;root table with one column - Python;ovsdb positive python;
938;ovsdb-table.at:19;non-root table with default_is_root=true - C;ovsdb positive;
939;ovsdb-table.at:19;non-root table with default_is_root=true - Python;ovsdb positive python;
940;ovsdb-table.at:23;root table with default_is_root=true - C;ovsdb positive;
941;ovsdb-table.at:23;root table with default_is_root=true - Python;ovsdb positive python;
942;ovsdb-table.at:29;table with maxRows of 2 - C;ovsdb positive;
943;ovsdb-table.at:29;table with maxRows of 2 - Python;ovsdb positive python;
944;ovsdb-table.at:34;table with index - C;ovsdb positive;
945;ovsdb-table.at:34;table with index - Python;ovsdb positive python;
946;ovsdb-table.at:40;table with syntax error in index - C;ovsdb negative;
947;ovsdb-table.at:40;table with syntax error in index - Python;ovsdb negative;
948;ovsdb-table.at:46;table with empty index - C;ovsdb negative;
949;ovsdb-table.at:46;table with empty index - Python;ovsdb negative;
950;ovsdb-table.at:52;table with index of ephemeral column - C;ovsdb negative;
951;ovsdb-table.at:52;table with index of ephemeral column - Python;ovsdb negative;
952;ovsdb-table.at:59;column names may not begin with _ - C;ovsdb negative table;
953;ovsdb-table.at:59;column names may not begin with _ - Python;ovsdb negative table;
954;ovsdb-table.at:65;table must have at least one column (1) - C;ovsdb negative;
955;ovsdb-table.at:65;table must have at least one column (1) - Python;ovsdb negative;
956;ovsdb-table.at:69;table must have at least one column (2) - C;ovsdb negative;
957;ovsdb-table.at:69;table must have at least one column (2) - Python;ovsdb negative;
958;ovsdb-table.at:73;table maxRows must be positive - C;ovsdb negative;
959;ovsdb-table.at:73;table maxRows must be positive - Python;ovsdb negative;
960;ovsdb-row.at:5;row with one string column;ovsdb positive;
961;ovsdb-row.at:21;row with one integer column;ovsdb positive;
962;ovsdb-row.at:37;row with one real column;ovsdb positive;
963;ovsdb-row.at:53;row with one boolean column;ovsdb positive;
964;ovsdb-row.at:66;row with one uuid column;ovsdb positive;
965;ovsdb-row.at:79;row with set of 1 to 2 elements;ovsdb positive;
966;ovsdb-row.at:86;row with map of 1 to 2 elements;ovsdb positive;
967;ovsdb-row.at:93;row with several columns;ovsdb positive;
968;ovsdb-row.at:115;row hashing (scalars);ovsdb positive;
969;ovsdb-row.at:184;row hashing (sets);ovsdb positive;
970;ovsdb-row.at:237;row hashing (maps);ovsdb positive;
971;ovsdb-schema.at:3;schema with valid refTables - C;ovsdb positive;
972;ovsdb-schema.at:3;schema with valid refTables - Python;ovsdb positive python;
973;ovsdb-schema.at:30;schema with ephemeral strong references - C;ovsdb positive;
974;ovsdb-schema.at:30;schema with ephemeral strong references - Python;ovsdb positive python;
975;ovsdb-schema.at:61;schema without version number - C;ovsdb positive;
976;ovsdb-schema.at:61;schema without version number - Python;ovsdb positive python;
977;ovsdb-schema.at:71;schema with invalid refTables - C;ovsdb negative;
978;ovsdb-schema.at:71;schema with invalid refTables - Python;ovsdb negative;
979;ovsdb-schema.at:94;schema with invalid version number - C;ovsdb negative;
980;ovsdb-schema.at:94;schema with invalid version number - Python;ovsdb negative;
981;ovsdb-condition.at:3;null condition;ovsdb positive;
982;ovsdb-condition.at:9;conditions on scalars;ovsdb positive condition;
983;ovsdb-condition.at:75;disallowed conditions on scalars;ovsdb negative condition;
984;ovsdb-condition.at:112;conditions on sets;ovsdb positive condition;
985;ovsdb-condition.at:173;condition sorting;ovsdb positive;
986;ovsdb-condition.at:187;evaluating null condition;ovsdb positive;
987;ovsdb-condition.at:196;evaluating conditions on integers;ovsdb positive condition;
988;ovsdb-condition.at:221;evaluating conditions on reals;ovsdb positive condition;
989;ovsdb-condition.at:246;evaluating conditions on booleans;ovsdb positive condition;
990;ovsdb-condition.at:270;evaluating conditions on strings;ovsdb positive condition;
991;ovsdb-condition.at:295;evaluating conditions on UUIDs;ovsdb positive condition;
992;ovsdb-condition.at:321;evaluating conditions on sets;ovsdb positive condition;
993;ovsdb-condition.at:403;evaluating conditions on maps (1);ovsdb positive condition;
994;ovsdb-condition.at:488;evaluating conditions on maps (2);ovsdb positive condition;
995;ovsdb-mutation.at:3;null mutation;ovsdb positive;
996;ovsdb-mutation.at:9;mutations on scalars;ovsdb positive mutation;
997;ovsdb-mutation.at:37;disallowed mutations on scalars;ovsdb negative mutation;
998;ovsdb-mutation.at:102;disallowed mutations on immutable columns;ovsdb negative mutation;
999;ovsdb-mutation.at:114;mutations on sets;ovsdb positive mutation;
1000;ovsdb-mutation.at:166;executing null mutation;ovsdb positive;
1001;ovsdb-mutation.at:179;executing mutations on integers;ovsdb positive mutation;
1002;ovsdb-mutation.at:216;integer overflow detection;ovsdb positive mutation;
1003;ovsdb-mutation.at:297;executing mutations on integers with constraints;ovsdb positive mutation;
1004;ovsdb-mutation.at:336;executing mutations on reals;ovsdb positive mutation;
1005;ovsdb-mutation.at:367;real overflow detection;ovsdb positive mutation;
1006;ovsdb-mutation.at:410;executing mutations on reals with constraints;ovsdb positive mutation;
1007;ovsdb-mutation.at:443;executing mutations on integer sets;ovsdb positive mutation;
1008;ovsdb-mutation.at:517;executing mutations on integer sets with constraints;ovsdb positive mutation;
1009;ovsdb-mutation.at:556;executing mutations on real sets;ovsdb positive mutation;
1010;ovsdb-mutation.at:629;executing mutations on boolean sets;ovsdb positive mutation;
1011;ovsdb-mutation.at:679;executing mutations on string sets;ovsdb positive mutation;
1012;ovsdb-mutation.at:729;executing mutations on uuid sets;ovsdb positive mutation;
1013;ovsdb-mutation.at:779;executing mutations on integer maps;ovsdb positive mutation;
1014;ovsdb-query.at:3;queries on scalars;ovsdb positive query;
1015;ovsdb-query.at:95;queries on sets;ovsdb positive query;
1016;ovsdb-query.at:176;queries on maps (1);ovsdb positive query;
1017;ovsdb-query.at:260;queries on maps (2);ovsdb positive query;
1018;ovsdb-query.at:351;UUID-distinct queries on scalars;ovsdb positive query;
1019;ovsdb-query.at:444;Boolean-distinct queries on scalars;ovsdb positive query;
1020;ovsdb-query.at:537;parse colunn set containing bad name;ovsdb negative;
1021;ovsdb-transaction.at:3;empty table, empty transaction;ovsdb positive;
1022;ovsdb-transaction.at:17;nonempty table, empty transaction;ovsdb positive;
1023;ovsdb-transaction.at:41;insert, commit;ovsdb positive transaction;
1024;ovsdb-transaction.at:70;insert, abort;ovsdb positive transaction;
1025;ovsdb-transaction.at:98;modify, commit;ovsdb positive transaction;
1026;ovsdb-transaction.at:127;modify, abort;ovsdb positive transaction;
1027;ovsdb-transaction.at:156;delete, commit;ovsdb positive transaction;
1028;ovsdb-transaction.at:181;delete, abort;ovsdb positive transaction;
1029;ovsdb-transaction.at:207;modify, delete, commit;ovsdb positive transaction;
1030;ovsdb-transaction.at:234;modify, delete, abort;ovsdb positive transaction;
1031;ovsdb-transaction.at:262;insert, delete, commit;ovsdb positive transaction;
1032;ovsdb-transaction.at:291;insert, delete, abort;ovsdb positive transaction;
1033;ovsdb-transaction.at:322;insert, modify, delete, commit;ovsdb positive transaction;
1034;ovsdb-transaction.at:353;insert, modify, delete, abort;ovsdb positive transaction;
1035;ovsdb-transaction.at:385;deletes are aborted cleanly;ovsdb positive transaction;
1036;ovsdb-execution.at:147;uuid-name must be <id>;ovsdb execute execution positive;
1037;ovsdb-execution.at:157;named-uuid must be <id>;ovsdb execute execution positive;
1038;ovsdb-execution.at:166;duplicate uuid-name not allowed;ovsdb execute execution positive;
1039;ovsdb-execution.at:1099;insert default row, query table;ovsdb execute execution positive;
1040;ovsdb-execution.at:1099;insert row, query table;ovsdb execute execution positive;
1041;ovsdb-execution.at:1099;insert rows, query by value;ovsdb execute execution positive;
1042;ovsdb-execution.at:1099;insert rows, query by named-uuid;ovsdb execute execution positive;
1043;ovsdb-execution.at:1099;insert rows, update rows by value;ovsdb execute execution positive;
1044;ovsdb-execution.at:1099;insert rows, mutate rows;ovsdb execute execution positive;
1045;ovsdb-execution.at:1099;insert rows, delete by named-uuid;ovsdb execute execution positive;
1046;ovsdb-execution.at:1099;insert rows, delete rows by value;ovsdb execute execution positive;
1047;ovsdb-execution.at:1099;insert rows, delete by (non-matching) value;ovsdb execute execution positive;
1048;ovsdb-execution.at:1099;insert rows, delete all;ovsdb execute execution positive;
1049;ovsdb-execution.at:1099;insert row, query table, commit;ovsdb execute execution positive;
1050;ovsdb-execution.at:1099;insert row, query table, commit durably;ovsdb execute execution positive;
1051;ovsdb-execution.at:1099;equality wait with correct rows;ovsdb execute execution positive;
1052;ovsdb-execution.at:1099;equality wait with extra row;ovsdb execute execution positive;
1053;ovsdb-execution.at:1099;equality wait with missing row;ovsdb execute execution positive;
1054;ovsdb-execution.at:1099;inequality wait with correct rows;ovsdb execute execution positive;
1055;ovsdb-execution.at:1099;inequality wait with extra row;ovsdb execute execution positive;
1056;ovsdb-execution.at:1099;inequality wait with missing row;ovsdb execute execution positive;
1057;ovsdb-execution.at:1099;insert and update constraints;ovsdb execute execution positive;
1058;ovsdb-execution.at:1099;index uniqueness checking;ovsdb execute execution positive;
1059;ovsdb-execution.at:1099;referential integrity -- simple;ovsdb execute execution positive;
1060;ovsdb-execution.at:1099;referential integrity -- mutual references;ovsdb execute execution positive;
1061;ovsdb-execution.at:1099;weak references;ovsdb execute execution positive;
1062;ovsdb-execution.at:1099;immutable columns;ovsdb execute execution positive;
1063;ovsdb-execution.at:1099;garbage collection;ovsdb execute execution positive;
1064;ovsdb-trigger.at:15;trigger fires immediately;ovsdb execute execution trigger positive;
1065;ovsdb-trigger.at:38;trigger times out;ovsdb execute execution trigger positive;
1066;ovsdb-trigger.at:61;trigger fires after delay;ovsdb execute execution trigger positive;
1067;ovsdb-trigger.at:92;delayed trigger modifies database;ovsdb execute execution trigger positive;
1068;ovsdb-trigger.at:132;one delayed trigger wakes up another;ovsdb execute execution trigger positive;
1069;ovsdb-tool.at:30;insert default row, query table;ovsdb file positive;
1070;ovsdb-tool.at:30;insert row, query table;ovsdb file positive;
1071;ovsdb-tool.at:30;insert rows, query by value;ovsdb file positive;
1072;ovsdb-tool.at:30;insert rows, query by named-uuid;ovsdb file positive;
1073;ovsdb-tool.at:30;insert rows, update rows by value;ovsdb file positive;
1074;ovsdb-tool.at:30;insert rows, mutate rows;ovsdb file positive;
1075;ovsdb-tool.at:30;insert rows, delete by named-uuid;ovsdb file positive;
1076;ovsdb-tool.at:30;insert rows, delete rows by value;ovsdb file positive;
1077;ovsdb-tool.at:30;insert rows, delete by (non-matching) value;ovsdb file positive;
1078;ovsdb-tool.at:30;insert rows, delete all;ovsdb file positive;
1079;ovsdb-tool.at:30;insert row, query table, commit;ovsdb file positive;
1080;ovsdb-tool.at:30;insert row, query table, commit durably;ovsdb file positive;
1081;ovsdb-tool.at:30;equality wait with correct rows;ovsdb file positive;
1082;ovsdb-tool.at:30;equality wait with extra row;ovsdb file positive;
1083;ovsdb-tool.at:30;equality wait with missing row;ovsdb file positive;
1084;ovsdb-tool.at:30;inequality wait with correct rows;ovsdb file positive;
1085;ovsdb-tool.at:30;inequality wait with extra row;ovsdb file positive;
1086;ovsdb-tool.at:30;inequality wait with missing row;ovsdb file positive;
1087;ovsdb-tool.at:30;insert and update constraints;ovsdb file positive;
1088;ovsdb-tool.at:30;index uniqueness checking;ovsdb file positive;
1089;ovsdb-tool.at:30;referential integrity -- simple;ovsdb file positive;
1090;ovsdb-tool.at:30;referential integrity -- mutual references;ovsdb file positive;
1091;ovsdb-tool.at:30;weak references;ovsdb file positive;
1092;ovsdb-tool.at:30;immutable columns;ovsdb file positive;
1093;ovsdb-tool.at:30;garbage collection;ovsdb file positive;
1094;ovsdb-tool.at:32;transaction comments;ovsdb file positive;
1095;ovsdb-tool.at:50;ovsdb-tool compact;ovsdb file positive;
1096;ovsdb-tool.at:158;ovsdb-tool convert -- removing a column;ovsdb file positive;
1097;ovsdb-tool.at:222;ovsdb-tool convert -- adding a column;ovsdb file positive;
1098;ovsdb-tool.at:285;ovsdb-tool schema-version;ovsdb file positive;
1099;ovsdb-tool.at:292;ovsdb-tool db-version;ovsdb file positive;
1100;ovsdb-tool.at:301;ovsdb-tool schema-cksum;ovsdb file positive;
1101;ovsdb-tool.at:308;ovsdb-tool db-cksum;ovsdb file positive;
1102;ovsdb-tool.at:317;ovsdb-tool needs-conversion (no conversion needed);ovsdb file positive;
1103;ovsdb-tool.at:326;ovsdb-tool needs-conversion (conversion needed);ovsdb file positive;
1104;ovsdb-server.at:39;insert default row, query table;ovsdb server positive unix;
1105;ovsdb-server.at:39;insert row, query table;ovsdb server positive unix;
1106;ovsdb-server.at:39;insert rows, query by value;ovsdb server positive unix;
1107;ovsdb-server.at:39;insert rows, query by named-uuid;ovsdb server positive unix;
1108;ovsdb-server.at:39;insert rows, update rows by value;ovsdb server positive unix;
1109;ovsdb-server.at:39;insert rows, mutate rows;ovsdb server positive unix;
1110;ovsdb-server.at:39;insert rows, delete by named-uuid;ovsdb server positive unix;
1111;ovsdb-server.at:39;insert rows, delete rows by value;ovsdb server positive unix;
1112;ovsdb-server.at:39;insert rows, delete by (non-matching) value;ovsdb server positive unix;
1113;ovsdb-server.at:39;insert rows, delete all;ovsdb server positive unix;
1114;ovsdb-server.at:39;insert row, query table, commit;ovsdb server positive unix;
1115;ovsdb-server.at:39;insert row, query table, commit durably;ovsdb server positive unix;
1116;ovsdb-server.at:39;equality wait with correct rows;ovsdb server positive unix;
1117;ovsdb-server.at:39;equality wait with extra row;ovsdb server positive unix;
1118;ovsdb-server.at:39;equality wait with missing row;ovsdb server positive unix;
1119;ovsdb-server.at:39;inequality wait with correct rows;ovsdb server positive unix;
1120;ovsdb-server.at:39;inequality wait with extra row;ovsdb server positive unix;
1121;ovsdb-server.at:39;inequality wait with missing row;ovsdb server positive unix;
1122;ovsdb-server.at:39;insert and update constraints;ovsdb server positive unix;
1123;ovsdb-server.at:39;index uniqueness checking;ovsdb server positive unix;
1124;ovsdb-server.at:39;referential integrity -- simple;ovsdb server positive unix;
1125;ovsdb-server.at:39;referential integrity -- mutual references;ovsdb server positive unix;
1126;ovsdb-server.at:39;weak references;ovsdb server positive unix;
1127;ovsdb-server.at:39;immutable columns;ovsdb server positive unix;
1128;ovsdb-server.at:39;garbage collection;ovsdb server positive unix;
1129;ovsdb-server.at:41;truncating corrupted database log;ovsdb server positive unix;
1130;ovsdb-server.at:88;truncating database log with bad transaction;ovsdb server positive unix;
1131;ovsdb-server.at:136;ovsdb-client get-schema-version;ovsdb server positive;
1132;ovsdb-server.at:147;database multiplexing implementation;ovsdb server positive;
1133;ovsdb-server.at:167;ovsdb-server/add-db and remove-db;ovsdb server positive;
1134;ovsdb-server.at:246;ovsdb-server/add-db with --monitor;ovsdb server positive;
1135;ovsdb-server.at:278;ovsdb-server/add-db and remove-db with --monitor;ovsdb server positive;
1136;ovsdb-server.at:308;--remote=db: implementation;ovsdb server positive;
1137;ovsdb-server.at:373;ovsdb-server/add-remote and remove-remote;ovsdb server positive;
1138;ovsdb-server.at:415;ovsdb-server/add-remote with --monitor;ovsdb server positive;
1139;ovsdb-server.at:445;ovsdb-server/add-remote and remove-remote with --monitor;ovsdb server positive;
1140;ovsdb-server.at:479;SSL db: implementation;ovsdb server positive ssl \$5;
1141;ovsdb-server.at:533;compacting online;ovsdb server compact;
1142;ovsdb-server.at:703;insert default row, query table;ovsdb server positive ssl;
1143;ovsdb-server.at:703;insert row, query table;ovsdb server positive ssl;
1144;ovsdb-server.at:703;insert rows, query by value;ovsdb server positive ssl;
1145;ovsdb-server.at:703;insert rows, query by named-uuid;ovsdb server positive ssl;
1146;ovsdb-server.at:703;insert rows, update rows by value;ovsdb server positive ssl;
1147;ovsdb-server.at:703;insert rows, mutate rows;ovsdb server positive ssl;
1148;ovsdb-server.at:703;insert rows, delete by named-uuid;ovsdb server positive ssl;
1149;ovsdb-server.at:703;insert rows, delete rows by value;ovsdb server positive ssl;
1150;ovsdb-server.at:703;insert rows, delete by (non-matching) value;ovsdb server positive ssl;
1151;ovsdb-server.at:703;insert rows, delete all;ovsdb server positive ssl;
1152;ovsdb-server.at:703;insert row, query table, commit;ovsdb server positive ssl;
1153;ovsdb-server.at:703;insert row, query table, commit durably;ovsdb server positive ssl;
1154;ovsdb-server.at:703;equality wait with correct rows;ovsdb server positive ssl;
1155;ovsdb-server.at:703;equality wait with extra row;ovsdb server positive ssl;
1156;ovsdb-server.at:703;equality wait with missing row;ovsdb server positive ssl;
1157;ovsdb-server.at:703;inequality wait with correct rows;ovsdb server positive ssl;
1158;ovsdb-server.at:703;inequality wait with extra row;ovsdb server positive ssl;
1159;ovsdb-server.at:703;inequality wait with missing row;ovsdb server positive ssl;
1160;ovsdb-server.at:703;insert and update constraints;ovsdb server positive ssl;
1161;ovsdb-server.at:703;index uniqueness checking;ovsdb server positive ssl;
1162;ovsdb-server.at:703;referential integrity -- simple;ovsdb server positive ssl;
1163;ovsdb-server.at:703;referential integrity -- mutual references;ovsdb server positive ssl;
1164;ovsdb-server.at:703;weak references;ovsdb server positive ssl;
1165;ovsdb-server.at:703;immutable columns;ovsdb server positive ssl;
1166;ovsdb-server.at:703;garbage collection;ovsdb server positive ssl;
1167;ovsdb-server.at:707;ovsdb-client get-schema-version - tcp socket;ovsdb server positive tcp;
1168;ovsdb-server.at:753;insert default row, query table;ovsdb server positive tcp;
1169;ovsdb-server.at:753;insert row, query table;ovsdb server positive tcp;
1170;ovsdb-server.at:753;insert rows, query by value;ovsdb server positive tcp;
1171;ovsdb-server.at:753;insert rows, query by named-uuid;ovsdb server positive tcp;
1172;ovsdb-server.at:753;insert rows, update rows by value;ovsdb server positive tcp;
1173;ovsdb-server.at:753;insert rows, mutate rows;ovsdb server positive tcp;
1174;ovsdb-server.at:753;insert rows, delete by named-uuid;ovsdb server positive tcp;
1175;ovsdb-server.at:753;insert rows, delete rows by value;ovsdb server positive tcp;
1176;ovsdb-server.at:753;insert rows, delete by (non-matching) value;ovsdb server positive tcp;
1177;ovsdb-server.at:753;insert rows, delete all;ovsdb server positive tcp;
1178;ovsdb-server.at:753;insert row, query table, commit;ovsdb server positive tcp;
1179;ovsdb-server.at:753;insert row, query table, commit durably;ovsdb server positive tcp;
1180;ovsdb-server.at:753;equality wait with correct rows;ovsdb server positive tcp;
1181;ovsdb-server.at:753;equality wait with extra row;ovsdb server positive tcp;
1182;ovsdb-server.at:753;equality wait with missing row;ovsdb server positive tcp;
1183;ovsdb-server.at:753;inequality wait with correct rows;ovsdb server positive tcp;
1184;ovsdb-server.at:753;inequality wait with extra row;ovsdb server positive tcp;
1185;ovsdb-server.at:753;inequality wait with missing row;ovsdb server positive tcp;
1186;ovsdb-server.at:753;insert and update constraints;ovsdb server positive tcp;
1187;ovsdb-server.at:753;index uniqueness checking;ovsdb server positive tcp;
1188;ovsdb-server.at:753;referential integrity -- simple;ovsdb server positive tcp;
1189;ovsdb-server.at:753;referential integrity -- mutual references;ovsdb server positive tcp;
1190;ovsdb-server.at:753;weak references;ovsdb server positive tcp;
1191;ovsdb-server.at:753;immutable columns;ovsdb server positive tcp;
1192;ovsdb-server.at:753;garbage collection;ovsdb server positive tcp;
1193;ovsdb-server.at:789;insert default row, query table;ovsdb server positive transient;
1194;ovsdb-server.at:789;insert row, query table;ovsdb server positive transient;
1195;ovsdb-server.at:789;insert rows, query by value;ovsdb server positive transient;
1196;ovsdb-server.at:789;insert rows, query by named-uuid;ovsdb server positive transient;
1197;ovsdb-server.at:789;insert rows, update rows by value;ovsdb server positive transient;
1198;ovsdb-server.at:789;insert rows, mutate rows;ovsdb server positive transient;
1199;ovsdb-server.at:789;insert rows, delete by named-uuid;ovsdb server positive transient;
1200;ovsdb-server.at:789;insert rows, delete rows by value;ovsdb server positive transient;
1201;ovsdb-server.at:789;insert rows, delete by (non-matching) value;ovsdb server positive transient;
1202;ovsdb-server.at:789;insert rows, delete all;ovsdb server positive transient;
1203;ovsdb-server.at:789;insert row, query table, commit;ovsdb server positive transient;
1204;ovsdb-server.at:789;insert row, query table, commit durably;ovsdb server positive transient;
1205;ovsdb-server.at:789;equality wait with correct rows;ovsdb server positive transient;
1206;ovsdb-server.at:789;equality wait with extra row;ovsdb server positive transient;
1207;ovsdb-server.at:789;equality wait with missing row;ovsdb server positive transient;
1208;ovsdb-server.at:789;inequality wait with correct rows;ovsdb server positive transient;
1209;ovsdb-server.at:789;inequality wait with extra row;ovsdb server positive transient;
1210;ovsdb-server.at:789;inequality wait with missing row;ovsdb server positive transient;
1211;ovsdb-server.at:789;insert and update constraints;ovsdb server positive transient;
1212;ovsdb-server.at:789;index uniqueness checking;ovsdb server positive transient;
1213;ovsdb-server.at:789;referential integrity -- simple;ovsdb server positive transient;
1214;ovsdb-server.at:789;referential integrity -- mutual references;ovsdb server positive transient;
1215;ovsdb-server.at:789;weak references;ovsdb server positive transient;
1216;ovsdb-server.at:789;immutable columns;ovsdb server positive transient;
1217;ovsdb-server.at:789;garbage collection;ovsdb server positive transient;
1218;ovsdb-monitor.at:42;monitor insert into empty table;ovsdb server monitor positive;
1219;ovsdb-monitor.at:54;monitor insert into populated table;ovsdb server monitor positive;
1220;ovsdb-monitor.at:72;monitor delete;ovsdb server monitor positive;
1221;ovsdb-monitor.at:90;monitor row update;ovsdb server monitor positive;
1222;ovsdb-monitor.at:110;monitor no-op row updates;ovsdb server monitor positive;
1223;ovsdb-monitor.at:133;monitor insert-and-update transaction;ovsdb server monitor positive;
1224;ovsdb-monitor.at:156;monitor insert-update-and-delete transaction;ovsdb server monitor positive;
1225;ovsdb-monitor.at:185;monitor weak reference change;ovsdb server monitor positive;
1226;ovsdb-monitor.at:220;monitor insert-update-and-delete transaction;ovsdb server monitor positive;
1227;ovsdb-monitor.at:271;monitor all operations;ovsdb server monitor positive;
1228;ovsdb-monitor.at:291;monitor initial only;ovsdb server monitor positive;
1229;ovsdb-monitor.at:298;monitor insert only;ovsdb server monitor positive;
1230;ovsdb-monitor.at:305;monitor delete only;ovsdb server monitor positive;
1231;ovsdb-monitor.at:313;monitor modify only;ovsdb server monitor positive;
1232;ovsdb-idl.at:80;simple idl, initially empty, no ops - C;ovsdb server idl positive;
1233;ovsdb-idl.at:80;simple idl, initially empty, no ops - Python;ovsdb server idl positive python;
1234;ovsdb-idl.at:80;simple idl, initially empty, no ops - Python tcp;ovsdb server idl positive python with tcp socket;
1235;ovsdb-idl.at:87;simple idl, initially empty, various ops - C;ovsdb server idl positive;
1236;ovsdb-idl.at:87;simple idl, initially empty, various ops - Python;ovsdb server idl positive python;
1237;ovsdb-idl.at:87;simple idl, initially empty, various ops - Python tcp;ovsdb server idl positive python with tcp socket;
1238;ovsdb-idl.at:165;simple idl, initially populated - C;ovsdb server idl positive;
1239;ovsdb-idl.at:165;simple idl, initially populated - Python;ovsdb server idl positive python;
1240;ovsdb-idl.at:165;simple idl, initially populated - Python tcp;ovsdb server idl positive python with tcp socket;
1241;ovsdb-idl.at:196;simple idl, writing via IDL - C;ovsdb server idl positive;
1242;ovsdb-idl.at:196;simple idl, writing via IDL - Python;ovsdb server idl positive python;
1243;ovsdb-idl.at:196;simple idl, writing via IDL - Python tcp;ovsdb server idl positive python with tcp socket;
1244;ovsdb-idl.at:227;simple idl, handling verification failure - C;ovsdb server idl positive;
1245;ovsdb-idl.at:227;simple idl, handling verification failure - Python;ovsdb server idl positive python;
1246;ovsdb-idl.at:227;simple idl, handling verification failure - Python tcp;ovsdb server idl positive python with tcp socket;
1247;ovsdb-idl.at:258;simple idl, increment operation - C;ovsdb server idl positive;
1248;ovsdb-idl.at:258;simple idl, increment operation - Python;ovsdb server idl positive python;
1249;ovsdb-idl.at:258;simple idl, increment operation - Python tcp;ovsdb server idl positive python with tcp socket;
1250;ovsdb-idl.at:270;simple idl, aborting - C;ovsdb server idl positive;
1251;ovsdb-idl.at:270;simple idl, aborting - Python;ovsdb server idl positive python;
1252;ovsdb-idl.at:270;simple idl, aborting - Python tcp;ovsdb server idl positive python with tcp socket;
1253;ovsdb-idl.at:284;simple idl, destroy without commit or abort - C;ovsdb server idl positive;
1254;ovsdb-idl.at:284;simple idl, destroy without commit or abort - Python;ovsdb server idl positive python;
1255;ovsdb-idl.at:284;simple idl, destroy without commit or abort - Python tcp;ovsdb server idl positive python with tcp socket;
1256;ovsdb-idl.at:298;self-linking idl, consistent ops - C;ovsdb server idl positive;
1257;ovsdb-idl.at:298;self-linking idl, consistent ops - Python;ovsdb server idl positive python;
1258;ovsdb-idl.at:298;self-linking idl, consistent ops - Python tcp;ovsdb server idl positive python with tcp socket;
1259;ovsdb-idl.at:342;self-linking idl, inconsistent ops - C;ovsdb server idl positive;
1260;ovsdb-idl.at:342;self-linking idl, inconsistent ops - Python;ovsdb server idl positive python;
1261;ovsdb-idl.at:342;self-linking idl, inconsistent ops - Python tcp;ovsdb server idl positive python with tcp socket;
1262;ovsdb-idl.at:390;self-linking idl, sets - C;ovsdb server idl positive;
1263;ovsdb-idl.at:390;self-linking idl, sets - Python;ovsdb server idl positive python;
1264;ovsdb-idl.at:390;self-linking idl, sets - Python tcp;ovsdb server idl positive python with tcp socket;
1265;ovsdb-idl.at:440;external-linking idl, consistent ops - C;ovsdb server idl positive;
1266;ovsdb-idl.at:440;external-linking idl, consistent ops - Python;ovsdb server idl positive python;
1267;ovsdb-idl.at:440;external-linking idl, consistent ops - Python tcp;ovsdb server idl positive python with tcp socket;
1268;ovsdb-idl.at:458;external-linking idl, insert ops - Python;ovsdb server idl positive python;
1269;ovsdb-idl.at:468;getattr idl, insert ops - Python;ovsdb server idl positive python;
1270;ovs-vsctl.at:145;ovs-vsctl connection retry;;
1271;ovs-vsctl.at:179;add-br a;ovs-vsctl;
1272;ovs-vsctl.at:189;add-br a, add-br a;ovs-vsctl;
1273;ovs-vsctl.at:199;add-br a, add-br b;ovs-vsctl;
1274;ovs-vsctl.at:216;add-br a, add-br b, del-br a;ovs-vsctl;
1275;ovs-vsctl.at:227;add-br a, del-br a, add-br a;ovs-vsctl;
1276;ovs-vsctl.at:247;add-br a, add-port a a1, add-port a a2;ovs-vsctl;
1277;ovs-vsctl.at:261;add-br a, add-port a a1, add-port a a1;ovs-vsctl;
1278;ovs-vsctl.at:273;add-br a b, add-port a a1, add-port b b1, del-br a;ovs-vsctl;
1279;ovs-vsctl.at:295;add-br a, add-bond a bond0 a1 a2 a3;ovs-vsctl;
1280;ovs-vsctl.at:313;add-br a b, add-port a a1, add-port b b1, del-port a a1;ovs-vsctl;
1281;ovs-vsctl.at:344;add-br a, add-bond a bond0 a1 a2 a3, del-port bond0;ovs-vsctl;
1282;ovs-vsctl.at:361;external IDs;ovs-vsctl;
1283;ovs-vsctl.at:417;controllers;controller ovs-vsctl;
1284;ovs-vsctl.at:544;simple fake bridge (VLAN 9);ovs-vsctl fake-bridge;
1285;ovs-vsctl.at:544;list bridges -- real and fake (VLAN 9);ovs-vsctl fake-bridge;
1286;ovs-vsctl.at:544;simple fake bridge + del-br fake bridge (VLAN 9);ovs-vsctl fake-bridge;
1287;ovs-vsctl.at:544;simple fake bridge + del-br real bridge (VLAN 9);ovs-vsctl fake-bridge;
1288;ovs-vsctl.at:544;simple fake bridge + external IDs (VLAN 9);ovs-vsctl fake-bridge;
1289;ovs-vsctl.at:545;simple fake bridge (VLAN 0);ovs-vsctl fake-bridge;
1290;ovs-vsctl.at:545;list bridges -- real and fake (VLAN 0);ovs-vsctl fake-bridge;
1291;ovs-vsctl.at:545;simple fake bridge + del-br fake bridge (VLAN 0);ovs-vsctl fake-bridge;
1292;ovs-vsctl.at:545;simple fake bridge + del-br real bridge (VLAN 0);ovs-vsctl fake-bridge;
1293;ovs-vsctl.at:545;simple fake bridge + external IDs (VLAN 0);ovs-vsctl fake-bridge;
1294;ovs-vsctl.at:557;fake bridge on bond;ovs-vsctl fake-bridge;
1295;ovs-vsctl.at:569;fake bridge on bond + del-br fake bridge;ovs-vsctl fake-bridge;
1296;ovs-vsctl.at:581;fake bridge on bond + del-br real bridge;ovs-vsctl fake-bridge;
1297;ovs-vsctl.at:593;managers;manager ovs-vsctl;
1298;ovs-vsctl.at:619;database commands -- positive checks;ovs-vsctl;
1299;ovs-vsctl.at:725;database commands -- negative checks;ovs-vsctl;
1300;ovs-vsctl.at:847;database commands -- conditions;ovs-vsctl;
1301;ovs-vsctl.at:982;database commands -- wait-until immediately true;ovs-vsctl;
1302;ovs-vsctl.at:1001;database commands -- wait-until must wait;ovs-vsctl;
1303;ovs-vsctl.at:1035;--id option on create, get commands;ovs-vsctl;
1304;ovs-vsctl.at:1084;unreferenced record warnings;ovs-vsctl;
1305;ovs-vsctl.at:1118;created row UUID is wrong in same execution;ovs-vsctl;
1306;ovs-vsctl.at:1150;--all option on destroy command;ovs-vsctl;
1307;ovs-vsctl.at:1198;add-port -- reserved names 1;;
1308;ovs-vsctl.at:1224;add-port -- reserved names 2;;
1309;ovs-monitor-ipsec.at:3;ovs-monitor-ipsec;;
1310;ovs-xapi-sync.at:3;ovs-xapi-sync;;
1311;interface-reconfigure.at:697;non-VLAN, non-bond;interface-reconfigure;
1312;interface-reconfigure.at:772;VLAN, non-bond;interface-reconfigure;
1313;interface-reconfigure.at:845;Bond, non-VLAN;interface-reconfigure;
1314;interface-reconfigure.at:933;VLAN on bond;interface-reconfigure;
1315;stp.at:3;STP example from IEEE 802.1D-1998;stp;
1316;stp.at:27;STP example from IEEE 802.1D-2004 figures 17.4 and 17.5;stp;
1317;stp.at:70;STP example from IEEE 802.1D-2004 figure 17.6;stp;
1318;stp.at:96;STP example from IEEE 802.1D-2004 figure 17.7;stp;
1319;stp.at:125;STP.io.1.1: Link Failure;stp;
1320;stp.at:164;STP.io.1.2: Repeated Network;stp;
1321;stp.at:188;STP.io.1.4: Network Initialization;stp;
1322;stp.at:214;STP.io.1.5: Topology Change;stp;
1323;stp.at:267;STP.op.1.1 and STP.op.1.2;stp;
1324;stp.at:281;STP.op.1.4: All Ports Initialized to Designated Ports;stp;
1325;stp.at:302;STP.op.3.1: Root Bridge Selection: Root ID Values;stp;
1326;stp.at:322;STP.op.3.3: Root Bridge Selection: Bridge ID Values;stp;
1327;stp.at:345;STP.op.3.3: Root Bridge Selection: Bridge ID Values;stp;
1328;vlog.at:3;vlog - Python;;
1329;vlog.at:106;vlog - vlog/reopen - Python;;
1330;vlog.at:135;vlog - vlog/reopen without log file - Python;;
1331;vlog.at:153;vlog - vlog/reopen can't reopen log file - Python;;
1332;vlog.at:185;vlog - vlog/set and vlog/list - Python;;
"
# List of the all the test groups.
at_groups_all=`$as_echo "$at_help_all" | sed 's/;.*//'`

# at_fn_validate_ranges NAME...
# -----------------------------
# Validate and normalize the test group number contained in each variable
# NAME. Leading zeroes are treated as decimal.
at_fn_validate_ranges ()
{
  for at_grp
  do
    eval at_value=\$$at_grp
    if test $at_value -lt 1 || test $at_value -gt 1332; then
      $as_echo "invalid test group: $at_value" >&2
      exit 1
    fi
    case $at_value in
      0*) # We want to treat leading 0 as decimal, like expr and test, but
	  # AS_VAR_ARITH treats it as octal if it uses $(( )).
	  # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the
	  # expr fork, but it is not worth the effort to determine if the
	  # shell supports XSI when the user can just avoid leading 0.
	  eval $at_grp='`expr $at_value + 0`' ;;
    esac
  done
}

at_prev=
for at_option
do
  # If the previous option needs an argument, assign it.
  if test -n "$at_prev"; then
    at_option=$at_prev=$at_option
    at_prev=
  fi

  case $at_option in
  *=?*) at_optarg=`expr "X$at_option" : '[^=]*=\(.*\)'` ;;
  *)    at_optarg= ;;
  esac

  # Accept the important Cygnus configure options, so we can diagnose typos.

  case $at_option in
    --help | -h )
	at_help_p=:
	;;

    --list | -l )
	at_list_p=:
	;;

    --version | -V )
	at_version_p=:
	;;

    --clean | -c )
	at_clean=:
	;;

    --color )
	at_color=always
	;;
    --color=* )
	case $at_optarg in
	no | never | none) at_color=never ;;
	auto | tty | if-tty) at_color=auto ;;
	always | yes | force) at_color=always ;;
	*) at_optname=`echo " $at_option" | sed 's/^ //; s/=.*//'`
	   as_fn_error $? "unrecognized argument to $at_optname: $at_optarg" ;;
	esac
	;;

    --debug | -d )
	at_debug_p=:
	;;

    --errexit | -e )
	at_debug_p=:
	at_errexit_p=:
	;;

    --verbose | -v )
	at_verbose=; at_quiet=:
	;;

    --trace | -x )
	at_traceon='set -x'
	at_trace_echo=echo
	at_check_filter_trace=at_fn_filter_trace
	;;

    [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9])
	at_fn_validate_ranges at_option
	as_fn_append at_groups "$at_option$as_nl"
	;;

    # Ranges
    [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-)
	at_range_start=`echo $at_option |tr -d X-`
	at_fn_validate_ranges at_range_start
	at_range=`$as_echo "$at_groups_all" | \
	  sed -ne '/^'$at_range_start'$/,$p'`
	as_fn_append at_groups "$at_range$as_nl"
	;;

    -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9])
	at_range_end=`echo $at_option |tr -d X-`
	at_fn_validate_ranges at_range_end
	at_range=`$as_echo "$at_groups_all" | \
	  sed -ne '1,/^'$at_range_end'$/p'`
	as_fn_append at_groups "$at_range$as_nl"
	;;

    [0-9]-[0-9] | [0-9]-[0-9][0-9] | [0-9]-[0-9][0-9][0-9] | \
    [0-9]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \
    [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \
    [0-9][0-9][0-9]-[0-9][0-9][0-9] | \
    [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \
    [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] )
	at_range_start=`expr $at_option : '\(.*\)-'`
	at_range_end=`expr $at_option : '.*-\(.*\)'`
	if test $at_range_start -gt $at_range_end; then
	  at_tmp=$at_range_end
	  at_range_end=$at_range_start
	  at_range_start=$at_tmp
	fi
	at_fn_validate_ranges at_range_start at_range_end
	at_range=`$as_echo "$at_groups_all" | \
	  sed -ne '/^'$at_range_start'$/,/^'$at_range_end'$/p'`
	as_fn_append at_groups "$at_range$as_nl"
	;;

    # Directory selection.
    --directory | -C )
	at_prev=--directory
	;;
    --directory=* )
	at_change_dir=:
	at_dir=$at_optarg
	if test x- = "x$at_dir" ; then
	  at_dir=./-
	fi
	;;

    # Parallel execution.
    --jobs | -j )
	at_jobs=0
	;;
    --jobs=* | -j[0-9]* )
	if test -n "$at_optarg"; then
	  at_jobs=$at_optarg
	else
	  at_jobs=`expr X$at_option : 'X-j\(.*\)'`
	fi
	case $at_jobs in *[!0-9]*)
	  at_optname=`echo " $at_option" | sed 's/^ //; s/[0-9=].*//'`
	  as_fn_error $? "non-numeric argument to $at_optname: $at_jobs" ;;
	esac
	;;

    # Keywords.
    --keywords | -k )
	at_prev=--keywords
	;;
    --keywords=* )
	at_groups_selected=$at_help_all
	at_save_IFS=$IFS
	IFS=,
	set X $at_optarg
	shift
	IFS=$at_save_IFS
	for at_keyword
	do
	  at_invert=
	  case $at_keyword in
	  '!'*)
	    at_invert="-v"
	    at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'`
	    ;;
	  esac
	  # It is on purpose that we match the test group titles too.
	  at_groups_selected=`$as_echo "$at_groups_selected" |
	      grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"`
	done
	# Smash the keywords.
	at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//'`
	as_fn_append at_groups "$at_groups_selected$as_nl"
	;;
    --recheck)
	at_recheck=:
	;;

    *=*)
	at_envvar=`expr "x$at_option" : 'x\([^=]*\)='`
	# Reject names that are not valid shell variable names.
	case $at_envvar in
	  '' | [0-9]* | *[!_$as_cr_alnum]* )
	    as_fn_error $? "invalid variable name: \`$at_envvar'" ;;
	esac
	at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"`
	# Export now, but save eval for later and for debug scripts.
	export $at_envvar
	as_fn_append at_debug_args " $at_envvar='$at_value'"
	;;

     *) $as_echo "$as_me: invalid option: $at_option" >&2
	$as_echo "Try \`$0 --help' for more information." >&2
	exit 1
	;;
  esac
done

# Verify our last option didn't require an argument
if test -n "$at_prev"; then :
  as_fn_error $? "\`$at_prev' requires an argument"
fi

# The file containing the suite.
at_suite_log=$at_dir/$as_me.log

# Selected test groups.
if test -z "$at_groups$at_recheck"; then
  at_groups=$at_groups_all
else
  if test -n "$at_recheck" && test -r "$at_suite_log"; then
    at_oldfails=`sed -n '
      /^Failed tests:$/,/^Skipped tests:$/{
	s/^[ ]*\([1-9][0-9]*\):.*/\1/p
      }
      /^Unexpected passes:$/,/^## Detailed failed tests/{
	s/^[ ]*\([1-9][0-9]*\):.*/\1/p
      }
      /^## Detailed failed tests/q
      ' "$at_suite_log"`
    as_fn_append at_groups "$at_oldfails$as_nl"
  fi
  # Sort the tests, removing duplicates.
  at_groups=`$as_echo "$at_groups" | sort -nu | sed '/^$/d'`
fi

if test x"$at_color" = xalways \
   || { test x"$at_color" = xauto && test -t 1; }; then
  at_red=`printf '\033[0;31m'`
  at_grn=`printf '\033[0;32m'`
  at_lgn=`printf '\033[1;32m'`
  at_blu=`printf '\033[1;34m'`
  at_std=`printf '\033[m'`
else
  at_red= at_grn= at_lgn= at_blu= at_std=
fi

# Help message.
if $at_help_p; then
  cat <<_ATEOF || at_write_fail=1
Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS]

Run all the tests, or the selected TESTS, given by numeric ranges, and
save a detailed log file.  Upon failure, create debugging scripts.

Do not change environment variables directly.  Instead, set them via
command line arguments.  Set \`AUTOTEST_PATH' to select the executables
to exercise.  Each relative directory is expanded as build and source
directories relative to the top level of this distribution.
E.g., from within the build directory /tmp/foo-1.0, invoking this:

  $ $0 AUTOTEST_PATH=bin

is equivalent to the following, assuming the source directory is /src/foo-1.0:

  PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH $0
_ATEOF
cat <<_ATEOF || at_write_fail=1

Operation modes:
  -h, --help     print the help message, then exit
  -V, --version  print version number, then exit
  -c, --clean    remove all the files this test suite might create and exit
  -l, --list     describes all the tests, or the selected TESTS
_ATEOF
cat <<_ATEOF || at_write_fail=1

Execution tuning:
  -C, --directory=DIR
                 change to directory DIR before starting
      --color[=never|auto|always]
                 enable colored test results on terminal, or always
  -j, --jobs[=N]
                 Allow N jobs at once; infinite jobs with no arg (default 1)
  -k, --keywords=KEYWORDS
                 select the tests matching all the comma-separated KEYWORDS
                 multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD
      --recheck  select all tests that failed or passed unexpectedly last time
  -e, --errexit  abort as soon as a test fails; implies --debug
  -v, --verbose  force more detailed output
                 default for debugging scripts
  -d, --debug    inhibit clean up and top-level logging
                 default for debugging scripts
  -x, --trace    enable tests shell tracing
_ATEOF
cat <<_ATEOF || at_write_fail=1

Report bugs to <ovs-bugs@openvswitch.org>.
_ATEOF
  exit $at_write_fail
fi

# List of tests.
if $at_list_p; then
  cat <<_ATEOF || at_write_fail=1
openvswitch 2.0.2 test suite test groups:

 NUM: FILE-NAME:LINE     TEST-GROUP-NAME
      KEYWORDS

_ATEOF
  # Pass an empty line as separator between selected groups and help.
  $as_echo "$at_groups$as_nl$as_nl$at_help_all" |
    awk 'NF == 1 && FS != ";" {
	   selected[$ 1] = 1
	   next
	 }
	 /^$/ { FS = ";" }
	 NF > 0 {
	   if (selected[$ 1]) {
	     printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3
	     if ($ 4) {
	       lmax = 79
	       indent = "     "
	       line = indent
	       len = length (line)
	       n = split ($ 4, a, " ")
	       for (i = 1; i <= n; i++) {
		 l = length (a[i]) + 1
		 if (i > 1 && len + l > lmax) {
		   print line
		   line = indent " " a[i]
		   len = length (line)
		 } else {
		   line = line " " a[i]
		   len += l
		 }
	       }
	       if (n)
		 print line
	     }
	   }
	 }' || at_write_fail=1
  exit $at_write_fail
fi
if $at_version_p; then
  $as_echo "$as_me (openvswitch 2.0.2)" &&
  cat <<\_ATEOF || at_write_fail=1

Copyright (C) 2010 Free Software Foundation, Inc.
This test suite is free software; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.

Copyright (c) 2009, 2010, 2011, 2012, 2013 Nicira, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at:

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
_ATEOF
  exit $at_write_fail
fi

# Should we print banners?  Yes if more than one test is run.
case $at_groups in #(
  *$as_nl* )
      at_print_banners=: ;; #(
  * ) at_print_banners=false ;;
esac
# Text for banner N, set to a single space once printed.
# Banner 1. bfd.at:1
# Category starts at test group 1.
at_banner_text_1="bfd"
# Banner 2. cfm.at:1
# Category starts at test group 10.
at_banner_text_2="cfm"
# Banner 3. lacp.at:1
# Category starts at test group 11.
at_banner_text_3="lacp"
# Banner 4. library.at:1
# Category starts at test group 14.
at_banner_text_4="library unit tests"
# Banner 5. heap.at:1
# Category starts at test group 41.
at_banner_text_5="heap library"
# Banner 6. bundle.at:1
# Category starts at test group 47.
at_banner_text_6="bundle link selection"
# Banner 7. classifier.at:1
# Category starts at test group 56.
at_banner_text_7="flow classifier unit tests"
# Banner 8. classifier.at:16
# Category starts at test group 64.
at_banner_text_8="miniflow unit tests"
# Banner 9. check-structs.at:1
# Category starts at test group 67.
at_banner_text_9="struct alignment checker unit tests"
# Banner 10. daemon.at:1
# Category starts at test group 71.
at_banner_text_10="daemon unit tests - C"
# Banner 11. daemon-py.at:1
# Category starts at test group 77.
at_banner_text_11="daemon unit tests - Python"
# Banner 12. ofp-actions.at:1
# Category starts at test group 86.
at_banner_text_12="OpenFlow actions"
# Banner 13. ofp-print.at:1
# Category starts at test group 89.
at_banner_text_13="ofp-print"
# Banner 14. ofp-util.at:1
# Category starts at test group 227.
at_banner_text_14="OpenFlow utilities"
# Banner 15. ofp-errors.at:1
# Category starts at test group 228.
at_banner_text_15="ofp-errors tests"
# Banner 16. ovs-ofctl.at:1
# Category starts at test group 241.
at_banner_text_16="ovs-ofctl"
# Banner 17. odp.at:1
# Category starts at test group 266.
at_banner_text_17="datapath parsing and formatting"
# Banner 18. multipath.at:1
# Category starts at test group 269.
at_banner_text_18="multipath link selection"
# Banner 19. learn.at:1
# Category starts at test group 278.
at_banner_text_19="learning action"
# Banner 20. vconn.at:21
# Category starts at test group 290.
at_banner_text_20="vconn library -- unix class"
# Banner 21. vconn.at:22
# Category starts at test group 298.
at_banner_text_21="vconn library -- tcp class"
# Banner 22. vconn.at:23
# Category starts at test group 306.
at_banner_text_22="vconn library -- ssl class"
# Banner 23. file_name.at:1
# Category starts at test group 314.
at_banner_text_23="test dir_name and base_name functions"
# Banner 24. file_name.at:28
# Category starts at test group 327.
at_banner_text_24="test follow_symlinks function"
# Banner 25. aes128.at:1
# Category starts at test group 335.
at_banner_text_25="AES-128 unit tests"
# Banner 26. unixctl-py.at:1
# Category starts at test group 358.
at_banner_text_26="unixctl"
# Banner 27. uuid.at:1
# Category starts at test group 364.
at_banner_text_27="UUID unit tests"
# Banner 28. json.at:63
# Category starts at test group 365.
at_banner_text_28="JSON -- arrays"
# Banner 29. json.at:78
# Category starts at test group 379.
at_banner_text_29="JSON -- strings"
# Banner 30. json.at:147
# Category starts at test group 413.
at_banner_text_30="JSON -- objects"
# Banner 31. json.at:169
# Category starts at test group 429.
at_banner_text_31="JSON -- literal names"
# Banner 32. json.at:183
# Category starts at test group 443.
at_banner_text_32="JSON -- numbers"
# Banner 33. json.at:276
# Category starts at test group 481.
at_banner_text_33="JSON -- RFC 4627 examples"
# Banner 34. json.at:319
# Category starts at test group 485.
at_banner_text_34="JSON -- pathological cases"
# Banner 35. json.at:342
# Category starts at test group 496.
at_banner_text_35="JSON -- multiple inputs"
# Banner 36. jsonrpc.at:1
# Category starts at test group 508.
at_banner_text_36="JSON-RPC - C"
# Banner 37. jsonrpc-py.at:1
# Category starts at test group 511.
at_banner_text_37="JSON-RPC - Python"
# Banner 38. timeval.at:1
# Category starts at test group 514.
at_banner_text_38="timeval unit tests"
# Banner 39. tunnel.at:1
# Category starts at test group 516.
at_banner_text_39="tunnel"
# Banner 40. lockfile.at:1
# Category starts at test group 527.
at_banner_text_40="lockfile unit tests"
# Banner 41. reconnect.at:1
# Category starts at test group 537.
at_banner_text_41="reconnect library"
# Banner 42. ovs-vswitchd.at:1
# Category starts at test group 561.
at_banner_text_42="ovs-vswitchd"
# Banner 43. ofproto.at:1
# Category starts at test group 562.
at_banner_text_43="ofproto"
# Banner 44. ofproto-dpif.at:1
# Category starts at test group 618.
at_banner_text_44="ofproto-dpif"
# Banner 45. ofproto-dpif.at:2286
# Category starts at test group 654.
at_banner_text_45="ofproto-dpif -- megaflows"
# Banner 46. vlan-splinters.at:1
# Category starts at test group 677.
at_banner_text_46="VLAN splinters"
# Banner 47. ovsdb-log.at:1
# Category starts at test group 678.
at_banner_text_47="OVSDB -- logging"
# Banner 48. ovsdb-types.at:1
# Category starts at test group 689.
at_banner_text_48="OVSDB -- atomic types"
# Banner 49. ovsdb-types.at:16
# Category starts at test group 701.
at_banner_text_49="OVSDB -- base types"
# Banner 50. ovsdb-types.at:90
# Category starts at test group 747.
at_banner_text_50="OVSDB -- simple types"
# Banner 51. ovsdb-types.at:112
# Category starts at test group 765.
at_banner_text_51="OVSDB -- set types"
# Banner 52. ovsdb-types.at:144
# Category starts at test group 783.
at_banner_text_52="OVSDB -- map types"
# Banner 53. ovsdb-data.at:1
# Category starts at test group 797.
at_banner_text_53="OVSDB -- default values"
# Banner 54. ovsdb-data.at:74
# Category starts at test group 801.
at_banner_text_54="OVSDB -- atoms without constraints"
# Banner 55. ovsdb-data.at:293
# Category starts at test group 843.
at_banner_text_55="OVSDB -- atoms with enum constraints"
# Banner 56. ovsdb-data.at:366
# Category starts at test group 853.
at_banner_text_56="OVSDB -- atoms with other constraints"
# Banner 57. ovsdb-data.at:489
# Category starts at test group 869.
at_banner_text_57="OSVDB -- simple data"
# Banner 58. ovsdb-data.at:539
# Category starts at test group 881.
at_banner_text_58="OVSDB -- set data"
# Banner 59. ovsdb-data.at:683
# Category starts at test group 908.
at_banner_text_59="OVSDB -- map data"
# Banner 60. ovsdb-column.at:1
# Category starts at test group 926.
at_banner_text_60="OVSDB -- columns"
# Banner 61. ovsdb-table.at:1
# Category starts at test group 932.
at_banner_text_61="OVSDB -- tables"
# Banner 62. ovsdb-row.at:1
# Category starts at test group 960.
at_banner_text_62="OVSDB -- rows"
# Banner 63. ovsdb-schema.at:1
# Category starts at test group 971.
at_banner_text_63="OVSDB -- schemas"
# Banner 64. ovsdb-condition.at:1
# Category starts at test group 981.
at_banner_text_64="OVSDB -- conditions"
# Banner 65. ovsdb-mutation.at:1
# Category starts at test group 995.
at_banner_text_65="OVSDB -- mutations"
# Banner 66. ovsdb-query.at:1
# Category starts at test group 1014.
at_banner_text_66="OVSDB -- queries"
# Banner 67. ovsdb-transaction.at:1
# Category starts at test group 1021.
at_banner_text_67="OVSDB -- transactions"
# Banner 68. ovsdb-execution.at:1
# Category starts at test group 1036.
at_banner_text_68="OVSDB -- execution"
# Banner 69. ovsdb-trigger.at:1
# Category starts at test group 1064.
at_banner_text_69="OVSDB -- triggers"
# Banner 70. ovsdb-tool.at:1
# Category starts at test group 1069.
at_banner_text_70="OVSDB -- ovsdb-tool"
# Banner 71. ovsdb-server.at:1
# Category starts at test group 1104.
at_banner_text_71="OVSDB -- ovsdb-server transactions (Unix sockets)"
# Banner 72. ovsdb-server.at:666
# Category starts at test group 1142.
at_banner_text_72="OVSDB -- ovsdb-server transactions (SSL sockets)"
# Banner 73. ovsdb-server.at:705
# Category starts at test group 1167.
at_banner_text_73="OVSDB -- ovsdb-server transactions (TCP sockets)"
# Banner 74. ovsdb-server.at:755
# Category starts at test group 1193.
at_banner_text_74="OVSDB -- transactions on transient ovsdb-server"
# Banner 75. ovsdb-monitor.at:1
# Category starts at test group 1218.
at_banner_text_75="OVSDB -- ovsdb-server monitors"
# Banner 76. ovsdb-monitor.at:249
# Category starts at test group 1227.
at_banner_text_76="ovsdb -- ovsdb-monitor monitor only some operations"
# Banner 77. ovsdb-idl.at:1
# Category starts at test group 1232.
at_banner_text_77="OVSDB -- interface description language (IDL)"
# Banner 78. ovs-vsctl.at:143
# Category starts at test group 1270.
at_banner_text_78="ovs-vsctl unit tests"
# Banner 79. ovs-vsctl.at:177
# Category starts at test group 1271.
at_banner_text_79="ovs-vsctl unit tests -- real bridges"
# Banner 80. ovs-vsctl.at:544
# Category starts at test group 1284.
at_banner_text_80="ovs-vsctl unit tests -- fake bridges (VLAN 9)"
# Banner 81. ovs-vsctl.at:545
# Category starts at test group 1289.
at_banner_text_81="ovs-vsctl unit tests -- fake bridges (VLAN 0)"
# Banner 82. ovs-vsctl.at:591
# Category starts at test group 1297.
at_banner_text_82="ovs-vsctl unit tests -- manager commands"
# Banner 83. ovs-vsctl.at:617
# Category starts at test group 1298.
at_banner_text_83="ovs-vsctl unit tests -- database commands"
# Banner 84. ovs-vsctl.at:1196
# Category starts at test group 1307.
at_banner_text_84="ovs-vsctl add-port -- reserved port names"
# Banner 85. ovs-monitor-ipsec.at:1
# Category starts at test group 1309.
at_banner_text_85="ovs-monitor-ipsec"
# Banner 86. ovs-xapi-sync.at:1
# Category starts at test group 1310.
at_banner_text_86="ovs-xapi-sync"
# Banner 87. interface-reconfigure.at:695
# Category starts at test group 1311.
at_banner_text_87="interface-reconfigure"
# Banner 88. stp.at:1
# Category starts at test group 1315.
at_banner_text_88="Spanning Tree Protocol unit tests"
# Banner 89. vlog.at:1
# Category starts at test group 1328.
at_banner_text_89="vlog"

# Take any -C into account.
if $at_change_dir ; then
  test x != "x$at_dir" && cd "$at_dir" \
    || as_fn_error $? "unable to change directory"
  at_dir=`pwd`
fi

# Load the config files for any default variable assignments.
for at_file in atconfig atlocal
do
  test -r $at_file || continue
  . ./$at_file || as_fn_error $? "invalid content: $at_file"
done

# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix:
: "${at_top_build_prefix=$at_top_builddir}"

# Perform any assignments requested during argument parsing.
eval "$at_debug_args"

# atconfig delivers names relative to the directory the test suite is
# in, but the groups themselves are run in testsuite-dir/group-dir.
if test -n "$at_top_srcdir"; then
  builddir=../..
  for at_dir_var in srcdir top_srcdir top_build_prefix
  do
    eval at_val=\$at_$at_dir_var
    case $at_val in
      [\\/$]* | ?:[\\/]* ) at_prefix= ;;
      *) at_prefix=../../ ;;
    esac
    eval "$at_dir_var=\$at_prefix\$at_val"
  done
fi

## -------------------- ##
## Directory structure. ##
## -------------------- ##

# This is the set of directories and files used by this script
# (non-literals are capitalized):
#
# TESTSUITE         - the testsuite
# TESTSUITE.log     - summarizes the complete testsuite run
# TESTSUITE.dir/    - created during a run, remains after -d or failed test
# + at-groups/      - during a run: status of all groups in run
# | + NNN/          - during a run: meta-data about test group NNN
# | | + check-line  - location (source file and line) of current AT_CHECK
# | | + status      - exit status of current AT_CHECK
# | | + stdout      - stdout of current AT_CHECK
# | | + stder1      - stderr, including trace
# | | + stderr      - stderr, with trace filtered out
# | | + test-source - portion of testsuite that defines group
# | | + times       - timestamps for computing duration
# | | + pass        - created if group passed
# | | + xpass       - created if group xpassed
# | | + fail        - created if group failed
# | | + xfail       - created if group xfailed
# | | + skip        - created if group skipped
# + at-stop         - during a run: end the run if this file exists
# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction
# + 0..NNN/         - created for each group NNN, remains after -d or failed test
# | + TESTSUITE.log - summarizes the group results
# | + ...           - files created during the group

# The directory the whole suite works in.
# Should be absolute to let the user `cd' at will.
at_suite_dir=$at_dir/$as_me.dir
# The file containing the suite ($at_dir might have changed since earlier).
at_suite_log=$at_dir/$as_me.log
# The directory containing helper files per test group.
at_helper_dir=$at_suite_dir/at-groups
# Stop file: if it exists, do not start new jobs.
at_stop_file=$at_suite_dir/at-stop
# The fifo used for the job dispatcher.
at_job_fifo=$at_suite_dir/at-job-fifo

if $at_clean; then
  test -d "$at_suite_dir" &&
    find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
  rm -f -r "$at_suite_dir" "$at_suite_log"
  exit $?
fi

# Don't take risks: use only absolute directories in PATH.
#
# For stand-alone test suites (ie. atconfig was not found),
# AUTOTEST_PATH is relative to `.'.
#
# For embedded test suites, AUTOTEST_PATH is relative to the top level
# of the package.  Then expand it into build/src parts, since users
# may create executables in both places.
AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"`
at_path=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $AUTOTEST_PATH $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -n "$at_path" && as_fn_append at_path $PATH_SEPARATOR
case $as_dir in
  [\\/]* | ?:[\\/]* )
    as_fn_append at_path "$as_dir"
    ;;
  * )
    if test -z "$at_top_build_prefix"; then
      # Stand-alone test suite.
      as_fn_append at_path "$as_dir"
    else
      # Embedded test suite.
      as_fn_append at_path "$at_top_build_prefix$as_dir$PATH_SEPARATOR"
      as_fn_append at_path "$at_top_srcdir/$as_dir"
    fi
    ;;
esac
  done
IFS=$as_save_IFS


# Now build and simplify PATH.
#
# There might be directories that don't exist, but don't redirect
# builtins' (eg., cd) stderr directly: Ultrix's sh hates that.
at_new_path=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $at_path
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -d "$as_dir" || continue
case $as_dir in
  [\\/]* | ?:[\\/]* ) ;;
  * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;;
esac
case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in
  *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;;
  $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;;
  *) as_fn_append at_new_path "$PATH_SEPARATOR$as_dir" ;;
esac
  done
IFS=$as_save_IFS

PATH=$at_new_path
export PATH

# Setting up the FDs.



# 5 is the log file.  Not to be overwritten if `-d'.
if $at_debug_p; then
  at_suite_log=/dev/null
else
  : >"$at_suite_log"
fi
exec 5>>"$at_suite_log"

# Banners and logs.
$as_echo "## ----------------------------- ##
## openvswitch 2.0.2 test suite. ##
## ----------------------------- ##"
{
  $as_echo "## ----------------------------- ##
## openvswitch 2.0.2 test suite. ##
## ----------------------------- ##"
  echo

  $as_echo "$as_me: command line was:"
  $as_echo "  \$ $0 $at_cli_args"
  echo

  # If ChangeLog exists, list a few lines in case it might help determining
  # the exact version.
  if test -n "$at_top_srcdir" && test -f "$at_top_srcdir/ChangeLog"; then
    $as_echo "## ---------- ##
## ChangeLog. ##
## ---------- ##"
    echo
    sed 's/^/| /;10q' "$at_top_srcdir/ChangeLog"
    echo
  fi

  {
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##

hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`

/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`

/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`

_ASUNAME

as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    $as_echo "PATH: $as_dir"
  done
IFS=$as_save_IFS

}
  echo

  # Contents of the config files.
  for at_file in atconfig atlocal
  do
    test -r $at_file || continue
    $as_echo "$as_me: $at_file:"
    sed 's/^/| /' $at_file
    echo
  done
} >&5


## ------------------------- ##
## Autotest shell functions. ##
## ------------------------- ##

# at_fn_banner NUMBER
# -------------------
# Output banner NUMBER, provided the testsuite is running multiple groups and
# this particular banner has not yet been printed.
at_fn_banner ()
{
  $at_print_banners || return 0
  eval at_banner_text=\$at_banner_text_$1
  test "x$at_banner_text" = "x " && return 0
  eval "at_banner_text_$1=\" \""
  if test -z "$at_banner_text"; then
    $at_first || echo
  else
    $as_echo "$as_nl$at_banner_text$as_nl"
  fi
} # at_fn_banner

# at_fn_check_prepare_notrace REASON LINE
# ---------------------------------------
# Perform AT_CHECK preparations for the command at LINE for an untraceable
# command; REASON is the reason for disabling tracing.
at_fn_check_prepare_notrace ()
{
  $at_trace_echo "Not enabling shell tracing (command contains $1)"
  $as_echo "$2" >"$at_check_line_file"
  at_check_trace=: at_check_filter=:
  : >"$at_stdout"; : >"$at_stderr"
}

# at_fn_check_prepare_trace LINE
# ------------------------------
# Perform AT_CHECK preparations for the command at LINE for a traceable
# command.
at_fn_check_prepare_trace ()
{
  $as_echo "$1" >"$at_check_line_file"
  at_check_trace=$at_traceon at_check_filter=$at_check_filter_trace
  : >"$at_stdout"; : >"$at_stderr"
}

# at_fn_check_prepare_dynamic COMMAND LINE
# ----------------------------------------
# Decide if COMMAND at LINE is traceable at runtime, and call the appropriate
# preparation function.
at_fn_check_prepare_dynamic ()
{
  case $1 in
    *$as_nl*)
      at_fn_check_prepare_notrace 'an embedded newline' "$2" ;;
    *)
      at_fn_check_prepare_trace "$2" ;;
  esac
}

# at_fn_filter_trace
# ------------------
# Remove the lines in the file "$at_stderr" generated by "set -x" and print
# them to stderr.
at_fn_filter_trace ()
{
  mv "$at_stderr" "$at_stder1"
  grep '^ *+' "$at_stder1" >&2
  grep -v '^ *+' "$at_stder1" >"$at_stderr"
}

# at_fn_log_failure FILE-LIST
# ---------------------------
# Copy the files in the list on stdout with a "> " prefix, and exit the shell
# with a failure exit code.
at_fn_log_failure ()
{
  for file
    do $as_echo "$file:"; sed 's/^/> /' "$file"; done
  echo 1 > "$at_status_file"
  exit 1
}

# at_fn_check_skip EXIT-CODE LINE
# -------------------------------
# Check whether EXIT-CODE is a special exit code (77 or 99), and if so exit
# the test group subshell with that same exit code. Use LINE in any report
# about test failure.
at_fn_check_skip ()
{
  case $1 in
    99) echo 99 > "$at_status_file"; at_failed=:
	$as_echo "$2: hard failure"; exit 99;;
    77) echo 77 > "$at_status_file"; exit 77;;
  esac
}

# at_fn_check_status EXPECTED EXIT-CODE LINE
# ------------------------------------------
# Check whether EXIT-CODE is the EXPECTED exit code, and if so do nothing.
# Otherwise, if it is 77 or 99, exit the test group subshell with that same
# exit code; if it is anything else print an error message referring to LINE,
# and fail the test.
at_fn_check_status ()
{
  case $2 in
    $1 ) ;;
    77) echo 77 > "$at_status_file"; exit 77;;
    99) echo 99 > "$at_status_file"; at_failed=:
	$as_echo "$3: hard failure"; exit 99;;
    *) $as_echo "$3: exit code was $2, expected $1"
      at_failed=:;;
  esac
}

# at_fn_diff_devnull FILE
# -----------------------
# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless diff
# invocations.
at_fn_diff_devnull ()
{
  test -s "$1" || return 0
  $at_diff "$at_devnull" "$1"
}

# at_fn_test NUMBER
# -----------------
# Parse out test NUMBER from the tail of this file.
at_fn_test ()
{
  eval at_sed=\$at_sed$1
  sed "$at_sed" "$at_myself" > "$at_test_source"
}

# at_fn_create_debugging_script
# -----------------------------
# Create the debugging script $at_group_dir/run which will reproduce the
# current test group.
at_fn_create_debugging_script ()
{
  {
    echo "#! /bin/sh" &&
    echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' &&
    $as_echo "cd '$at_dir'" &&
    $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" &&
    echo 'exit 1'
  } >"$at_group_dir/run" &&
  chmod +x "$at_group_dir/run"
}

## -------------------------------- ##
## End of autotest shell functions. ##
## -------------------------------- ##
{
  $as_echo "## ---------------- ##
## Tested programs. ##
## ---------------- ##"
  echo
} >&5

# Report what programs are being tested.
for at_program in : $at_tested
do
  test "$at_program" = : && continue
  case $at_program in
    [\\/]* | ?:[\\/]* ) $at_program_=$at_program ;;
    * )
    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -f "$as_dir/$at_program" && break
  done
IFS=$as_save_IFS

    at_program_=$as_dir/$at_program ;;
  esac
  if test -f "$at_program_"; then
    {
      $as_echo "$at_srcdir/testsuite.at:1: $at_program_ --version"
      "$at_program_" --version </dev/null
      echo
    } >&5 2>&1
  else
    as_fn_error $? "cannot find $at_program" "$LINENO" 5
  fi
done

{
  $as_echo "## ------------------ ##
## Running the tests. ##
## ------------------ ##"
} >&5

at_start_date=`date`
at_start_time=`date +%s 2>/dev/null`
$as_echo "$as_me: starting at: $at_start_date" >&5


ovs_wait () {
    # First try a quick sleep, so that the test completes very quickly
    # in the normal case.  POSIX doesn't require fractional times to
    # work, so this might not work.
    sleep 0.1
    ovs_wait_cond && exit 0
    # Then wait up to 10 seconds.
    for d in 0 1 2 3 4 5 6 7 8 9; do
        sleep 1
        ovs_wait_cond && exit 0
    done
    exit 1
}

# Prints the integers from $1 to $2, increasing by $3 (default 1) on stdout.
seq () {
    while test $1 -le $2; do
        echo $1
        set `expr $1 + ${3-1}` $2 $3
    done
}



# Strips out uninteresting parts of ovs-ofctl output, as well as parts
# that vary from one run to another.
ofctl_strip () {
    sed '
s/ (xid=0x[0-9a-fA-F]*)//
s/ duration=[0-9.]*s,//
s/ cookie=0x0,//
s/ table=0,//
s/ n_packets=0,//
s/ n_bytes=0,//
s/ idle_age=[0-9]*,//
s/ hard_age=[0-9]*,//
'
}

# parse_listening_port [SERVER]
#
# Parses the TCP or SSL port on which a server is listening from the
# log, given that the server was told to listen on a kernel-chosen
# port, file provided on stdin, and prints the port number on stdout.
# You should specify the listening remote as ptcp:0:127.0.0.1 or
# pssl:0:127.0.0.1.
#
# Here's an example of how to use this with ovsdb-server:
#
#    OVS_LOGDIR=`pwd`; export OVS_LOGDIR
#    ovsdb-server --log-file --remote=ptcp:0:127.0.0.1 ...
#    TCP_PORT=`parse_listening_port < ovsdb-server.log`
parse_listening_port () {
    sed -n 's/.*0:127\.0\.0\.1: listening on port \([0-9]*\)$/\1/p'
}

check_logs () {
    sed -n "$1
/|WARN|/p
/|ERR|/p
/|EMER|/p" ovs-vswitchd.log ovsdb-server.log
}



ordinal_schema () {
    cat <<'EOF'
    {"name": "ordinals",
     "tables": {
       "ordinals": {
         "columns": {
           "number": {"type": "integer"},
           "name": {"type": "string"}},
         "indexes": [["number"]]}},
     "version": "5.1.3",
     "cksum": "12345678 9"}
EOF
}

constraint_schema () {
    cat << 'EOF'
    {"name": "constraints",
     "tables": {
       "a": {
         "columns": {
           "a": {"type": "integer"},
           "a2a": {"type": {"key": {"type": "uuid", "refTable": "a"},
                            "min": 0, "max": "unlimited"}},
           "a2b": {"type": {"key": {"type": "uuid", "refTable": "b"},
                            "min": 0, "max": "unlimited"}}}},
       "b": {
         "columns": {
           "b": {"type": "integer"},
           "b2a": {"type": {"key": {"type": "uuid", "refTable": "a"},
                            "min": 0, "max": "unlimited"}},
           "b2b": {"type": {"key": {"type": "uuid", "refTable": "b"},
                            "min": 0, "max": "unlimited"}},
           "x": {"type": {"key": "integer", "min": 1, "max": 2}}}},
       "constrained": {
         "columns": {
           "positive": {"type": {"key": {"type": "integer",
                                         "minInteger": 1}}}},
         "maxRows": 1}}}
EOF
}

weak_schema () {
    cat <<'EOF'
    {"name": "weak",
     "tables": {
       "a": {
         "columns": {
           "a": {"type": "integer"},
           "a2a": {"type": {"key": {"type": "uuid",
                                    "refTable": "a",
                                    "refType": "weak"},
                            "min": 0, "max": "unlimited"}},
           "a2a1": {"type": {"key": {"type": "uuid",
                                     "refTable": "a",
                                     "refType": "weak"}}},
           "a2b": {"type": {"key": {"type": "uuid",
                                    "refTable": "b",
                                    "refType": "weak"}}}}},
       "b": {
         "columns": {
           "b": {"type": "integer"},
           "b2a": {"type": {"key": {"type": "uuid",
                                    "refTable": "a",
                                    "refType": "weak"},
                            "min": 0, "max": "unlimited"}}}}}}
EOF
}

gc_schema () {
    cat <<'EOF'
    {"name": "gc",
     "tables": {
       "root": {
         "columns": {
           "a": {"type": {"key": {"type": "uuid",
                                  "refTable": "a"},
                            "min": 0, "max": "unlimited"}}},
         "isRoot": true},
       "a": {
         "columns": {
           "a": {"type": "integer"},
           "a2a": {"type": {"key": {"type": "uuid",
                                    "refTable": "a"},
                            "min": 0, "max": "unlimited"}},
           "a2b": {"type": {"key": {"type": "uuid",
                                    "refTable": "b"},
                            "min": 0, "max": "unlimited"}},
           "wa2a": {"type": {"key": {"type": "uuid",
                                     "refTable": "a",
                                     "refType": "weak"},
                             "min": 0, "max": "unlimited"}},
           "wa2b": {"type": {"key": {"type": "uuid",
                                    "refTable": "b",
                                    "refType": "weak"},
                             "min": 0, "max": "unlimited"}}}},
       "b": {
         "columns": {
           "b": {"type": "integer"},
           "b2a": {"type": {"key": {"type": "uuid",
                                    "refTable": "a"},
                            "min": 0, "max": "unlimited"}},
           "wb2a": {"type": {"key": {"type": "uuid",
                                     "refTable": "a",
                                     "refType": "weak"},
                             "min": 0, "max": "unlimited"}}},
         "isRoot": false}}}
EOF
}

immutable_schema () {
    cat <<'EOF'
{"name": "immutable",
 "tables": {
    "a": {
        "columns": {"i": {"type": "integer", "mutable": false}}}}}
EOF
}



# Creates a directory tree for use with "interface-reconfigure --root-dir".
ifr_setup () {
    for script in \
            interface-reconfigure \
            InterfaceReconfigure.py \
            InterfaceReconfigureBridge.py \
            InterfaceReconfigureVswitch.py
        do
            cp $top_srcdir/xenserver/opt_xensource_libexec_$script $script
        done

        mkdir -p etc
        cat > etc/xensource-inventory <<EOF
PRODUCT_BRAND='XenServer'
PRODUCT_NAME='xenenterprise'
PRODUCT_VERSION='5.5.0'
BUILD_NUMBER='24648p'
KERNEL_VERSION='2.6.18-128.1.6.el5.xs5.5.0.505.1024xen'
XEN_VERSION='3.3.1'
INSTALLATION_DATE='2010-02-10 16:45:28.748345'
PRIMARY_DISK='/dev/disk/by-id/scsi-360022190add7fc001241a14e0ee3e85c'
BACKUP_PARTITION='/dev/disk/by-id/scsi-360022190add7fc001241a14e0ee3e85c-part2'
INSTALLATION_UUID='852ee692-71b4-439e-abfb-0eba72dc85f0'
CONTROL_DOMAIN_UUID='44e6b66e-3074-4a3c-bbcd-756d845a3b56'
DEFAULT_SR_PHYSDEVS='/dev/sda3'
DOM0_MEM='752'
MANAGEMENT_INTERFACE='xenbr2'
EOF

        mkdir -p etc/xensource
        echo vswitch > etc/xensource/network.conf

        for utility in \
            sbin/ethtool \
            sbin/ifconfig \
            sbin/ifdown \
            sbin/ifup \
            sbin/ip \
            sbin/update-issue \
            sbin/vconfig \
            usr/sbin/brctl \
            usr/sbin/ovs-vlan-bug-workaround
        do
            mkdir -p `dirname $utility`
            cat > $utility <<'EOF'
#! /bin/sh
echo ${0} ${*} >&2
EOF
            chmod +x $utility
        done

        mkdir -p usr/bin
        cat > usr/bin/ovs-vsctl <<'EOF'
#! /bin/sh
echo ${0} ${*} >&2

while test ${#} -ge 4; do
    if test X"${1}" = Xget && \
       test X"${2}" = Xinterface && \
       test X"${4}" = Xofport; then
          if test X"${3}" = Xeth2; then
	      echo 5
	  else
	      echo -1
	  fi
    fi

    shift
done
EOF
        chmod +x usr/bin/ovs-vsctl

        cat > usr/bin/ovs-ofctl <<'EOF'
#! /bin/sh
echo ${0} ${*} >&2

# Check that the flow is properly formed.
ovs-ofctl parse-flow "${3}" >/dev/null
EOF
        chmod +x usr/bin/ovs-ofctl

        mkdir -p etc/sysconfig/network-scripts
        configure_netdev () {
            mkdir -p sys/class/net/${1}
            echo ${2} > sys/class/net/${1}/address
            echo ${3} > sys/class/net/${1}/tx_queue_len
            if test ${1} = eth1; then
                # No VLAN acceleration.
                echo 0x829 > sys/class/net/${1}/features
            else
                # Supports VLAN acceleration.
                echo 0x10b89 > sys/class/net/${1}/features
            fi
            mkdir sys/class/net/${1}/device
            ln -s ../../../bus/pci/drivers/e1000 sys/class/net/${1}/device/driver

            : >> etc/sysconfig/network-scripts/ifcfg-${1}
        }

        configure_netdev lo   00:00:00:00:00:00 0
        configure_netdev eth0 00:22:19:22:4b:af 1000
        configure_netdev eth1 00:22:19:22:4b:b1 1000
        configure_netdev eth2 00:15:17:a0:29:80 1000
        configure_netdev eth3 00:15:17:a0:29:81 1000
        configure_netdev eth4 00:1b:21:29:ce:51 1000

        mkdir -p var/xapi
        cat > var/xapi/network.dbcache <<'EOF'
<?xml version="1.0" ?>
<xenserver-network-configuration>
	<pif ref="OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6">
		<VLAN_slave_of/>
                <tunnel_access_PIF_of/>
		<management>
			False
		</management>
		<bond_slave_of>
			OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
		</bond_slave_of>
		<uuid>
			bd62a141-091f-3909-e334-0334f67ff3be
		</uuid>
		<IP>

		</IP>
		<VLAN_master_of>
			OpaqueRef:NULL
		</VLAN_master_of>
		<VLAN>
			-1
		</VLAN>
		<netmask>

		</netmask>
		<other_config/>
		<MAC>
			00:22:19:22:4b:af
		</MAC>
		<ip_configuration_mode>
			None
		</ip_configuration_mode>
		<DNS>

		</DNS>
		<device>
			eth0
		</device>
		<bond_master_of/>
		<currently_attached>
			False
		</currently_attached>
		<gateway>

		</gateway>
		<network>
			OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5
		</network>
	</pif>
	<pif ref="OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806">
		<VLAN_slave_of/>
                <tunnel_access_PIF_of/>
		<management>
			False
		</management>
		<bond_slave_of>
			OpaqueRef:NULL
		</bond_slave_of>
		<uuid>
			df8d35c2-cc3a-a623-7065-d987a29feb75
		</uuid>
		<IP>

		</IP>
		<VLAN_master_of>
			OpaqueRef:NULL
		</VLAN_master_of>
		<VLAN>
			-1
		</VLAN>
		<netmask>

		</netmask>
		<other_config/>
		<MAC>
			00:1b:21:29:ce:51
		</MAC>
		<ip_configuration_mode>
			None
		</ip_configuration_mode>
		<DNS>

		</DNS>
		<device>
			eth4
		</device>
		<bond_master_of/>
		<currently_attached>
			False
		</currently_attached>
		<gateway>

		</gateway>
		<network>
			OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531
		</network>
	</pif>
	<pif ref="OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768">
		<VLAN_slave_of/>
                <tunnel_access_PIF_of/>
		<management>
			False
		</management>
		<bond_slave_of>
			OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
		</bond_slave_of>
		<uuid>
			2f87fc95-5ab4-571a-2487-3f4ac1985663
		</uuid>
		<IP>

		</IP>
		<VLAN_master_of>
			OpaqueRef:NULL
		</VLAN_master_of>
		<VLAN>
			-1
		</VLAN>
		<netmask>

		</netmask>
		<other_config/>
		<MAC>
			00:22:19:22:4b:b1
		</MAC>
		<ip_configuration_mode>
			None
		</ip_configuration_mode>
		<DNS>

		</DNS>
		<device>
			eth1
		</device>
		<bond_master_of/>
		<currently_attached>
			False
		</currently_attached>
		<gateway>

		</gateway>
		<network>
			OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d
		</network>
	</pif>
	<pif ref="OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e">
		<VLAN_slave_of/>
                <tunnel_access_PIF_of/>
		<management>
			False
		</management>
		<bond_slave_of>
			OpaqueRef:NULL
		</bond_slave_of>
		<uuid>
			d2dfdab3-daf4-afea-f055-a25a0d24d714
		</uuid>
		<IP>

		</IP>
		<VLAN_master_of>
			OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c
		</VLAN_master_of>
		<VLAN>
			4
		</VLAN>
		<netmask>

		</netmask>
		<other_config/>
		<MAC>
			fe:ff:ff:ff:ff:ff
		</MAC>
		<ip_configuration_mode>
			None
		</ip_configuration_mode>
		<DNS>

		</DNS>
		<device>
			bond0
		</device>
		<bond_master_of/>
		<currently_attached>
			True
		</currently_attached>
		<gateway>

		</gateway>
		<network>
			OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47
		</network>
	</pif>
	<pif ref="OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc">
		<VLAN_slave_of>
			<master>
				OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297
			</master>
		</VLAN_slave_of>
                <tunnel_access_PIF_of/>
		<management>
			False
		</management>
		<bond_slave_of>
			OpaqueRef:NULL
		</bond_slave_of>
		<uuid>
			f4ba396e-a993-a592-5fbc-a1d566afb59e
		</uuid>
		<IP>
			10.0.0.188
		</IP>
		<VLAN_master_of>
			OpaqueRef:NULL
		</VLAN_master_of>
		<VLAN>
			-1
		</VLAN>
		<netmask>
			255.0.0.0
		</netmask>
		<other_config/>
		<MAC>
			00:15:17:a0:29:81
		</MAC>
		<ip_configuration_mode>
			Static
		</ip_configuration_mode>
		<DNS>

		</DNS>
		<device>
			eth3
		</device>
		<bond_master_of/>
		<currently_attached>
			True
		</currently_attached>
		<gateway>

		</gateway>
		<network>
			OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32
		</network>
	</pif>
	<pif ref="OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15">
		<VLAN_slave_of/>
                <tunnel_access_PIF_of/>
		<management>
			True
		</management>
		<bond_slave_of>
			OpaqueRef:NULL
		</bond_slave_of>
		<uuid>
			646ca9a1-36ad-e2f9-3ecc-1e5622c201c2
		</uuid>
		<IP>
			172.18.3.188
		</IP>
		<VLAN_master_of>
			OpaqueRef:NULL
		</VLAN_master_of>
		<VLAN>
			-1
		</VLAN>
		<netmask>
			255.255.0.0
		</netmask>
		<other_config/>
		<MAC>
			00:15:17:a0:29:80
		</MAC>
		<ip_configuration_mode>
			DHCP
		</ip_configuration_mode>
		<DNS>

		</DNS>
		<device>
			eth2
		</device>
		<bond_master_of/>
		<currently_attached>
			True
		</currently_attached>
		<gateway>

		</gateway>
		<network>
			OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe
		</network>
	</pif>
	<pif ref="OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3">
		<VLAN_slave_of/>
                <tunnel_access_PIF_of/>
		<management>
			False
		</management>
		<bond_slave_of>
			OpaqueRef:NULL
		</bond_slave_of>
		<uuid>
			3941edd2-865b-8dd8-61f0-199f5e1fa652
		</uuid>
		<IP>

		</IP>
		<VLAN_master_of>
			OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297
		</VLAN_master_of>
		<VLAN>
			123
		</VLAN>
		<netmask>

		</netmask>
		<other_config/>
		<MAC>
			fe:ff:ff:ff:ff:ff
		</MAC>
		<ip_configuration_mode>
			None
		</ip_configuration_mode>
		<DNS>

		</DNS>
		<device>
			eth3
		</device>
		<bond_master_of/>
		<currently_attached>
			True
		</currently_attached>
		<gateway>

		</gateway>
		<network>
			OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17
		</network>
	</pif>
	<pif ref="OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11">
		<VLAN_slave_of>
			<master>
				OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c
			</master>
		</VLAN_slave_of>
                <tunnel_access_PIF_of/>
		<management>
			False
		</management>
		<bond_slave_of>
			OpaqueRef:NULL
		</bond_slave_of>
		<uuid>
			6c0327a9-afa3-fc19-6798-a1bfe20095ed
		</uuid>
		<IP>

		</IP>
		<VLAN_master_of>
			OpaqueRef:NULL
		</VLAN_master_of>
		<VLAN>
			-1
		</VLAN>
		<netmask>

		</netmask>
		<other_config/>
		<MAC>
			00:22:19:22:4b:af
		</MAC>
		<ip_configuration_mode>
			None
		</ip_configuration_mode>
		<DNS>

		</DNS>
		<device>
			bond0
		</device>
		<bond_master_of>
			<slave>
				OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e
			</slave>
		</bond_master_of>
		<currently_attached>
			True
		</currently_attached>
		<gateway>

		</gateway>
		<network>
			OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a
		</network>
	</pif>
	<bond ref="OpaqueRef:86d81bcf-0d25-90b2-cb11-af2007bd586e">
		<master>
			OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
		</master>
		<uuid>
			dad825f1-6d81-386e-849c-5589281e53e1
		</uuid>
		<slaves>
			<slave>
				OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6
			</slave>
			<slave>
				OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768
			</slave>
		</slaves>
	</bond>
	<vlan ref="OpaqueRef:4c0eb823-4d96-da1d-e75f-411b85badb0c">
		<tagged_PIF>
			OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
		</tagged_PIF>
		<uuid>
			841814da-d0d2-9da4-0b2e-b6143480bbfb
		</uuid>
		<untagged_PIF>
			OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e
		</untagged_PIF>
	</vlan>
	<vlan ref="OpaqueRef:e623e1d6-cd02-be8d-820d-49d65c710297">
		<tagged_PIF>
			OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc
		</tagged_PIF>
		<uuid>
			399279a2-5ccd-5368-9af3-8622a1f1ac82
		</uuid>
		<untagged_PIF>
			OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3
		</untagged_PIF>
	</vlan>
	<network ref="OpaqueRef:a63afad0-fb4c-b4a4-3696-cbb3d88afc47">
		<PIFs>
			<PIF>
				OpaqueRef:d2d1e51e-4da9-3163-8f57-bb683429335e
			</PIF>
		</PIFs>
		<bridge>
			xapi2
		</bridge>
		<other_config/>
		<uuid>
			99be2da4-6c33-6f8e-49ea-3bc592fe3c85
		</uuid>
	</network>
	<network ref="OpaqueRef:d9189da2-d00b-61ba-8a6d-ac42cc868e32">
		<PIFs>
			<PIF>
				OpaqueRef:2bc0fab5-523a-4125-609d-212391f5f6fc
			</PIF>
		</PIFs>
		<bridge>
			xenbr3
		</bridge>
		<other_config/>
		<uuid>
			2902ae1b-8013-897a-b697-0b200ea3aaa5
		</uuid>
	</network>
	<network ref="OpaqueRef:ec1e5037-60ea-97e5-54b8-39bdb43c071a">
		<PIFs>
			<PIF>
				OpaqueRef:69c904bb-8da9-3424-485b-8b47c2d3ef11
			</PIF>
		</PIFs>
		<bridge>
			xapi1
		</bridge>
		<other_config/>
		<uuid>
			45cbbb43-113d-a712-3231-c6463f253cef
		</uuid>
	</network>
	<network ref="OpaqueRef:92b41bf6-aa21-45d3-1c86-c87a5fa98f7d">
		<PIFs>
			<PIF>
				OpaqueRef:2956e6c8-487e-981c-85ff-c84796418768
			</PIF>
		</PIFs>
		<bridge>
			xenbr1
		</bridge>
		<other_config/>
		<uuid>
			99f8771a-645a-26a3-e06c-30a401f1d009
		</uuid>
	</network>
	<network ref="OpaqueRef:6e7c6e81-6b5e-b91f-e1f9-9e028567bdfe">
		<PIFs>
			<PIF>
				OpaqueRef:205d1186-2cd1-d5e6-45e4-ea1698ea6e15
			</PIF>
		</PIFs>
		<bridge>
			xenbr2
		</bridge>
		<other_config/>
		<uuid>
			d08c8749-0c8f-9e8d-ce25-fd364661ee99
		</uuid>
	</network>
	<network ref="OpaqueRef:83e4a934-aeb5-e6f0-a743-d1c7ef7364c5">
		<PIFs>
			<PIF>
				OpaqueRef:e0955887-571f-17fc-a971-61c1ec7d81b6
			</PIF>
		</PIFs>
		<bridge>
			xenbr0
		</bridge>
		<other_config>
			<vswitch-disable-in-band>
				true
			</vswitch-disable-in-band>
		</other_config>
		<uuid>
			c9eecb03-560d-61de-b6a8-56dfc766f67e
		</uuid>
	</network>
	<network ref="OpaqueRef:bf51b4d3-7bdc-ea55-ba21-539b150b0531">
		<PIFs>
			<PIF>
				OpaqueRef:eea8da94-a5e6-18fc-34a7-5e9b5a235806
			</PIF>
		</PIFs>
		<bridge>
			xenbr4
		</bridge>
		<other_config/>
		<uuid>
			d2c14c89-29cc-51d4-7664-633eff02b2ad
		</uuid>
	</network>
	<network ref="OpaqueRef:0b7354a4-8f4b-aa08-2f16-a22c117e4211">
		<PIFs/>
		<bridge>
			xapi0
		</bridge>
		<other_config/>
		<uuid>
			dc0f0632-c2aa-1b78-2fea-0d3a23c51740
		</uuid>
	</network>
	<network ref="OpaqueRef:240fb5f8-addc-6ea3-f921-2a42b42acd17">
		<PIFs>
			<PIF>
				OpaqueRef:8e3e37e6-ebb9-087e-0201-f6a56bf554c3
			</PIF>
		</PIFs>
		<bridge>
			xapi3
		</bridge>
		<other_config/>
		<uuid>
			db7bdc03-074d-42ae-fc73-9b06de1d57f6
		</uuid>
	</network>
        <pool ref="OpaqueRef:a765d06c-fc82-cc67-8f6c-fd8db45f6a84">
                <other_config>
                        <vswitch-controller-fail-mode>
                                secure
                        </vswitch-controller-fail-mode>
                </other_config>
        </pool>
</xenserver-network-configuration>
EOF
}

ifr_run () {
    ./interface-reconfigure --root-prefix="`pwd`" --no-syslog "$@"
}

ifr_filter () {
    sed -n -e "s,`pwd`,,g" -e 's/ -- /\
    /g' -e '/^Running command:/!p' stderr
}

# Create the master directory if it doesn't already exist.
as_dir="$at_suite_dir"; as_fn_mkdir_p ||
  as_fn_error $? "cannot create \`$at_suite_dir'" "$LINENO" 5

# Can we diff with `/dev/null'?  DU 5.0 refuses.
if diff /dev/null /dev/null >/dev/null 2>&1; then
  at_devnull=/dev/null
else
  at_devnull=$at_suite_dir/devnull
  >"$at_devnull"
fi

# Use `diff -u' when possible.
if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff"
then
  at_diff='diff -u'
else
  at_diff=diff
fi

# Get the last needed group.
for at_group in : $at_groups; do :; done

# Extract the start and end lines of each test group at the tail
# of this file
awk '
BEGIN { FS="" }
/^#AT_START_/ {
  start = NR
}
/^#AT_STOP_/ {
  test = substr ($ 0, 10)
  print "at_sed" test "=\"1," start "d;" (NR-1) "q\""
  if (test == "'"$at_group"'") exit
}' "$at_myself" > "$at_suite_dir/at-source-lines" &&
. "$at_suite_dir/at-source-lines" ||
  as_fn_error $? "cannot create test line number cache" "$LINENO" 5
rm -f "$at_suite_dir/at-source-lines"

# Set number of jobs for `-j'; avoid more jobs than test groups.
set X $at_groups; shift; at_max_jobs=$#
if test $at_max_jobs -eq 0; then
  at_jobs=1
fi
if test $at_jobs -ne 1 &&
   { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then
  at_jobs=$at_max_jobs
fi

# If parallel mode, don't output banners, don't split summary lines.
if test $at_jobs -ne 1; then
  at_print_banners=false
  at_quiet=:
fi

# Set up helper dirs.
rm -rf "$at_helper_dir" &&
mkdir "$at_helper_dir" &&
cd "$at_helper_dir" &&
{ test -z "$at_groups" || mkdir $at_groups; } ||
as_fn_error $? "testsuite directory setup failed" "$LINENO" 5

# Functions for running a test group.  We leave the actual
# test group execution outside of a shell function in order
# to avoid hitting zsh 4.x exit status bugs.

# at_fn_group_prepare
# -------------------
# Prepare for running a test group.
at_fn_group_prepare ()
{
  # The directory for additional per-group helper files.
  at_job_dir=$at_helper_dir/$at_group
  # The file containing the location of the last AT_CHECK.
  at_check_line_file=$at_job_dir/check-line
  # The file containing the exit status of the last command.
  at_status_file=$at_job_dir/status
  # The files containing the output of the tested commands.
  at_stdout=$at_job_dir/stdout
  at_stder1=$at_job_dir/stder1
  at_stderr=$at_job_dir/stderr
  # The file containing the code for a test group.
  at_test_source=$at_job_dir/test-source
  # The file containing dates.
  at_times_file=$at_job_dir/times

  # Be sure to come back to the top test directory.
  cd "$at_suite_dir"

  # Clearly separate the test groups when verbose.
  $at_first || $at_verbose echo

  at_group_normalized=$at_group

  eval 'while :; do
    case $at_group_normalized in #(
    '"$at_format"'*) break;;
    esac
    at_group_normalized=0$at_group_normalized
  done'


  # Create a fresh directory for the next test group, and enter.
  # If one already exists, the user may have invoked ./run from
  # within that directory; we remove the contents, but not the
  # directory itself, so that we aren't pulling the rug out from
  # under the shell's notion of the current directory.
  at_group_dir=$at_suite_dir/$at_group_normalized
  at_group_log=$at_group_dir/$as_me.log
  if test -d "$at_group_dir"; then
  find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx {} \;
  rm -fr "$at_group_dir"/* "$at_group_dir"/.[!.] "$at_group_dir"/.??*
fi ||
    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: test directory for $at_group_normalized could not be cleaned" >&5
$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned" >&2;}
  # Be tolerant if the above `rm' was not able to remove the directory.
  as_dir="$at_group_dir"; as_fn_mkdir_p

  echo 0 > "$at_status_file"

  # In verbose mode, append to the log file *and* show on
  # the standard output; in quiet mode only write to the log.
  if test -z "$at_verbose"; then
    at_tee_pipe='tee -a "$at_group_log"'
  else
    at_tee_pipe='cat >> "$at_group_log"'
  fi
}

# at_fn_group_banner ORDINAL LINE DESC PAD [BANNER]
# -------------------------------------------------
# Declare the test group ORDINAL, located at LINE with group description DESC,
# and residing under BANNER. Use PAD to align the status column.
at_fn_group_banner ()
{
  at_setup_line="$2"
  test -n "$5" && at_fn_banner $5
  at_desc="$3"
  case $1 in
    [0-9])      at_desc_line="  $1: ";;
    [0-9][0-9]) at_desc_line=" $1: " ;;
    *)          at_desc_line="$1: "  ;;
  esac
  as_fn_append at_desc_line "$3$4"
  $at_quiet $as_echo_n "$at_desc_line"
  echo "#                             -*- compilation -*-" >> "$at_group_log"
}

# at_fn_group_postprocess
# -----------------------
# Perform cleanup after running a test group.
at_fn_group_postprocess ()
{
  # Be sure to come back to the suite directory, in particular
  # since below we might `rm' the group directory we are in currently.
  cd "$at_suite_dir"

  if test ! -f "$at_check_line_file"; then
    sed "s/^ */$as_me: WARNING: /" <<_ATEOF
      A failure happened in a test group before any test could be
      run. This means that test suite is improperly designed.  Please
      report this failure to <ovs-bugs@openvswitch.org>.
_ATEOF
    $as_echo "$at_setup_line" >"$at_check_line_file"
    at_status=99
  fi
  $at_verbose $as_echo_n "$at_group. $at_setup_line: "
  $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log"
  case $at_xfail:$at_status in
    yes:0)
	at_msg="UNEXPECTED PASS"
	at_res=xpass
	at_errexit=$at_errexit_p
	at_color=$at_red
	;;
    no:0)
	at_msg="ok"
	at_res=pass
	at_errexit=false
	at_color=$at_grn
	;;
    *:77)
	at_msg='skipped ('`cat "$at_check_line_file"`')'
	at_res=skip
	at_errexit=false
	at_color=$at_blu
	;;
    no:* | *:99)
	at_msg='FAILED ('`cat "$at_check_line_file"`')'
	at_res=fail
	at_errexit=$at_errexit_p
	at_color=$at_red
	;;
    yes:*)
	at_msg='expected failure ('`cat "$at_check_line_file"`')'
	at_res=xfail
	at_errexit=false
	at_color=$at_lgn
	;;
  esac
  echo "$at_res" > "$at_job_dir/$at_res"
  # In parallel mode, output the summary line only afterwards.
  if test $at_jobs -ne 1 && test -n "$at_verbose"; then
    $as_echo "$at_desc_line $at_color$at_msg$at_std"
  else
    # Make sure there is a separator even with long titles.
    $as_echo " $at_color$at_msg$at_std"
  fi
  at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg"
  case $at_status in
    0|77)
      # $at_times_file is only available if the group succeeded.
      # We're not including the group log, so the success message
      # is written in the global log separately.  But we also
      # write to the group log in case they're using -d.
      if test -f "$at_times_file"; then
	at_log_msg="$at_log_msg     ("`sed 1d "$at_times_file"`')'
	rm -f "$at_times_file"
      fi
      $as_echo "$at_log_msg" >> "$at_group_log"
      $as_echo "$at_log_msg" >&5

      # Cleanup the group directory, unless the user wants the files
      # or the success was unexpected.
      if $at_debug_p || test $at_res = xpass; then
	at_fn_create_debugging_script
	if test $at_res = xpass && $at_errexit; then
	  echo stop > "$at_stop_file"
	fi
      else
	if test -d "$at_group_dir"; then
	  find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
	  rm -fr "$at_group_dir"
	fi
	rm -f "$at_test_source"
      fi
      ;;
    *)
      # Upon failure, include the log into the testsuite's global
      # log.  The failure message is written in the group log.  It
      # is later included in the global log.
      $as_echo "$at_log_msg" >> "$at_group_log"

      # Upon failure, keep the group directory for autopsy, and create
      # the debugging script.  With -e, do not start any further tests.
      at_fn_create_debugging_script
      if $at_errexit; then
	echo stop > "$at_stop_file"
      fi
      ;;
  esac
}


## ------------ ##
## Driver loop. ##
## ------------ ##


if (set -m && set +m && set +b) >/dev/null 2>&1; then
  set +b
  at_job_control_on='set -m' at_job_control_off='set +m' at_job_group=-
else
  at_job_control_on=: at_job_control_off=: at_job_group=
fi

for at_signal in 1 2 15; do
  trap 'set +x; set +e
	$at_job_control_off
	at_signal='"$at_signal"'
	echo stop > "$at_stop_file"
	trap "" $at_signal
	at_pgids=
	for at_pgid in `jobs -p 2>/dev/null`; do
	  at_pgids="$at_pgids $at_job_group$at_pgid"
	done
	test -z "$at_pgids" || kill -$at_signal $at_pgids 2>/dev/null
	wait
	if test "$at_jobs" -eq 1 || test -z "$at_verbose"; then
	  echo >&2
	fi
	at_signame=`kill -l $at_signal 2>&1 || echo $at_signal`
	set x $at_signame
	test 0 -gt 2 && at_signame=$at_signal
	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: caught signal $at_signame, bailing out" >&5
$as_echo "$as_me: WARNING: caught signal $at_signame, bailing out" >&2;}
	as_fn_arith 128 + $at_signal && exit_status=$as_val
	as_fn_exit $exit_status' $at_signal
done

rm -f "$at_stop_file"
at_first=:

if test $at_jobs -ne 1 &&
     rm -f "$at_job_fifo" &&
     test -n "$at_job_group" &&
     ( mkfifo "$at_job_fifo" && trap 'exit 1' PIPE STOP TSTP ) 2>/dev/null
then
  # FIFO job dispatcher.

  trap 'at_pids=
	for at_pid in `jobs -p`; do
	  at_pids="$at_pids $at_job_group$at_pid"
	done
	if test -n "$at_pids"; then
	  at_sig=TSTP
	  test "${TMOUT+set}" = set && at_sig=STOP
	  kill -$at_sig $at_pids 2>/dev/null
	fi
	kill -STOP $$
	test -z "$at_pids" || kill -CONT $at_pids 2>/dev/null' TSTP

  echo
  # Turn jobs into a list of numbers, starting from 1.
  at_joblist=`$as_echo "$at_groups" | sed -n 1,${at_jobs}p`

  set X $at_joblist
  shift
  for at_group in $at_groups; do
    $at_job_control_on 2>/dev/null
    (
      # Start one test group.
      $at_job_control_off
      if $at_first; then
	exec 7>"$at_job_fifo"
      else
	exec 6<&-
      fi
      trap 'set +x; set +e
	    trap "" PIPE
	    echo stop > "$at_stop_file"
	    echo >&7
	    as_fn_exit 141' PIPE
      at_fn_group_prepare
      if cd "$at_group_dir" &&
	 at_fn_test $at_group &&
	 . "$at_test_source"
      then :; else
	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5
$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
	at_failed=:
      fi
      at_fn_group_postprocess
      echo >&7
    ) &
    $at_job_control_off
    if $at_first; then
      at_first=false
      exec 6<"$at_job_fifo" 7>"$at_job_fifo"
    fi
    shift # Consume one token.
    if test $# -gt 0; then :; else
      read at_token <&6 || break
      set x $*
    fi
    test -f "$at_stop_file" && break
  done
  exec 7>&-
  # Read back the remaining ($at_jobs - 1) tokens.
  set X $at_joblist
  shift
  if test $# -gt 0; then
    shift
    for at_job
    do
      read at_token
    done <&6
  fi
  exec 6<&-
  wait
else
  # Run serially, avoid forks and other potential surprises.
  for at_group in $at_groups; do
    at_fn_group_prepare
    if cd "$at_group_dir" &&
       at_fn_test $at_group &&
       . "$at_test_source"; then :; else
      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to parse test group: $at_group" >&5
$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;}
      at_failed=:
    fi
    at_fn_group_postprocess
    test -f "$at_stop_file" && break
    at_first=false
  done
fi

# Wrap up the test suite with summary statistics.
cd "$at_helper_dir"

# Use ?..???? when the list must remain sorted, the faster * otherwise.
at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'`
at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'`
at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'`
at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do
		 echo $f; done | sed '/?/d; s,/xpass,,'`
at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do
		echo $f; done | sed '/?/d; s,/fail,,'`

set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list
shift; at_group_count=$#
set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$*
set X $at_xfail_list; shift; at_xfail_count=$#
set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$*
set X $at_skip_list; shift; at_skip_count=$#

as_fn_arith $at_group_count - $at_skip_count && at_run_count=$as_val
as_fn_arith $at_xpass_count + $at_fail_count && at_unexpected_count=$as_val
as_fn_arith $at_xfail_count + $at_fail_count && at_total_fail_count=$as_val

# Back to the top directory.
cd "$at_dir"
rm -rf "$at_helper_dir"

# Compute the duration of the suite.
at_stop_date=`date`
at_stop_time=`date +%s 2>/dev/null`
$as_echo "$as_me: ending at: $at_stop_date" >&5
case $at_start_time,$at_stop_time in
  [0-9]*,[0-9]*)
    as_fn_arith $at_stop_time - $at_start_time && at_duration_s=$as_val
    as_fn_arith $at_duration_s / 60 && at_duration_m=$as_val
    as_fn_arith $at_duration_m / 60 && at_duration_h=$as_val
    as_fn_arith $at_duration_s % 60 && at_duration_s=$as_val
    as_fn_arith $at_duration_m % 60 && at_duration_m=$as_val
    at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s"
    $as_echo "$as_me: test suite duration: $at_duration" >&5
    ;;
esac

echo
$as_echo "## ------------- ##
## Test results. ##
## ------------- ##"
echo
{
  echo
  $as_echo "## ------------- ##
## Test results. ##
## ------------- ##"
  echo
} >&5

if test $at_run_count = 1; then
  at_result="1 test"
  at_were=was
else
  at_result="$at_run_count tests"
  at_were=were
fi
if $at_errexit_p && test $at_unexpected_count != 0; then
  if test $at_xpass_count = 1; then
    at_result="$at_result $at_were run, one passed"
  else
    at_result="$at_result $at_were run, one failed"
  fi
  at_result="$at_result unexpectedly and inhibited subsequent tests."
  at_color=$at_red
else
  # Don't you just love exponential explosion of the number of cases?
  at_color=$at_red
  case $at_xpass_count:$at_fail_count:$at_xfail_count in
    # So far, so good.
    0:0:0) at_result="$at_result $at_were successful." at_color=$at_grn ;;
    0:0:*) at_result="$at_result behaved as expected." at_color=$at_lgn ;;

    # Some unexpected failures
    0:*:0) at_result="$at_result $at_were run,
$at_fail_count failed unexpectedly." ;;

    # Some failures, both expected and unexpected
    0:*:1) at_result="$at_result $at_were run,
$at_total_fail_count failed ($at_xfail_count expected failure)." ;;
    0:*:*) at_result="$at_result $at_were run,
$at_total_fail_count failed ($at_xfail_count expected failures)." ;;

    # No unexpected failures, but some xpasses
    *:0:*) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly." ;;

    # No expected failures, but failures and xpasses
    *:1:0) at_result="$at_result $at_were run,
$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;;
    *:*:0) at_result="$at_result $at_were run,
$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;;

    # All of them.
    *:*:1) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly,
$at_total_fail_count failed ($at_xfail_count expected failure)." ;;
    *:*:*) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly,
$at_total_fail_count failed ($at_xfail_count expected failures)." ;;
  esac

  if test $at_skip_count = 0 && test $at_run_count -gt 1; then
    at_result="All $at_result"
  fi
fi

# Now put skips in the mix.
case $at_skip_count in
  0) ;;
  1) at_result="$at_result
1 test was skipped." ;;
  *) at_result="$at_result
$at_skip_count tests were skipped." ;;
esac

if test $at_unexpected_count = 0; then
  echo "$at_color$at_result$at_std"
  echo "$at_result" >&5
else
  echo "${at_color}ERROR: $at_result$at_std" >&2
  echo "ERROR: $at_result" >&5
  {
    echo
    $as_echo "## ------------------------ ##
## Summary of the failures. ##
## ------------------------ ##"

    # Summary of failed and skipped tests.
    if test $at_fail_count != 0; then
      echo "Failed tests:"
      $SHELL "$at_myself" $at_fail_list --list
      echo
    fi
    if test $at_skip_count != 0; then
      echo "Skipped tests:"
      $SHELL "$at_myself" $at_skip_list --list
      echo
    fi
    if test $at_xpass_count != 0; then
      echo "Unexpected passes:"
      $SHELL "$at_myself" $at_xpass_list --list
      echo
    fi
    if test $at_fail_count != 0; then
      $as_echo "## ---------------------- ##
## Detailed failed tests. ##
## ---------------------- ##"
      echo
      for at_group in $at_fail_list
      do
	at_group_normalized=$at_group

  eval 'while :; do
    case $at_group_normalized in #(
    '"$at_format"'*) break;;
    esac
    at_group_normalized=0$at_group_normalized
  done'

	cat "$at_suite_dir/$at_group_normalized/$as_me.log"
	echo
      done
      echo
    fi
    if test -n "$at_top_srcdir"; then
      sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## ${at_top_build_prefix}config.log ##
_ASBOX
      sed 's/^/| /' ${at_top_build_prefix}config.log
      echo
    fi
  } >&5

  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## $as_me.log was created. ##
_ASBOX

  echo
  if $at_debug_p; then
    at_msg='per-test log files'
  else
    at_msg="\`${at_testdir+${at_testdir}/}$as_me.log'"
  fi
  $as_echo "Please send $at_msg and all information you think might help:

   To: <ovs-bugs@openvswitch.org>
   Subject: [openvswitch 2.0.2] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}

You may investigate any problem if you feel able to do so, in which
case the test suite provides a good starting point.  Its output may
be found below \`${at_testdir+${at_testdir}/}$as_me.dir'.
"
  exit 1
fi

exit 0

## ------------- ##
## Actual tests. ##
## ------------- ##
#AT_START_1
at_fn_group_banner 1 'bfd.at:37' \
  "bfd - basic config on different bridges" "        " 1
at_xfail=no
(
  $as_echo "1. $at_setup_line: testing $at_desc ..."
  $at_traceon

#Create 2 bridges connected by patch ports and enable BFD
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/bfd.at:39: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "bfd.at:39"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:39: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "bfd.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:39: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:39"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/bfd.at:39: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "bfd.at:39"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:39"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:39: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "bfd.at:39"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:39"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/bfd.at:39: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:39"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:39"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:39: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- \\
       set bridge br1 datapath-type=dummy \\
       other-config:hwaddr=aa:55:aa:56:00:00 -- \\
    add-port br1 p1 -- set Interface p1 type=patch \\
       options:peer=p0 -- \\
    add-port br0 p0 -- set Interface p0 type=patch \\
       options:peer=p1 -- \\
    set Interface p0 bfd:enable=true -- \\
    set Interface p1 bfd:enable=true  "
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:39"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- \
       set bridge br1 datapath-type=dummy \
       other-config:hwaddr=aa:55:aa:56:00:00 -- \
    add-port br1 p1 -- set Interface p1 type=patch \
       options:peer=p0 -- \
    add-port br0 p0 -- set Interface p0 type=patch \
       options:peer=p1 -- \
    set Interface p0 bfd:enable=true -- \
    set Interface p1 bfd:enable=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:39"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-appctl time/stop
for i in `seq 0 40`; do ovs-appctl time/warp 100; done

#Verify that BFD has been enabled on both interfaces.

{ set +x
$as_echo "$at_srcdir/bfd.at:53: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:53"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:53"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:54: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:54"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:56:  ovs-vsctl set interface p0 bfd:enable=false"
at_fn_check_prepare_trace "bfd.at:56"
( $at_check_trace;  ovs-vsctl set interface p0 bfd:enable=false
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:56"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

for i in `seq 0 40`; do ovs-appctl time/warp 100; done

{ set +x
$as_echo "$at_srcdir/bfd.at:58: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:58"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:58"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:60:  ovs-vsctl set interface p0 bfd:enable=true"
at_fn_check_prepare_trace "bfd.at:60"
( $at_check_trace;  ovs-vsctl set interface p0 bfd:enable=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:60"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

for i in `seq 0 40`; do ovs-appctl time/warp 100; done

{ set +x
$as_echo "$at_srcdir/bfd.at:62: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:62"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:62"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:63: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:63"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: Control Detection Time Expired
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:63"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ovs-vsctl del-br br0
{ set +x
$as_echo "$at_srcdir/bfd.at:66: ovs-appctl bfd/show p0"
at_fn_check_prepare_trace "bfd.at:66"
( $at_check_trace; ovs-appctl bfd/show p0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "no such bfd object
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 2 $at_status "$at_srcdir/bfd.at:66"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

ovs-vsctl del-br br1
#Check that the entries are gone.
{ set +x
$as_echo "$at_srcdir/bfd.at:71: ovs-appctl bfd/show p1"
at_fn_check_prepare_trace "bfd.at:71"
( $at_check_trace; ovs-appctl bfd/show p1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "no such bfd object
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 2 $at_status "$at_srcdir/bfd.at:71"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/bfd.at:75: check_logs "
at_fn_check_prepare_trace "bfd.at:75"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:75"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:75: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "bfd.at:75"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:75"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:75: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "bfd.at:75"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:75"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1
#AT_START_2
at_fn_group_banner 2 'bfd.at:79' \
  "bfd - Verify tunnel down detection" "             " 1
at_xfail=no
(
  $as_echo "2. $at_setup_line: testing $at_desc ..."
  $at_traceon

#Create 3 bridges - br-bfd0, br-bfd1 and br-sw which is midway between the two. br2 is
#connected to br-bfd0 and br-bfd1 through patch ports p0-2 and p1-2. Enable BFD on
#interfaces in br-bfd0 and br-bfd1. When br-sw is dropping all packets, BFD should detect
# that the tunnel is down, and come back up when br-sw is working fine.

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/bfd.at:85: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "bfd.at:85"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:85"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:85: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "bfd.at:85"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:85"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:85: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:85"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:85"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/bfd.at:85: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "bfd.at:85"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:85"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:85: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "bfd.at:85"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:85"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/bfd.at:85: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:85"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:85"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:85: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br-bfd0 -- \\
       set bridge br-bfd0 datapath-type=dummy \\
       other-config:hwaddr=aa:55:aa:56:00:00 -- \\
    add-br br-bfd1 -- \\
       set bridge br-bfd1 datapath-type=dummy \\
       other-config:hwaddr=aa:55:aa:57:00:00 -- \\
    add-br br-sw -- \\
       set bridge br-sw datapath-type=dummy \\
       other-config:hwaddr=aa:55:aa:58:00:00 -- \\
    add-port br-sw p1-sw -- set Interface p1-sw type=patch \\
       options:peer=p1 -- \\
    add-port br-sw p0-sw -- set Interface p0-sw type=patch \\
       options:peer=p0 -- \\
    add-port br-bfd1 p1 -- set Interface p1 type=patch \\
       options:peer=p1-sw bfd:enable=true -- \\
    add-port br-bfd0 p0 -- set Interface p0 type=patch \\
       options:peer=p0-sw bfd:enable=true -- "
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:85"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br-bfd0 -- \
       set bridge br-bfd0 datapath-type=dummy \
       other-config:hwaddr=aa:55:aa:56:00:00 -- \
    add-br br-bfd1 -- \
       set bridge br-bfd1 datapath-type=dummy \
       other-config:hwaddr=aa:55:aa:57:00:00 -- \
    add-br br-sw -- \
       set bridge br-sw datapath-type=dummy \
       other-config:hwaddr=aa:55:aa:58:00:00 -- \
    add-port br-sw p1-sw -- set Interface p1-sw type=patch \
       options:peer=p1 -- \
    add-port br-sw p0-sw -- set Interface p0-sw type=patch \
       options:peer=p0 -- \
    add-port br-bfd1 p1 -- set Interface p1 type=patch \
       options:peer=p1-sw bfd:enable=true -- \
    add-port br-bfd0 p0 -- set Interface p0 type=patch \
       options:peer=p0-sw bfd:enable=true --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:85"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ovs-appctl time/stop

#Create 2 bridges connected by patch ports and enable BFD

{ set +x
$as_echo "$at_srcdir/bfd.at:108: ovs-ofctl add-flow br-sw 'priority=0,actions=NORMAL'"
at_fn_check_prepare_trace "bfd.at:108"
( $at_check_trace; ovs-ofctl add-flow br-sw 'priority=0,actions=NORMAL'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

#Verify that BFD is enabled.
for i in `seq 0 40`; do ovs-appctl time/warp 100; done

{ set +x
$as_echo "$at_srcdir/bfd.at:111: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:111"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:112: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:112"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:112"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



#Drop all packets in the br-sw bridge so that the tunnel is down.
{ set +x
$as_echo "$at_srcdir/bfd.at:115:  ovs-ofctl add-flow br-sw 'priority=5,actions=drop' "
at_fn_check_prepare_trace "bfd.at:115"
( $at_check_trace;  ovs-ofctl add-flow br-sw 'priority=5,actions=drop'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:115"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

for i in `seq 0 40`; do ovs-appctl time/warp 100; done

{ set +x
$as_echo "$at_srcdir/bfd.at:117: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:117"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:117"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:118: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:118"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:118"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



#Delete the added flow
{ set +x
$as_echo "$at_srcdir/bfd.at:121: ovs-ofctl del-flows br-sw"
at_fn_check_prepare_trace "bfd.at:121"
( $at_check_trace; ovs-ofctl del-flows br-sw
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:121"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/bfd.at:122: ovs-ofctl add-flow br-sw 'priority=0,actions=NORMAL'"
at_fn_check_prepare_trace "bfd.at:122"
( $at_check_trace; ovs-ofctl add-flow br-sw 'priority=0,actions=NORMAL'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:122"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

#Verify that BFD is back up again.
for i in `seq 0 40`; do ovs-appctl time/warp 100; done


{ set +x
$as_echo "$at_srcdir/bfd.at:126: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:126"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: Control Detection Time Expired
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:126"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:127: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:127"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: Control Detection Time Expired
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:127"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



#Now, Verify one-side tunnel down detection
#When br-sw is dropping packets from one end, BFD should detect
# that the tunnel is down, and come back up when br-sw is working fine.

#Bring down the br-bfd1 - br-sw link. So BFD packets will be sent from p0,
# but not received by p1. p0 will receive all BFD packets from p1.

{ set +x
$as_echo "$at_srcdir/bfd.at:136:  ovs-ofctl add-flow br-sw 'in_port=1,priority=5,actions=drop'"
at_fn_check_prepare_trace "bfd.at:136"
( $at_check_trace;  ovs-ofctl add-flow br-sw 'in_port=1,priority=5,actions=drop'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:136"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

for i in `seq 0 40`; do ovs-appctl time/warp 100; done
# Make sure p1 BFD state is down since it received no BFD packets.

{ set +x
$as_echo "$at_srcdir/bfd.at:139: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:139"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


for i in `seq 0 40`; do ovs-appctl time/warp 100; done
# p0 will be in init state once it receives "down" BFD message from p1.

{ set +x
$as_echo "$at_srcdir/bfd.at:142: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:142"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: init
	Local Diagnostic: Neighbor Signaled Session Down

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: Control Detection Time Expired
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:142"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:144: ovs-ofctl del-flows br-sw"
at_fn_check_prepare_trace "bfd.at:144"
( $at_check_trace; ovs-ofctl del-flows br-sw
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:144"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/bfd.at:145: ovs-ofctl add-flow br-sw 'priority=0,actions=NORMAL'"
at_fn_check_prepare_trace "bfd.at:145"
( $at_check_trace; ovs-ofctl add-flow br-sw 'priority=0,actions=NORMAL'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:145"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

#Ensure that BFD is back up again.

for i in `seq 0 10`; do ovs-appctl time/warp 100; done
#Bring down the br-bfd0 - br-sw link
{ set +x
$as_echo "$at_srcdir/bfd.at:150:  ovs-ofctl add-flow br-sw 'in_port=2,priority=5,actions=drop'"
at_fn_check_prepare_trace "bfd.at:150"
( $at_check_trace;  ovs-ofctl add-flow br-sw 'in_port=2,priority=5,actions=drop'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:150"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

for i in `seq 0 40`; do ovs-appctl time/warp 100; done

{ set +x
$as_echo "$at_srcdir/bfd.at:152: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:152"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:152"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


for i in `seq 0 40`; do ovs-appctl time/warp 100; done

{ set +x
$as_echo "$at_srcdir/bfd.at:154: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:154"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: init
	Local Diagnostic: Neighbor Signaled Session Down

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: Control Detection Time Expired
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:154"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/bfd.at:155: check_logs "
at_fn_check_prepare_trace "bfd.at:155"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:155"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:155: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "bfd.at:155"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:155"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:155: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "bfd.at:155"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:155"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_2
#AT_START_3
at_fn_group_banner 3 'bfd.at:159' \
  "bfd - concatenated path down" "                   " 1
at_xfail=no
(
  $as_echo "3. $at_setup_line: testing $at_desc ..."
  $at_traceon

#Create 2 bridges connected by patch ports and enable BFD
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/bfd.at:161: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "bfd.at:161"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:161"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:161: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "bfd.at:161"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:161"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:161: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:161"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:161"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/bfd.at:161: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "bfd.at:161"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:161"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:161: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "bfd.at:161"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:161"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/bfd.at:161: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:161"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:161"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:161: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "bfd.at:161"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:161"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-appctl time/stop
{ set +x
$as_echo "$at_srcdir/bfd.at:163:  ovs-vsctl -- add-br br1 -- \\
           set bridge br1 datapath-type=dummy \\
           other-config:hwaddr=aa:55:aa:56:00:00 "
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:163"
( $at_check_trace;  ovs-vsctl -- add-br br1 -- \
           set bridge br1 datapath-type=dummy \
           other-config:hwaddr=aa:55:aa:56:00:00
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:163"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/bfd.at:166:  ovs-vsctl -- add-port br1 p1 -- set Interface p1 type=patch \\
           options:peer=p0 "
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:166"
( $at_check_trace;  ovs-vsctl -- add-port br1 p1 -- set Interface p1 type=patch \
           options:peer=p0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:166"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/bfd.at:168:  ovs-vsctl -- add-port br0 p0 -- set Interface p0 type=patch \\
           options:peer=p1 "
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:168"
( $at_check_trace;  ovs-vsctl -- add-port br0 p0 -- set Interface p0 type=patch \
           options:peer=p1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:168"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/bfd.at:170:  ovs-vsctl -- set interface p0 bfd:enable=true "
at_fn_check_prepare_trace "bfd.at:170"
( $at_check_trace;  ovs-vsctl -- set interface p0 bfd:enable=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/bfd.at:171:  ovs-vsctl -- set interface p1 bfd:enable=true "
at_fn_check_prepare_trace "bfd.at:171"
( $at_check_trace;  ovs-vsctl -- set interface p1 bfd:enable=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:171"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

for i in `seq 0 40`; do ovs-appctl time/warp 100; done

#Verify that BFD has been enabled on both interfaces.

{ set +x
$as_echo "$at_srcdir/bfd.at:175: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:175"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:175"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:176: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:176"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:176"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



#Set cpath_down to true on one interface, make sure the remote interface updates its values.
{ set +x
$as_echo "$at_srcdir/bfd.at:179: ovs-vsctl set interface p0 bfd:cpath_down=true"
at_fn_check_prepare_trace "bfd.at:179"
( $at_check_trace; ovs-vsctl set interface p0 bfd:cpath_down=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:179"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

for i in `seq 0 40`; do ovs-appctl time/warp 100; done

{ set +x
$as_echo "$at_srcdir/bfd.at:181: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:181"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: Concatenated Path Down
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:181"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/bfd.at:182: check_logs "
at_fn_check_prepare_trace "bfd.at:182"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:182: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "bfd.at:182"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:182: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "bfd.at:182"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_3
#AT_START_4
at_fn_group_banner 4 'bfd.at:186' \
  "bfd - Edit the Min Tx/Rx values" "                " 1
at_xfail=no
(
  $as_echo "4. $at_setup_line: testing $at_desc ..."
  $at_traceon

#Create 2 bridges connected by patch ports and enable BFD
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/bfd.at:188: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "bfd.at:188"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:188"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:188: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "bfd.at:188"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:188"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:188: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:188"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:188"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/bfd.at:188: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "bfd.at:188"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:188"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:188: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "bfd.at:188"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:188"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/bfd.at:188: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:188"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:188"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:188: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "bfd.at:188"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:188"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-appctl time/stop
{ set +x
$as_echo "$at_srcdir/bfd.at:190:  ovs-vsctl -- add-br br1 -- \\
           set bridge br1 datapath-type=dummy "
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:190"
( $at_check_trace;  ovs-vsctl -- add-br br1 -- \
           set bridge br1 datapath-type=dummy
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:190"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/bfd.at:192:  ovs-vsctl -- add-port br1 p1 -- set Interface p1 type=patch \\
           options:peer=p0 "
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:192"
( $at_check_trace;  ovs-vsctl -- add-port br1 p1 -- set Interface p1 type=patch \
           options:peer=p0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:192"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/bfd.at:194:  ovs-vsctl -- add-port br0 p0 -- set Interface p0 type=patch \\
           options:peer=p1 "
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:194"
( $at_check_trace;  ovs-vsctl -- add-port br0 p0 -- set Interface p0 type=patch \
           options:peer=p1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:194"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/bfd.at:196:  ovs-vsctl -- set interface p0 bfd:enable=true "
at_fn_check_prepare_trace "bfd.at:196"
( $at_check_trace;  ovs-vsctl -- set interface p0 bfd:enable=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:196"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/bfd.at:197:  ovs-vsctl -- set interface p1 bfd:enable=true "
at_fn_check_prepare_trace "bfd.at:197"
( $at_check_trace;  ovs-vsctl -- set interface p1 bfd:enable=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:197"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

for i in `seq 0 30`; do ovs-appctl time/warp 100; done
#Verify that BFD has been enabled on both interfaces.

{ set +x
$as_echo "$at_srcdir/bfd.at:200: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:200"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:200"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:201: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:201"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


#Edit the min Tx value.
{ set +x
$as_echo "$at_srcdir/bfd.at:203: ovs-vsctl set interface p0 bfd:min_tx=200"
at_fn_check_prepare_trace "bfd.at:203"
( $at_check_trace; ovs-vsctl set interface p0 bfd:min_tx=200
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:203"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

for i in `seq 0 20`; do ovs-appctl time/warp 100; done

{ set +x
$as_echo "$at_srcdir/bfd.at:205: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:205"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 1000ms
	Local Minimum TX Interval: 200ms
	Remote Minimum TX Interval: 100ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:205"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:206: ovs-appctl bfd/show p1 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:206"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 1000ms
	Local Minimum TX Interval: 100ms
	Remote Minimum TX Interval: 200ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:206"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



#Edit the min Rx value.
{ set +x
$as_echo "$at_srcdir/bfd.at:209: ovs-vsctl set interface p1 bfd:min_rx=300"
at_fn_check_prepare_trace "bfd.at:209"
( $at_check_trace; ovs-vsctl set interface p1 bfd:min_rx=300
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:209"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

for i in `seq 0 20`; do ovs-appctl time/warp 100; done

{ set +x
$as_echo "$at_srcdir/bfd.at:211: ovs-appctl bfd/show p1 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:211"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 300ms
	Local Minimum RX Interval: 300ms
	Remote Minimum RX Interval: 1000ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:211"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:212: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:212"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 1000ms
	Local Minimum RX Interval: 1000ms
	Remote Minimum RX Interval: 300ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:212"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:214: check_logs "
at_fn_check_prepare_trace "bfd.at:214"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:214"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:214: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "bfd.at:214"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:214"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:214: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "bfd.at:214"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:214"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_4
#AT_START_5
at_fn_group_banner 5 'bfd.at:217' \
  "bfd - check_tnl_key" "                            " 1
at_xfail=no
(
  $as_echo "5. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/bfd.at:218: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "bfd.at:218"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:218"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:218: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "bfd.at:218"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:218"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:218: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:218"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:218"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/bfd.at:218: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "bfd.at:218"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:218"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:218: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "bfd.at:218"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:218"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/bfd.at:218: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:218"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:218"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:218: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=gre \\
                    options:remote_ip=2.2.2.2 options:key=1 ofport_request=1 -- \\
                    set interface p1 bfd:enable=true -- \\
                    set bridge br0 fail-mode=standalone "
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:218"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=gre \
                    options:remote_ip=2.2.2.2 options:key=1 ofport_request=1 -- \
                    set interface p1 bfd:enable=true -- \
                    set bridge br0 fail-mode=standalone
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:218"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# by default check_tnl_key is false. so we should process a bfd packet with tun_id=1.
{ set +x
$as_echo "$at_srcdir/bfd.at:224: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x1,src=2.2.2.2,dst=2.2.2.1,tos=0x0,ttl=64,flags(key)),in_port(1),skb_mark(0/0),eth(src=00:11:22:33:44:55,dst=00:23:20:00:00:01),eth_type(0x0800),ipv4(src=169.254.1.0/0.0.0.0,dst=169.254.1.1/0.0.0.0,proto=17/0xff,tos=0/0,ttl=255/0,frag=no/0xff),udp(src=49152/0,dst=3784/0xffff)' -generate"
at_fn_check_prepare_trace "bfd.at:224"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x1,src=2.2.2.2,dst=2.2.2.1,tos=0x0,ttl=64,flags(key)),in_port(1),skb_mark(0/0),eth(src=00:11:22:33:44:55,dst=00:23:20:00:00:01),eth_type(0x0800),ipv4(src=169.254.1.0/0.0.0.0,dst=169.254.1.1/0.0.0.0,proto=17/0xff,tos=0/0,ttl=255/0,frag=no/0xff),udp(src=49152/0,dst=3784/0xffff)' -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:224"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# check that the packet should be handled as BFD packet.
{ set +x
$as_echo "$at_srcdir/bfd.at:226: tail -2 stdout"
at_fn_check_prepare_trace "bfd.at:226"
( $at_check_trace; tail -2 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "This flow is handled by the userspace slow path because it:
	- Consists of BFD packets.
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:226"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# turn on the check_tnl_key.
{ set +x
$as_echo "$at_srcdir/bfd.at:232: ovs-vsctl set interface p1 bfd:check_tnl_key=true"
at_fn_check_prepare_trace "bfd.at:232"
( $at_check_trace; ovs-vsctl set interface p1 bfd:check_tnl_key=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/bfd.at:233: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x1,src=2.2.2.2,dst=2.2.2.1,tos=0x0,ttl=64,flags(key)),in_port(1),skb_mark(0/0),eth(src=00:11:22:33:44:55,dst=00:23:20:00:00:01),eth_type(0x0800),ipv4(src=169.254.1.0/0.0.0.0,dst=169.254.1.1/0.0.0.0,proto=17/0xff,tos=0/0,ttl=255/0,frag=no/0xff),udp(src=49152/0,dst=3784/0xffff)' -generate"
at_fn_check_prepare_trace "bfd.at:233"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x1,src=2.2.2.2,dst=2.2.2.1,tos=0x0,ttl=64,flags(key)),in_port(1),skb_mark(0/0),eth(src=00:11:22:33:44:55,dst=00:23:20:00:00:01),eth_type(0x0800),ipv4(src=169.254.1.0/0.0.0.0,dst=169.254.1.1/0.0.0.0,proto=17/0xff,tos=0/0,ttl=255/0,frag=no/0xff),udp(src=49152/0,dst=3784/0xffff)' -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:233"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# check that the packet should be handled as normal packet.
{ set +x
$as_echo "$at_srcdir/bfd.at:235: tail -1 stdout"
at_fn_check_prepare_trace "bfd.at:235"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 100
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:235"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# set the tunnel key to 0.
{ set +x
$as_echo "$at_srcdir/bfd.at:240: ovs-vsctl set interface p1 options:key=0"
at_fn_check_prepare_trace "bfd.at:240"
( $at_check_trace; ovs-vsctl set interface p1 options:key=0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:240"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/bfd.at:241: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=2.2.2.2,dst=2.2.2.1,tos=0x0,ttl=64,flags(key)),in_port(1),skb_mark(0/0),eth(src=00:11:22:33:44:55,dst=00:23:20:00:00:01),eth_type(0x0800),ipv4(src=169.254.1.0/0.0.0.0,dst=169.254.1.1/0.0.0.0,proto=17/0xff,tos=0/0,ttl=255/0,frag=no/0xff),udp(src=49152/0,dst=3784/0xffff)' -generate"
at_fn_check_prepare_trace "bfd.at:241"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=2.2.2.2,dst=2.2.2.1,tos=0x0,ttl=64,flags(key)),in_port(1),skb_mark(0/0),eth(src=00:11:22:33:44:55,dst=00:23:20:00:00:01),eth_type(0x0800),ipv4(src=169.254.1.0/0.0.0.0,dst=169.254.1.1/0.0.0.0,proto=17/0xff,tos=0/0,ttl=255/0,frag=no/0xff),udp(src=49152/0,dst=3784/0xffff)' -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# check that the packet should be handled as BFD packet.
{ set +x
$as_echo "$at_srcdir/bfd.at:243: tail -2 stdout"
at_fn_check_prepare_trace "bfd.at:243"
( $at_check_trace; tail -2 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "This flow is handled by the userspace slow path because it:
	- Consists of BFD packets.
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:243"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/bfd.at:248: check_logs "
at_fn_check_prepare_trace "bfd.at:248"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:248"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:248: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "bfd.at:248"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:248"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:248: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "bfd.at:248"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:248"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_5
#AT_START_6
at_fn_group_banner 6 'bfd.at:252' \
  "bfd - bfd decay" "                                " 1
at_xfail=no
(
  $as_echo "6. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/bfd.at:253: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "bfd.at:253"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:253"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:253: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "bfd.at:253"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:253"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:253: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:253"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:253"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/bfd.at:253: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "bfd.at:253"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:253"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:253: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "bfd.at:253"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:253"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/bfd.at:253: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:253"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:253"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:253: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- set bridge br1 datapath-type=dummy -- \\
                    add-port br1 p1 -- set Interface p1 type=patch \\
                    options:peer=p0 ofport_request=2 -- \\
                    add-port br0 p0 -- set Interface p0 type=patch \\
                    options:peer=p1 ofport_request=1 -- \\
                    set Interface p0 bfd:enable=true bfd:min_tx=300 bfd:min_rx=300 bfd:decay_min_rx=3000 -- \\
                    set Interface p1 bfd:enable=true bfd:min_tx=500 bfd:min_rx=500 "
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:253"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- set bridge br1 datapath-type=dummy -- \
                    add-port br1 p1 -- set Interface p1 type=patch \
                    options:peer=p0 ofport_request=2 -- \
                    add-port br0 p0 -- set Interface p0 type=patch \
                    options:peer=p1 ofport_request=1 -- \
                    set Interface p0 bfd:enable=true bfd:min_tx=300 bfd:min_rx=300 bfd:decay_min_rx=3000 -- \
                    set Interface p1 bfd:enable=true bfd:min_tx=500 bfd:min_rx=500
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:253"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ovs-appctl time/stop

# wait for local session state to go from down to up.
for i in `seq 0 1`; do ovs-appctl time/warp 500; done

{ set +x
$as_echo "$at_srcdir/bfd.at:265: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:265"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: init
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:265"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }




# Test-1 BFD decay: decay to decay_min_rx
# bfd:decay_min_rx is set to 3000ms after the local state of p0 goes up,
# so for the first 2500ms, there should be no change.
for i in `seq 0 4`; do ovs-appctl time/warp 500; done

{ set +x
$as_echo "$at_srcdir/bfd.at:272: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:272"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:272"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:273: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:273"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:274: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:274"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 300ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:274"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# advance the clock by 500ms.
ovs-appctl time/warp 500
# now at 3000ms, min_rx should decay to 3000ms and there should be
# poll sequence flags.

{ set +x
$as_echo "$at_srcdir/bfd.at:280: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:280"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: final
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:280"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:281: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:281"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: poll
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:281"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:282: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:282"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:282"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:283: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:283"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 3000ms
	Local Minimum RX Interval: 3000ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:283"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# since the tx_min of p0 is still 500ms, after 500ms from decay,
# the control message will be sent from p0 to p1, and p1 'flag'
# will go back to none.
ovs-appctl time/warp 500

{ set +x
$as_echo "$at_srcdir/bfd.at:289: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:289"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:289"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# the rx_min of p0 is 3000ms now, and p1 will send next control message
# 3000ms after decay. so, advance clock by 2500ms to make that happen.
for i in `seq 0 4`; do ovs-appctl time/warp 500; done

{ set +x
$as_echo "$at_srcdir/bfd.at:294: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:294"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:294"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:295: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:295"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:295"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:296: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:296"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 3000ms
	Local Minimum RX Interval: 3000ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:296"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# End of Test-1 ###############################################################


# Test-2 BFD decay: go back to cfg_min_rx when there is traffic
# receive packet at 1/100ms rate for 3000ms.
for i in `seq 0 30`
do
    ovs-appctl time/warp 100
    { set +x
$as_echo "$at_srcdir/bfd.at:305: ovs-ofctl packet-out br1 3 2  \"90e2ba01475000101856b2e80806000108000604000100101856b2e80202020300000000000002020202\""
at_fn_check_prepare_trace "bfd.at:305"
( $at_check_trace; ovs-ofctl packet-out br1 3 2  "90e2ba01475000101856b2e80806000108000604000100101856b2e80202020300000000000002020202"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:305"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

done
# after a decay interval (3000ms), the p0 min_rx will go back to
# cfg_min_rx. there should be poll sequence flags.

{ set +x
$as_echo "$at_srcdir/bfd.at:310: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:310"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: final
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:310"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:311: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:311"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: poll
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:311"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:312: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:312"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:312"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:313: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:313"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 300ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:313"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# 500ms later, both direction will send control messages,
# and their 'flag' will go back to none.
ovs-appctl time/warp 500

{ set +x
$as_echo "$at_srcdir/bfd.at:318: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:318"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:318"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:319: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:319"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:319"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:320: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:320"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:320"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:321: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:321"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 300ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:321"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# End of Test-2 ###############################################################


# Test-3 BFD decay: go back to cfg_min_rx when decay_min_rx is changed
# advance the clock by 2500ms to 3000m after restore of
# min_rx. p0 is decayed, and there should be the poll sequence flags.
for i in `seq 0 4`; do ovs-appctl time/warp 500; done

{ set +x
$as_echo "$at_srcdir/bfd.at:329: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:329"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: final
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:329"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:330: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:330"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: poll
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:330"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:331: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:331"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:331"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:332: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:332"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 3000ms
	Local Minimum RX Interval: 3000ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:332"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# advance the clock, to make 'flag' go back to none.
for i in `seq 0 5`; do ovs-appctl time/warp 500; done

{ set +x
$as_echo "$at_srcdir/bfd.at:336: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:336"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:336"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:337: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:337"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:337"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# change decay_min_rx to 1000ms.
# for decay_min_rx < 2000ms, the decay detection time is set to 2000ms.
# this should firstly reset the min_rx and start poll sequence.
{ set +x
$as_echo "$at_srcdir/bfd.at:342: ovs-vsctl set Interface p0 bfd:decay_min_rx=1000"
at_fn_check_prepare_trace "bfd.at:342"
( $at_check_trace; ovs-vsctl set Interface p0 bfd:decay_min_rx=1000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:342"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/bfd.at:343: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:343"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: final
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:343"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:344: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:344"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: poll
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:344"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:345: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:345"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:345"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:346: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:346"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 300ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:346"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# for the following 1500ms, there should be no decay,
# since the decay_detect_time is set to 2000ms.
for i in `seq 0 2`
do
    ovs-appctl time/warp 500

{ set +x
$as_echo "$at_srcdir/bfd.at:353: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:353"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:353"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:354: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:354"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:354"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:355: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:355"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:355"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:356: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:356"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 300ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:356"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

ovs-appctl time/warp 500
# at 2000ms, decay should happen and there should be the poll sequence flags.

{ set +x
$as_echo "$at_srcdir/bfd.at:361: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:361"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: final
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:362: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:362"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: poll
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:362"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:363: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:363"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:363"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:364: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:364"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 1000ms
	Local Minimum RX Interval: 1000ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:364"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# advance the clock, so 'flag' go back to none.
for i in `seq 0 4`; do ovs-appctl time/warp 500; done
# End of Test-3 ###############################################################


# Test-4 BFD decay: set min_rx to 800ms.
# this should firstly reset the min_rx and then re-decay to 1000ms.
{ set +x
$as_echo "$at_srcdir/bfd.at:372: ovs-vsctl set Interface p0 bfd:min_rx=800"
at_fn_check_prepare_trace "bfd.at:372"
( $at_check_trace; ovs-vsctl set Interface p0 bfd:min_rx=800
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/bfd.at:373: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:373"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: final
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:373"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:374: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:374"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: poll
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:374"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:375: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:375"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:375"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:376: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:376"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 800ms
	Local Minimum RX Interval: 800ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# for the following 1600ms, there should be no decay,
# since the decay detection time is set to 2000ms.
for i in `seq 0 1`
do
    ovs-appctl time/warp 800

{ set +x
$as_echo "$at_srcdir/bfd.at:383: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:383"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:383"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:384: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:384"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:384"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:385: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:385"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:385"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:386: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:386"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 800ms
	Local Minimum RX Interval: 800ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:386"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

ovs-appctl time/warp 400
# at 2000ms, decay should happen and there should be the poll sequence flags.

{ set +x
$as_echo "$at_srcdir/bfd.at:391: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:391"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: final
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:391"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:392: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:392"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: poll
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:392"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:393: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:393"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:393"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:394: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:394"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 1000ms
	Local Minimum RX Interval: 1000ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:394"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# advance the clock, so 'flag' go back to none.
for i in `seq 0 4`; do ovs-appctl time/warp 500; done
# End of Test-4 ###############################################################


# Test-5 BFD decay: set min_rx to 300ms and decay_min_rx to 5000ms together.
{ set +x
$as_echo "$at_srcdir/bfd.at:401: ovs-vsctl set Interface p0 bfd:min_rx=300 bfd:decay_min_rx=5000"
at_fn_check_prepare_trace "bfd.at:401"
( $at_check_trace; ovs-vsctl set Interface p0 bfd:min_rx=300 bfd:decay_min_rx=5000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:401"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/bfd.at:402: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:402"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: final
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:402"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:403: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:403"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: poll
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:403"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:404: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:404"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:404"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:405: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:405"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 300ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:405"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# for decay_min_rx > 2000ms, the decay detection time is set to
# decay_min_rx (5000ms).
# for the following 4500ms, there should be no decay,
# since the decay detection time is set to 5000ms.
for i in `seq 0 8`
do
    ovs-appctl time/warp 500

{ set +x
$as_echo "$at_srcdir/bfd.at:414: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:414"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:414"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:415: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:415"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:415"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:416: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:416"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:416"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:417: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:417"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 300ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:417"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

ovs-appctl time/warp 500
# at 5000ms, decay should happen and there should be the poll sequence flags.

{ set +x
$as_echo "$at_srcdir/bfd.at:422: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:422"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: final
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:422"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:423: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:423"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: poll
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:423"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:424: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:424"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:424"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:425: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:425"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 5000ms
	Local Minimum RX Interval: 5000ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:425"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# advance the clock, to make 'flag' go back to none.
for i in `seq 0 9`; do ovs-appctl time/warp 500; done
# End of Test-5 ###############################################################


# Test-6 BFD decay: set decay_min_rx to 0 to disable bfd decay.
{ set +x
$as_echo "$at_srcdir/bfd.at:432: ovs-vsctl set Interface p0 bfd:decay_min_rx=0"
at_fn_check_prepare_trace "bfd.at:432"
( $at_check_trace; ovs-vsctl set Interface p0 bfd:decay_min_rx=0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:432"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# min_rx is reset, and there should be the poll sequence flags.

{ set +x
$as_echo "$at_srcdir/bfd.at:434: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:434"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: final
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:434"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:435: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:435"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: poll
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:435"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:436: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:436"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:436"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:437: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:437"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 300ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:437"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


for i in `seq 0 20`
do
    ovs-appctl time/warp 500

{ set +x
$as_echo "$at_srcdir/bfd.at:441: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:441"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:441"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:442: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:442"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:442"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:443: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:443"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:443"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:444: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:444"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 300ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:444"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done
# End of Test-6 ################################################################


# Test-7 BFD decay: rmt_min_tx is greater than decay_min_rx
{ set +x
$as_echo "$at_srcdir/bfd.at:450: ovs-vsctl set Interface p0 bfd:decay_min_rx=3000 -- set interface p1 bfd:min_tx=5000"
at_fn_check_prepare_trace "bfd.at:450"
( $at_check_trace; ovs-vsctl set Interface p0 bfd:decay_min_rx=3000 -- set interface p1 bfd:min_tx=5000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:450"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# there will be poll sequences from both sides. and it is hard to determine the
# order. so just skip 10000ms and check the RX/TX. at that time, p0 should be in decay already.
for i in `seq 0 19`; do echo $i; ovs-appctl bfd/show; ovs-appctl time/warp 500; done

{ set +x
$as_echo "$at_srcdir/bfd.at:454: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:454"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:454"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:455: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:455"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:455"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:456: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:456"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 5000ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:456"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:457: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:457"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 5000ms
	Local Minimum RX Interval: 3000ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:457"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# then, there should be no change of status,
for i in `seq 0 9`
do
    ovs-appctl time/warp 500

{ set +x
$as_echo "$at_srcdir/bfd.at:462: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:462"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:462"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:463: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:463"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:463"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:464: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:464"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 5000ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:465: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:465"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 5000ms
	Local Minimum RX Interval: 3000ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:465"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done
# reset the p1's min_tx to 500ms.
{ set +x
$as_echo "$at_srcdir/bfd.at:468: ovs-vsctl set Interface p1 bfd:min_tx=500"
at_fn_check_prepare_trace "bfd.at:468"
( $at_check_trace; ovs-vsctl set Interface p1 bfd:min_tx=500
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:468"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# check the poll sequence. since p0 has been in decay, now the RX will show 3000ms.

{ set +x
$as_echo "$at_srcdir/bfd.at:470: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:470"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: final
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:470"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:471: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:471"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: poll
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:471"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:472: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:472"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:472"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:473: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:473"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 3000ms
	Local Minimum RX Interval: 3000ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:473"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# advance the clock by 3000ms, at that time, p1 will send the control packets.
# then there will be no poll flags.
for i in `seq 0 5`; do ovs-appctl time/warp 500; done

{ set +x
$as_echo "$at_srcdir/bfd.at:477: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:477"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:477"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:478: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:478"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:478"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:479: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:479"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:479"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:480: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:480"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 3000ms
	Local Minimum RX Interval: 3000ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:480"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# End of Test-7 ###############################################################


# Test-8 BFD decay: state up->down->up.
# turn bfd off on p1
{ set +x
$as_echo "$at_srcdir/bfd.at:486: ovs-vsctl set Interface p1 bfd:enable=false"
at_fn_check_prepare_trace "bfd.at:486"
( $at_check_trace; ovs-vsctl set Interface p1 bfd:enable=false
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:486"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# check the state change of bfd on p0. After 9000 ms (3 min_rx intervals)
for i in `seq 0 8`; do ovs-appctl time/warp 1000; done

{ set +x
$as_echo "$at_srcdir/bfd.at:490: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:490"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:490"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:491: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:491"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 1000ms
	Local Minimum TX Interval: 1000ms
	Remote Minimum TX Interval: 0ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:491"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:492: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:492"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 300ms
	Local Minimum RX Interval: 300ms
	Remote Minimum RX Interval: 1ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:492"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# resume the bfd on p1. the bfd should not go to decay mode direclty.
{ set +x
$as_echo "$at_srcdir/bfd.at:495: ovs-vsctl set Interface p1 bfd:enable=true"
at_fn_check_prepare_trace "bfd.at:495"
( $at_check_trace; ovs-vsctl set Interface p1 bfd:enable=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:495"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

for i in `seq 0 1`; do ovs-appctl time/warp 500; done

{ set +x
$as_echo "$at_srcdir/bfd.at:497: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:497"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:497"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:498: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:498"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:498"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:499: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:499"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 300ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:499"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# since the decay_min_rx is still 3000ms, so after 3000ms, there should be the decay and poll sequence.
for i in `seq 0 5`; do ovs-appctl time/warp 500; done

{ set +x
$as_echo "$at_srcdir/bfd.at:503: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:503"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: final
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:503"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:504: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:504"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: poll
	Remote Session State: up
	Remote Diagnostic: Control Detection Time Expired
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:504"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:505: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:505"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:505"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:506: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:506"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 3000ms
	Local Minimum RX Interval: 3000ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:506"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# End of Test-8 ################################################################

{ set +x
$as_echo "$at_srcdir/bfd.at:509: check_logs "
at_fn_check_prepare_trace "bfd.at:509"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:509"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:509: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "bfd.at:509"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:509"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:509: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "bfd.at:509"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:509"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_6
#AT_START_7
at_fn_group_banner 7 'bfd.at:514' \
  "bfd - bfd forwarding_if_rx 1" "                   " 1
at_xfail=no
(
  $as_echo "7. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/bfd.at:515: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "bfd.at:515"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:515"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:515: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "bfd.at:515"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:515"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:515: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:515"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:515"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/bfd.at:515: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "bfd.at:515"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:515"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:515: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "bfd.at:515"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:515"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/bfd.at:515: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:515"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:515"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:515: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- set bridge br1 datapath-type=dummy -- \\
                    add-port br1 p1 -- set Interface p1 type=patch \\
                    options:peer=p0 ofport_request=2 -- \\
                    add-port br0 p0 -- set Interface p0 type=patch \\
                    options:peer=p1 ofport_request=1 -- \\
                    set Interface p0 bfd:enable=true bfd:min_tx=500 bfd:min_rx=500 -- \\
                    add-port br1 p2 -- set Interface p2 type=internal ofport_request=3 "
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:515"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- set bridge br1 datapath-type=dummy -- \
                    add-port br1 p1 -- set Interface p1 type=patch \
                    options:peer=p0 ofport_request=2 -- \
                    add-port br0 p0 -- set Interface p0 type=patch \
                    options:peer=p1 ofport_request=1 -- \
                    set Interface p0 bfd:enable=true bfd:min_tx=500 bfd:min_rx=500 -- \
                    add-port br1 p2 -- set Interface p2 type=internal ofport_request=3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:515"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ovs-appctl time/stop
# check the inital status.

{ set +x
$as_echo "$at_srcdir/bfd.at:525: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:525"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:525"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:526: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:526"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 1000ms
	Local Minimum TX Interval: 1000ms
	Remote Minimum TX Interval: 0ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:526"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:527: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:527"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 500ms
	Remote Minimum RX Interval: 1ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:527"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# enable forwarding_if_rx.
{ set +x
$as_echo "$at_srcdir/bfd.at:530: ovs-vsctl set Interface p0 bfd:forwarding_if_rx=true"
at_fn_check_prepare_trace "bfd.at:530"
( $at_check_trace; ovs-vsctl set Interface p0 bfd:forwarding_if_rx=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:530"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# there should be no change of forwarding flag, since
# there is no traffic.
for i in `seq 0 3`
do
    ovs-appctl time/warp 500

{ set +x
$as_echo "$at_srcdir/bfd.at:537: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:537"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:537"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

# receive one packet.
{ set +x
$as_echo "$at_srcdir/bfd.at:541: ovs-ofctl packet-out br1 3 2  \"90e2ba01475000101856b2e80806000108000604000100101856b2e80202020300000000000002020202\""
at_fn_check_prepare_trace "bfd.at:541"
( $at_check_trace; ovs-ofctl packet-out br1 3 2  "90e2ba01475000101856b2e80806000108000604000100101856b2e80202020300000000000002020202"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:541"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

for i in `seq 0 14`
do
    ovs-appctl time/warp 100
    # the forwarding flag should be true, since there is data received.

{ set +x
$as_echo "$at_srcdir/bfd.at:547: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:547"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:547"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:548: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:548"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 1000ms
	Local Minimum TX Interval: 1000ms
	Remote Minimum TX Interval: 0ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:548"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:549: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:549"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 500ms
	Remote Minimum RX Interval: 1ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:549"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

# Stop sending packets for 1000ms.
for i in `seq 0 9`; do ovs-appctl time/warp 100; done

{ set +x
$as_echo "$at_srcdir/bfd.at:554: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:554"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:554"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:555: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:555"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 1000ms
	Local Minimum TX Interval: 1000ms
	Remote Minimum TX Interval: 0ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:555"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:556: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:556"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 500ms
	Remote Minimum RX Interval: 1ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:556"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# receive packet at 1/100ms rate for 1000ms.
for i in `seq 0 9`
do
    ovs-appctl time/warp 100
    { set +x
$as_echo "$at_srcdir/bfd.at:562: ovs-ofctl packet-out br1 3 2  \"90e2ba01475000101856b2e80806000108000604000100101856b2e80202020300000000000002020202\""
at_fn_check_prepare_trace "bfd.at:562"
( $at_check_trace; ovs-ofctl packet-out br1 3 2  "90e2ba01475000101856b2e80806000108000604000100101856b2e80202020300000000000002020202"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:562"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

done
# the forwarding flag should be true, since there is data received.

{ set +x
$as_echo "$at_srcdir/bfd.at:566: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:566"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:566"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:567: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:567"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 1000ms
	Local Minimum TX Interval: 1000ms
	Remote Minimum TX Interval: 0ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:567"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:568: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:568"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 500ms
	Remote Minimum RX Interval: 1ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:568"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# reset bfd forwarding_if_rx.
{ set +x
$as_echo "$at_srcdir/bfd.at:571: ovs-vsctl set Interface p0 bfd:forwarding_if_rx=false"
at_fn_check_prepare_trace "bfd.at:571"
( $at_check_trace; ovs-vsctl set Interface p0 bfd:forwarding_if_rx=false
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:571"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# forwarding flag should turn to false since the STATE is DOWN.

{ set +x
$as_echo "$at_srcdir/bfd.at:573: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:573"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:573"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:574: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:574"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 1000ms
	Local Minimum TX Interval: 1000ms
	Remote Minimum TX Interval: 0ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:574"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:575: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:575"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 500ms
	Remote Minimum RX Interval: 1ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:575"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:577: ovs-vsctl del-br br1"
at_fn_check_prepare_trace "bfd.at:577"
( $at_check_trace; ovs-vsctl del-br br1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:577"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_7
#AT_START_8
at_fn_group_banner 8 'bfd.at:581' \
  "bfd - bfd forwarding_if_rx 2" "                   " 1
at_xfail=no
(
  $as_echo "8. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/bfd.at:582: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "bfd.at:582"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:582"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:582: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "bfd.at:582"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:582"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:582: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:582"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:582"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/bfd.at:582: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "bfd.at:582"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:582"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:582: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "bfd.at:582"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:582"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/bfd.at:582: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:582"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:582"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:582: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- set bridge br1 datapath-type=dummy -- \\
                    add-port br1 p1 -- set Interface p1 type=patch \\
                    options:peer=p0 ofport_request=2 -- \\
                    add-port br0 p0 -- set Interface p0 type=patch \\
                    options:peer=p1 ofport_request=1 -- \\
                    set Interface p0 bfd:enable=true bfd:min_tx=500 bfd:min_rx=500 -- \\
                    set Interface p1 bfd:enable=true bfd:min_tx=300 bfd:min_rx=300 -- \\
                    add-port br1 p2 -- set Interface p2 type=internal ofport_request=3 "
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:582"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- set bridge br1 datapath-type=dummy -- \
                    add-port br1 p1 -- set Interface p1 type=patch \
                    options:peer=p0 ofport_request=2 -- \
                    add-port br0 p0 -- set Interface p0 type=patch \
                    options:peer=p1 ofport_request=1 -- \
                    set Interface p0 bfd:enable=true bfd:min_tx=500 bfd:min_rx=500 -- \
                    set Interface p1 bfd:enable=true bfd:min_tx=300 bfd:min_rx=300 -- \
                    add-port br1 p2 -- set Interface p2 type=internal ofport_request=3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:582"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ovs-appctl time/stop
# advance the clock, to stablize the states.
for i in `seq 0 9`; do ovs-appctl time/warp 500; done

# enable forwarding_if_rx.
{ set +x
$as_echo "$at_srcdir/bfd.at:596: ovs-vsctl set Interface p0 bfd:forwarding_if_rx=true"
at_fn_check_prepare_trace "bfd.at:596"
( $at_check_trace; ovs-vsctl set Interface p0 bfd:forwarding_if_rx=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:596"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# there should be no change of the forwarding flag, since
# the bfd on both ends is already up.
for i in `seq 0 5`
do
    ovs-appctl time/warp 500

{ set +x
$as_echo "$at_srcdir/bfd.at:603: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:603"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:603"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

# stop the bfd on one side.
{ set +x
$as_echo "$at_srcdir/bfd.at:607: ovs-vsctl set Interface p1 bfd:enable=false"
at_fn_check_prepare_trace "bfd.at:607"
( $at_check_trace; ovs-vsctl set Interface p1 bfd:enable=false
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:607"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# for within 1500ms, the detection timer is not out.
# there is no change to status.
for i in `seq 0 1`
do
    ovs-appctl time/warp 500

{ set +x
$as_echo "$at_srcdir/bfd.at:613: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:613"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:613"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    for i in `seq 0 5`
    do
        { set +x
$as_echo "$at_srcdir/bfd.at:616: ovs-ofctl packet-out br1 3 2  \"90e2ba01475000101856b2e80806000108000604000100101856b2e80202020300000000000002020202\""
at_fn_check_prepare_trace "bfd.at:616"
( $at_check_trace; ovs-ofctl packet-out br1 3 2  "90e2ba01475000101856b2e80806000108000604000100101856b2e80202020300000000000002020202"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:616"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    done
done

# at 1500ms, the STATE should go DOWN, due to Control Detection Time Expired.
# but forwarding flag should be still true.
ovs-appctl time/warp 500

{ set +x
$as_echo "$at_srcdir/bfd.at:624: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:624"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:624"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# receive packet at 1/100ms rate for 1000ms.
for i in `seq 0 9`
do
    { set +x
$as_echo "$at_srcdir/bfd.at:629: ovs-ofctl packet-out br1 3 2  \"90e2ba01475000101856b2e80806000108000604000100101856b2e80202020300000000000002020202\""
at_fn_check_prepare_trace "bfd.at:629"
( $at_check_trace; ovs-ofctl packet-out br1 3 2  "90e2ba01475000101856b2e80806000108000604000100101856b2e80202020300000000000002020202"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:629"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    ovs-appctl time/warp 100
    # the forwarding flag should always be true during this time.

{ set +x
$as_echo "$at_srcdir/bfd.at:633: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:633"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:633"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

# reset bfd forwarding_if_rx.
{ set +x
$as_echo "$at_srcdir/bfd.at:637: ovs-vsctl set Interface p0 bfd:forwarding_if_rx=false"
at_fn_check_prepare_trace "bfd.at:637"
( $at_check_trace; ovs-vsctl set Interface p0 bfd:forwarding_if_rx=false
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:637"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# forwarding flag should turn to false since the STATE is DOWN.

{ set +x
$as_echo "$at_srcdir/bfd.at:639: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:639"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:639"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:640: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:640"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 1000ms
	Local Minimum TX Interval: 1000ms
	Remote Minimum TX Interval: 0ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:640"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:641: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:641"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 500ms
	Remote Minimum RX Interval: 1ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:641"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# re-enable bfd on the other end. the states should be up.
{ set +x
$as_echo "$at_srcdir/bfd.at:644: ovs-vsctl set Interface p1 bfd:enable=true bfd:min_tx=300 bfd:min_rx=300"
at_fn_check_prepare_trace "bfd.at:644"
( $at_check_trace; ovs-vsctl set Interface p1 bfd:enable=true bfd:min_tx=300 bfd:min_rx=300
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:644"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# advance the clock, to stablize the states.
for i in `seq 0 9`; do ovs-appctl time/warp 500; done

{ set +x
$as_echo "$at_srcdir/bfd.at:647: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:647"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:647"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:648: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:648"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: Control Detection Time Expired
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:648"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:649: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:649"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 500ms
	Remote Minimum TX Interval: 300ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:649"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:650: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:650"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 500ms
	Remote Minimum RX Interval: 300ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:650"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:652: ovs-vsctl del-br br1"
at_fn_check_prepare_trace "bfd.at:652"
( $at_check_trace; ovs-vsctl del-br br1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:652"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_8
#AT_START_9
at_fn_group_banner 9 'bfd.at:656' \
  "bfd - bfd forwarding_if_rx 3" "                   " 1
at_xfail=no
(
  $as_echo "9. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/bfd.at:657: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "bfd.at:657"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:657"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:657: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "bfd.at:657"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:657"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/bfd.at:657: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:657"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:657"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/bfd.at:657: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "bfd.at:657"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:657"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:657: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "bfd.at:657"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:657"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/bfd.at:657: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:657"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:657"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/bfd.at:657: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- set bridge br1 datapath-type=dummy -- \\
                    add-port br1 p1 -- set Interface p1 type=patch \\
                    options:peer=p0 ofport_request=2 -- \\
                    add-port br0 p0 -- set Interface p0 type=patch \\
                    options:peer=p1 ofport_request=1 -- \\
                    set Interface p0 bfd:enable=true bfd:min_tx=300 bfd:min_rx=300 bfd:decay_min_rx=3000 -- \\
                    set Interface p1 bfd:enable=true bfd:min_tx=500 bfd:min_rx=500 "
at_fn_check_prepare_notrace 'an embedded newline' "bfd.at:657"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- set bridge br1 datapath-type=dummy -- \
                    add-port br1 p1 -- set Interface p1 type=patch \
                    options:peer=p0 ofport_request=2 -- \
                    add-port br0 p0 -- set Interface p0 type=patch \
                    options:peer=p1 ofport_request=1 -- \
                    set Interface p0 bfd:enable=true bfd:min_tx=300 bfd:min_rx=300 bfd:decay_min_rx=3000 -- \
                    set Interface p1 bfd:enable=true bfd:min_tx=500 bfd:min_rx=500
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:657"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ovs-appctl time/stop
# advance the clock, to stablize the states.
for i in `seq 0 19`; do ovs-appctl time/warp 500; done

{ set +x
$as_echo "$at_srcdir/bfd.at:668: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:668"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:668"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:669: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:669"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:669"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:670: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:670"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:670"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:671: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:671"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 3000ms
	Local Minimum RX Interval: 3000ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:671"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# enable forwarding_if_rx.
{ set +x
$as_echo "$at_srcdir/bfd.at:674: ovs-vsctl set Interface p0 bfd:forwarding_if_rx=true"
at_fn_check_prepare_trace "bfd.at:674"
( $at_check_trace; ovs-vsctl set Interface p0 bfd:forwarding_if_rx=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:674"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# there should be no change of the forwarding flag, since
# the bfd on both ends is already up.
for i in `seq 0 9`
do
    ovs-appctl time/warp 500

{ set +x
$as_echo "$at_srcdir/bfd.at:681: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:681"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:681"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

# reconfigure the decay_min_rx to 1000ms. check the poll sequence.
{ set +x
$as_echo "$at_srcdir/bfd.at:685: ovs-vsctl set interface p0 bfd:decay_min_rx=1000"
at_fn_check_prepare_trace "bfd.at:685"
( $at_check_trace; ovs-vsctl set interface p0 bfd:decay_min_rx=1000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:685"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/bfd.at:686: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:686"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: final
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:686"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:687: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:687"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: poll
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:687"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:688: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:688"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:688"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:689: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:689"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 500ms
	Local Minimum RX Interval: 300ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:689"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# wait for 2000ms to decay.
for i in `seq 0 3`; do ovs-appctl time/warp 500; done

{ set +x
$as_echo "$at_srcdir/bfd.at:693: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:693"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: final
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:693"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:694: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:694"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: poll
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:694"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:695: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:695"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:695"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:696: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:696"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 1000ms
	Local Minimum RX Interval: 1000ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:696"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# wait for 1000ms, so that the flags will go back to none.
for i in `seq 0 1`; do ovs-appctl time/warp 500; done

{ set +x
$as_echo "$at_srcdir/bfd.at:700: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:700"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:700"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:701: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:701"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:701"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:702: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:702"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 500ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:702"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:703: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:703"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 1000ms
	Local Minimum RX Interval: 1000ms
	Remote Minimum RX Interval: 500ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:703"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# stop the bfd on one side.
{ set +x
$as_echo "$at_srcdir/bfd.at:706: ovs-vsctl set Interface p1 bfd:enable=false"
at_fn_check_prepare_trace "bfd.at:706"
( $at_check_trace; ovs-vsctl set Interface p1 bfd:enable=false
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:706"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# for within 2500ms, the detection timer is not out.
# there is no change to status.
for i in `seq 0 4`
do
    ovs-appctl time/warp 500

{ set +x
$as_echo "$at_srcdir/bfd.at:712: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:712"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:712"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    { set +x
$as_echo "$at_srcdir/bfd.at:713: ovs-ofctl packet-out br1 3 2  \"90e2ba01475000101856b2e80806000108000604000100101856b2e80202020300000000000002020202\""
at_fn_check_prepare_trace "bfd.at:713"
( $at_check_trace; ovs-ofctl packet-out br1 3 2  "90e2ba01475000101856b2e80806000108000604000100101856b2e80202020300000000000002020202"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:713"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

done

# at 3000ms, the STATE should go DOWN, due to Control Detection Time Expired.
# but forwarding flag should be still true.
ovs-appctl time/warp 500

{ set +x
$as_echo "$at_srcdir/bfd.at:720: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:720"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:720"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# receive packet at 1/100ms rate for 1000ms.
for i in `seq 0 9`
do
    { set +x
$as_echo "$at_srcdir/bfd.at:725: ovs-ofctl packet-out br1 3 2  \"90e2ba01475000101856b2e80806000108000604000100101856b2e80202020300000000000002020202\""
at_fn_check_prepare_trace "bfd.at:725"
( $at_check_trace; ovs-ofctl packet-out br1 3 2  "90e2ba01475000101856b2e80806000108000604000100101856b2e80202020300000000000002020202"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:725"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    ovs-appctl time/warp 100
    # the forwarding flag should always be true during this time.

{ set +x
$as_echo "$at_srcdir/bfd.at:729: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:729"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:729"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

# stop receiving for 2000ms.
for i in `seq 0 19`; do ovs-appctl time/warp 100; done

{ set +x
$as_echo "$at_srcdir/bfd.at:734: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:734"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:734"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# reset bfd forwarding_if_rx.
{ set +x
$as_echo "$at_srcdir/bfd.at:737: ovs-vsctl set Interface p0 bfd:forwarding_if_rx=false"
at_fn_check_prepare_trace "bfd.at:737"
( $at_check_trace; ovs-vsctl set Interface p0 bfd:forwarding_if_rx=false
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:737"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# forwarding flag should turn to false since the STATE is DOWN.

{ set +x
$as_echo "$at_srcdir/bfd.at:739: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:739"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:739"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:740: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:740"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 1000ms
	Local Minimum TX Interval: 1000ms
	Remote Minimum TX Interval: 0ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:740"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:741: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:741"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 300ms
	Local Minimum RX Interval: 300ms
	Remote Minimum RX Interval: 1ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:741"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# re-enable bfd forwarding_if_rx.
{ set +x
$as_echo "$at_srcdir/bfd.at:744: ovs-vsctl set Interface p0 bfd:forwarding_if_rx=true"
at_fn_check_prepare_trace "bfd.at:744"
( $at_check_trace; ovs-vsctl set Interface p0 bfd:forwarding_if_rx=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:744"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# there should be no change.

{ set +x
$as_echo "$at_srcdir/bfd.at:746: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:746"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: false
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: down
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: down
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:746"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:747: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:747"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 1000ms
	Local Minimum TX Interval: 1000ms
	Remote Minimum TX Interval: 0ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:747"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:748: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:748"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 300ms
	Local Minimum RX Interval: 300ms
	Remote Minimum RX Interval: 1ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:748"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# re-enable bfd on the other end. the states should be up.
{ set +x
$as_echo "$at_srcdir/bfd.at:751: ovs-vsctl set Interface p1 bfd:enable=true bfd:min_tx=300 bfd:min_rx=300"
at_fn_check_prepare_trace "bfd.at:751"
( $at_check_trace; ovs-vsctl set Interface p1 bfd:enable=true bfd:min_tx=300 bfd:min_rx=300
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:751"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# advance the clock, to stablize the states.
for i in `seq 0 9`; do ovs-appctl time/warp 500; done

{ set +x
$as_echo "$at_srcdir/bfd.at:754: ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:754"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: Control Detection Time Expired

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: No Diagnostic
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:754"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:755: ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:755"
( $at_check_trace; ovs-appctl bfd/show p1 | sed -e '/Time:/d' | sed -e '/Discriminator/d' | sed -e '/Interval:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Forwarding: true
	Detect Multiplier: 3
	Concatenated Path Down: false

	Local Flags: none
	Local Session State: up
	Local Diagnostic: No Diagnostic

	Remote Flags: none
	Remote Session State: up
	Remote Diagnostic: Control Detection Time Expired
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:755"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:756: ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:756"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/TX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	TX Interval: Approx 300ms
	Local Minimum TX Interval: 300ms
	Remote Minimum TX Interval: 300ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:756"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:757: ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "bfd.at:757"
( $at_check_trace; ovs-appctl bfd/show p0 | sed -n '/RX Interval/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	RX Interval: Approx 1000ms
	Local Minimum RX Interval: 1000ms
	Remote Minimum RX Interval: 300ms
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:757"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/bfd.at:759: ovs-vsctl del-br br1"
at_fn_check_prepare_trace "bfd.at:759"
( $at_check_trace; ovs-vsctl del-br br1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/bfd.at:759"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_9
#AT_START_10
at_fn_group_banner 10 'cfm.at:18' \
  "cfm - demand mode" "                              " 2
at_xfail=no
(
  $as_echo "10. $at_setup_line: testing $at_desc ..."
  $at_traceon

#Create 2 bridges connected by patch ports and enable BFD
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/cfm.at:20: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "cfm.at:20"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/cfm.at:20: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "cfm.at:20"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/cfm.at:20: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "cfm.at:20"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/cfm.at:20: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "cfm.at:20"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:20"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/cfm.at:20: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "cfm.at:20"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:20"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/cfm.at:20: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "cfm.at:20"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:20"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/cfm.at:20: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- \\
                    set bridge br1 datapath-type=dummy \\
                    other-config:hwaddr=aa:55:aa:56:00:00 -- \\
                    add-port br1 p1 -- set Interface p1 type=patch \\
                    options:peer=p0 -- \\
                    add-port br0 p0 -- set Interface p0 type=patch \\
                    options:peer=p1 -- \\
                    set Interface p0 cfm_mpid=1 other_config:cfm_interval=300 other_config:cfm_extended=true -- \\
                    set Interface p1 cfm_mpid=2 other_config:cfm_interval=300 other_config:cfm_extended=true  "
at_fn_check_prepare_notrace 'an embedded newline' "cfm.at:20"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- \
                    set bridge br1 datapath-type=dummy \
                    other-config:hwaddr=aa:55:aa:56:00:00 -- \
                    add-port br1 p1 -- set Interface p1 type=patch \
                    options:peer=p0 -- \
                    add-port br0 p0 -- set Interface p0 type=patch \
                    options:peer=p1 -- \
                    set Interface p0 cfm_mpid=1 other_config:cfm_interval=300 other_config:cfm_extended=true -- \
                    set Interface p1 cfm_mpid=2 other_config:cfm_interval=300 other_config:cfm_extended=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:20"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ovs-appctl time/stop
# wait for a while to stablize cfm.
for i in `seq 0 100`; do ovs-appctl time/warp 100; done

{ set +x
$as_echo "$at_srcdir/cfm.at:33: ovs-appctl cfm/show p0 | sed -e '/next CCM tx:/d' | sed -e '/next fault check:/d' | sed -e  '/recv since check:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "cfm.at:33"
( $at_check_trace; ovs-appctl cfm/show p0 | sed -e '/next CCM tx:/d' | sed -e '/next fault check:/d' | sed -e  '/recv since check:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "---- p0 ----
MPID 1: extended
	average health: 100
	opstate: up
	remote_opstate: up
	interval: 300ms
Remote MPID 2
	opstate: up
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:33"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/cfm.at:34: ovs-appctl cfm/show p1 | sed -e '/next CCM tx:/d' | sed -e '/next fault check:/d' | sed -e  '/recv since check:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "cfm.at:34"
( $at_check_trace; ovs-appctl cfm/show p1 | sed -e '/next CCM tx:/d' | sed -e '/next fault check:/d' | sed -e  '/recv since check:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "---- p1 ----
MPID 2: extended
	average health: 100
	opstate: up
	remote_opstate: up
	interval: 300ms
Remote MPID 1
	opstate: up
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# turn on demand mode on one end.
{ set +x
$as_echo "$at_srcdir/cfm.at:37: ovs-vsctl set interface p0 other_config:cfm_demand=true"
at_fn_check_prepare_trace "cfm.at:37"
( $at_check_trace; ovs-vsctl set interface p0 other_config:cfm_demand=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:37"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# cfm should never go down.
for i in `seq 0 100`
do
    ovs-appctl time/warp 100

{ set +x
$as_echo "$at_srcdir/cfm.at:43: ovs-appctl cfm/show p0 | sed -e '/next CCM tx:/d' | sed -e '/next fault check:/d' | sed -e  '/recv since check:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "cfm.at:43"
( $at_check_trace; ovs-appctl cfm/show p0 | sed -e '/next CCM tx:/d' | sed -e '/next fault check:/d' | sed -e  '/recv since check:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "---- p0 ----
MPID 1: extended
	average health: 100
	opstate: up
	remote_opstate: up
	interval: 300ms
Remote MPID 2
	opstate: up
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:43"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/cfm.at:44: ovs-appctl cfm/show p1 | sed -e '/next CCM tx:/d' | sed -e '/next fault check:/d' | sed -e  '/recv since check:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "cfm.at:44"
( $at_check_trace; ovs-appctl cfm/show p1 | sed -e '/next CCM tx:/d' | sed -e '/next fault check:/d' | sed -e  '/recv since check:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "---- p1 ----
MPID 2: extended
	average health: 100
	opstate: up
	remote_opstate: up
	interval: 300ms
Remote MPID 1
	opstate: up
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:44"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

# turn on demand mode on the other end.
{ set +x
$as_echo "$at_srcdir/cfm.at:48: ovs-vsctl set interface p1 other_config:cfm_demand=true"
at_fn_check_prepare_trace "cfm.at:48"
( $at_check_trace; ovs-vsctl set interface p1 other_config:cfm_demand=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:48"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

for i in `seq 0 100`
do
    ovs-appctl time/warp 100

{ set +x
$as_echo "$at_srcdir/cfm.at:52: ovs-appctl cfm/show p0 | sed -e '/next CCM tx:/d' | sed -e '/next fault check:/d' | sed -e  '/recv since check:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "cfm.at:52"
( $at_check_trace; ovs-appctl cfm/show p0 | sed -e '/next CCM tx:/d' | sed -e '/next fault check:/d' | sed -e  '/recv since check:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "---- p0 ----
MPID 1: extended
	average health: 100
	opstate: up
	remote_opstate: up
	interval: 300ms
Remote MPID 2
	opstate: up
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:52"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/cfm.at:53: ovs-appctl cfm/show p1 | sed -e '/next CCM tx:/d' | sed -e '/next fault check:/d' | sed -e  '/recv since check:/d'"
at_fn_check_prepare_notrace 'a shell pipeline' "cfm.at:53"
( $at_check_trace; ovs-appctl cfm/show p1 | sed -e '/next CCM tx:/d' | sed -e '/next fault check:/d' | sed -e  '/recv since check:/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "---- p1 ----
MPID 2: extended
	average health: 100
	opstate: up
	remote_opstate: up
	interval: 300ms
Remote MPID 1
	opstate: up
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:53"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


done

{ set +x
$as_echo "$at_srcdir/cfm.at:56: check_logs "
at_fn_check_prepare_trace "cfm.at:56"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:56"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/cfm.at:56: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "cfm.at:56"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:56"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/cfm.at:56: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "cfm.at:56"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/cfm.at:56"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_10
#AT_START_11
at_fn_group_banner 11 'lacp.at:3' \
  "lacp - config" "                                  " 3
at_xfail=no
(
  $as_echo "11. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/lacp.at:4: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "lacp.at:4"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/lacp.at:4: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "lacp.at:4"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lacp.at:4: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "lacp.at:4"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/lacp.at:4: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "lacp.at:4"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/lacp.at:4: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "lacp.at:4"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/lacp.at:4: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "lacp.at:4"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/lacp.at:4: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- \\
        add-port br0 p1 --\\
        set Port p1 lacp=active --\\
        set Interface p1 type=dummy  "
at_fn_check_prepare_notrace 'an embedded newline' "lacp.at:4"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- \
        add-port br0 p1 --\
        set Port p1 lacp=active --\
        set Interface p1 type=dummy
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/lacp.at:9: ovs-appctl lacp/show"
at_fn_check_prepare_trace "lacp.at:9"
( $at_check_trace; ovs-appctl lacp/show
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "---- p1 ----
	status: active negotiated
	sys_id: aa:55:aa:55:00:00
	sys_priority: 65535
	aggregation key: 1
	lacp_time: slow

slave: p1: expired attached
	port_id: 1
	port_priority: 65535
	may_enable: false

	actor sys_id: aa:55:aa:55:00:00
	actor sys_priority: 65535
	actor port_id: 1
	actor port_priority: 65535
	actor key: 1
	actor state: activity synchronized collecting distributing expired

	partner sys_id: 00:00:00:00:00:00
	partner sys_priority: 0
	partner port_id: 0
	partner port_priority: 0
	partner key: 0
	partner state: timeout
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:9"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/lacp.at:36: ovs-appctl bond/show"
at_fn_check_prepare_trace "lacp.at:36"
( $at_check_trace; ovs-appctl bond/show
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:36"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/lacp.at:37: check_logs "
at_fn_check_prepare_trace "lacp.at:37"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:37"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lacp.at:37: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "lacp.at:37"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:37"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lacp.at:37: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "lacp.at:37"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:37"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_11
#AT_START_12
at_fn_group_banner 12 'lacp.at:40' \
  "lacp - multi port config" "                       " 3
at_xfail=no
(
  $as_echo "12. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/lacp.at:41: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "lacp.at:41"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:41"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/lacp.at:41: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "lacp.at:41"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:41"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lacp.at:41: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "lacp.at:41"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:41"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/lacp.at:41: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "lacp.at:41"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:41"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/lacp.at:41: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "lacp.at:41"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:41"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/lacp.at:41: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "lacp.at:41"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:41"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/lacp.at:41: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --         add-bond br0 bond p1 p2 --\\
        set Port bond lacp=active bond-mode=active-backup \\
            other_config:lacp-time=\"fast\" \\
            other_config:lacp-system-id=11:22:33:44:55:66 \\
            other_config:lacp-system-priority=54321 --\\
        set Interface p1 type=dummy \\
            other_config:lacp-port-id=11 \\
            other_config:lacp-port-priority=111 \\
            other_config:lacp-aggregation-key=3333 --\\
        set Interface p2 type=dummy \\
            other_config:lacp-port-id=22 \\
            other_config:lacp-port-priority=222 \\
            other_config:lacp-aggregation-key=3333  "
at_fn_check_prepare_notrace 'an embedded newline' "lacp.at:41"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --         add-bond br0 bond p1 p2 --\
        set Port bond lacp=active bond-mode=active-backup \
            other_config:lacp-time="fast" \
            other_config:lacp-system-id=11:22:33:44:55:66 \
            other_config:lacp-system-priority=54321 --\
        set Interface p1 type=dummy \
            other_config:lacp-port-id=11 \
            other_config:lacp-port-priority=111 \
            other_config:lacp-aggregation-key=3333 --\
        set Interface p2 type=dummy \
            other_config:lacp-port-id=22 \
            other_config:lacp-port-priority=222 \
            other_config:lacp-aggregation-key=3333
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:41"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/lacp.at:56: ovs-appctl lacp/show"
at_fn_check_prepare_trace "lacp.at:56"
( $at_check_trace; ovs-appctl lacp/show
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:56"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/lacp.at:57: sed -e 's/aggregation key:.*/aggregation key: <omitted>/' < stdout"
at_fn_check_prepare_trace "lacp.at:57"
( $at_check_trace; sed -e 's/aggregation key:.*/aggregation key: <omitted>/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "---- bond ----
	status: active negotiated
	sys_id: 11:22:33:44:55:66
	sys_priority: 54321
	aggregation key: <omitted>
	lacp_time: fast

slave: p1: expired attached
	port_id: 11
	port_priority: 111
	may_enable: false

	actor sys_id: 11:22:33:44:55:66
	actor sys_priority: 54321
	actor port_id: 11
	actor port_priority: 111
	actor key: 3333
	actor state: activity timeout aggregation synchronized collecting distributing expired

	partner sys_id: 00:00:00:00:00:00
	partner sys_priority: 0
	partner port_id: 0
	partner port_priority: 0
	partner key: 0
	partner state: timeout

slave: p2: expired attached
	port_id: 22
	port_priority: 222
	may_enable: false

	actor sys_id: 11:22:33:44:55:66
	actor sys_priority: 54321
	actor port_id: 22
	actor port_priority: 222
	actor key: 3333
	actor state: activity timeout aggregation synchronized collecting distributing expired

	partner sys_id: 00:00:00:00:00:00
	partner sys_priority: 0
	partner port_id: 0
	partner port_priority: 0
	partner key: 0
	partner state: timeout
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:57"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/lacp.at:103: ovs-appctl bond/show"
at_fn_check_prepare_trace "lacp.at:103"
( $at_check_trace; ovs-appctl bond/show
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "---- bond ----
bond_mode: active-backup
bond-hash-basis: 0
updelay: 0 ms
downdelay: 0 ms
lacp_status: negotiated

slave p1: disabled
	may_enable: false

slave p2: disabled
	may_enable: false

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:103"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/lacp.at:118: check_logs "
at_fn_check_prepare_trace "lacp.at:118"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:118"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lacp.at:118: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "lacp.at:118"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:118"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lacp.at:118: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "lacp.at:118"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:118"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_12
#AT_START_13
at_fn_group_banner 13 'lacp.at:121' \
  "lacp - negotiation" "                             " 3
at_xfail=no
(
  $as_echo "13. $at_setup_line: testing $at_desc ..."
  $at_traceon

# Create bond0 on br0 with interfaces p0 and p1
#    and bond1 on br1 with interfaces p2 and p3
# with p0 patched to p2 and p1 patched to p3.
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/lacp.at:125: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "lacp.at:125"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:125"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/lacp.at:125: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "lacp.at:125"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:125"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lacp.at:125: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "lacp.at:125"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:125"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/lacp.at:125: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "lacp.at:125"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:125"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/lacp.at:125: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "lacp.at:125"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:125"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/lacp.at:125: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "lacp.at:125"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:125"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/lacp.at:125: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-bond br0 bond0 p0 p1 bond_mode=balance-tcp lacp=active \\
                            other-config:lacp-time=fast \\
                            other-config:bond-rebalance-interval=0 -- \\
   set interface p0 type=patch options:peer=p2 ofport_request=1 -- \\
   set interface p1 type=patch options:peer=p3 ofport_request=2 -- \\
   add-br br1 -- \\
   set bridge br1 other-config:hwaddr=aa:66:aa:66:00:00 -- \\
   set bridge br1 datapath-type=dummy other-config:datapath-id=1234 \\
                  fail-mode=secure -- \\
   add-bond br1 bond1 p2 p3 bond_mode=balance-tcp lacp=active \\
                            other-config:lacp-time=fast \\
                            other-config:bond-rebalance-interval=0 -- \\
   set interface p2 type=patch options:peer=p0 ofport_request=3 -- \\
   set interface p3 type=patch options:peer=p1 ofport_request=4 -- "
at_fn_check_prepare_notrace 'an embedded newline' "lacp.at:125"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-bond br0 bond0 p0 p1 bond_mode=balance-tcp lacp=active \
                            other-config:lacp-time=fast \
                            other-config:bond-rebalance-interval=0 -- \
   set interface p0 type=patch options:peer=p2 ofport_request=1 -- \
   set interface p1 type=patch options:peer=p3 ofport_request=2 -- \
   add-br br1 -- \
   set bridge br1 other-config:hwaddr=aa:66:aa:66:00:00 -- \
   set bridge br1 datapath-type=dummy other-config:datapath-id=1234 \
                  fail-mode=secure -- \
   add-bond br1 bond1 p2 p3 bond_mode=balance-tcp lacp=active \
                            other-config:lacp-time=fast \
                            other-config:bond-rebalance-interval=0 -- \
   set interface p2 type=patch options:peer=p0 ofport_request=3 -- \
   set interface p3 type=patch options:peer=p1 ofport_request=4 --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:125"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/lacp.at:141: ovs-appctl netdev-dummy/set-admin-state up"
at_fn_check_prepare_trace "lacp.at:141"
( $at_check_trace; ovs-appctl netdev-dummy/set-admin-state up
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:141"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-appctl time/stop

# Wait for up to 5 (simulated) seconds, until LACP negotiation finishes.
i=0
while :; do
    ovs-appctl lacp/show bond0 > bond0

    ovs-appctl lacp/show bond1 > bond1

    if grep negotiated bond0 && grep negotiated bond1; then
        if grep expired bond0 || grep expired bond1; then
            :
        else
            break
        fi
    fi
    i=`expr $i + 1`
    if test $i = 50; then
        $as_echo "lacp.at:162" >"$at_check_line_file"
at_fn_check_skip 99 "$at_srcdir/lacp.at:162"
    fi
    ovs-appctl time/warp 100
done

# Now check the correctly negotiated configuration.
{ set +x
$as_echo "$at_srcdir/lacp.at:168: ovs-appctl lacp/show bond0
ovs-appctl lacp/show bond1
ovs-appctl bond/show bond0
ovs-appctl bond/show bond1"
at_fn_check_prepare_notrace 'an embedded newline' "lacp.at:168"
( $at_check_trace; ovs-appctl lacp/show bond0
ovs-appctl lacp/show bond1
ovs-appctl bond/show bond0
ovs-appctl bond/show bond1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:168"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"bond0" \
"bond1"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/lacp.at:173: sed '/active slave/d' stdout"
at_fn_check_prepare_trace "lacp.at:173"
( $at_check_trace; sed '/active slave/d' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "---- bond0 ----
	status: active negotiated
	sys_id: aa:55:aa:55:00:00
	sys_priority: 65534
	aggregation key: 2
	lacp_time: fast

slave: p0: current attached
	port_id: 1
	port_priority: 65535
	may_enable: true

	actor sys_id: aa:55:aa:55:00:00
	actor sys_priority: 65534
	actor port_id: 1
	actor port_priority: 65535
	actor key: 2
	actor state: activity timeout aggregation synchronized collecting distributing

	partner sys_id: aa:66:aa:66:00:00
	partner sys_priority: 65534
	partner port_id: 3
	partner port_priority: 65535
	partner key: 4
	partner state: activity timeout aggregation synchronized collecting distributing

slave: p1: current attached
	port_id: 2
	port_priority: 65535
	may_enable: true

	actor sys_id: aa:55:aa:55:00:00
	actor sys_priority: 65534
	actor port_id: 2
	actor port_priority: 65535
	actor key: 2
	actor state: activity timeout aggregation synchronized collecting distributing

	partner sys_id: aa:66:aa:66:00:00
	partner sys_priority: 65534
	partner port_id: 4
	partner port_priority: 65535
	partner key: 4
	partner state: activity timeout aggregation synchronized collecting distributing
---- bond1 ----
	status: active negotiated
	sys_id: aa:66:aa:66:00:00
	sys_priority: 65534
	aggregation key: 4
	lacp_time: fast

slave: p2: current attached
	port_id: 3
	port_priority: 65535
	may_enable: true

	actor sys_id: aa:66:aa:66:00:00
	actor sys_priority: 65534
	actor port_id: 3
	actor port_priority: 65535
	actor key: 4
	actor state: activity timeout aggregation synchronized collecting distributing

	partner sys_id: aa:55:aa:55:00:00
	partner sys_priority: 65534
	partner port_id: 1
	partner port_priority: 65535
	partner key: 2
	partner state: activity timeout aggregation synchronized collecting distributing

slave: p3: current attached
	port_id: 4
	port_priority: 65535
	may_enable: true

	actor sys_id: aa:66:aa:66:00:00
	actor sys_priority: 65534
	actor port_id: 4
	actor port_priority: 65535
	actor key: 4
	actor state: activity timeout aggregation synchronized collecting distributing

	partner sys_id: aa:55:aa:55:00:00
	partner sys_priority: 65534
	partner port_id: 2
	partner port_priority: 65535
	partner key: 2
	partner state: activity timeout aggregation synchronized collecting distributing
---- bond0 ----
bond_mode: balance-tcp
bond-hash-basis: 0
updelay: 0 ms
downdelay: 0 ms
lacp_status: negotiated

slave p0: enabled
	may_enable: true

slave p1: enabled
	may_enable: true

---- bond1 ----
bond_mode: balance-tcp
bond-hash-basis: 0
updelay: 0 ms
downdelay: 0 ms
lacp_status: negotiated

slave p2: enabled
	may_enable: true

slave p3: enabled
	may_enable: true

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:173"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"bond0" \
"bond1"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/lacp.at:289: grep 'active slave' stdout"
at_fn_check_prepare_trace "lacp.at:289"
( $at_check_trace; grep 'active slave' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	active slave
	active slave
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:289"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"bond0" \
"bond1"
$at_traceon; }


# Redirect the patch link between p0 and p2 so that no packets get
# back and forth across them anymore.  Then wait 4 simulated
# seconds.  The LACP state should become "expired" for p0 and p2.
{ set +x
$as_echo "$at_srcdir/lacp.at:297: ovs-vsctl \\
-- add-port br0 null0 -- set int null0 type=patch options:peer=p2 -- set int p2 options:peer=null0 \\
-- add-port br1 null1 -- set int null1 type=patch options:peer=p0 -- set int p0 options:peer=null1"
at_fn_check_prepare_notrace 'an embedded newline' "lacp.at:297"
( $at_check_trace; ovs-vsctl \
-- add-port br0 null0 -- set int null0 type=patch options:peer=p2 -- set int p2 options:peer=null0 \
-- add-port br1 null1 -- set int null1 type=patch options:peer=p0 -- set int p0 options:peer=null1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:297"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"bond0" \
"bond1"
$at_traceon; }


for i in `seq 0 40`; do ovs-appctl time/warp 100; done
{ set +x
$as_echo "$at_srcdir/lacp.at:302: ovs-appctl lacp/show bond0
ovs-appctl lacp/show bond1
ovs-appctl bond/show bond0
ovs-appctl bond/show bond1"
at_fn_check_prepare_notrace 'an embedded newline' "lacp.at:302"
( $at_check_trace; ovs-appctl lacp/show bond0
ovs-appctl lacp/show bond1
ovs-appctl bond/show bond0
ovs-appctl bond/show bond1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "---- bond0 ----
	status: active negotiated
	sys_id: aa:55:aa:55:00:00
	sys_priority: 65534
	aggregation key: 2
	lacp_time: fast

slave: p0: expired attached
	port_id: 1
	port_priority: 65535
	may_enable: false

	actor sys_id: aa:55:aa:55:00:00
	actor sys_priority: 65534
	actor port_id: 1
	actor port_priority: 65535
	actor key: 2
	actor state: activity timeout aggregation synchronized collecting distributing expired

	partner sys_id: aa:66:aa:66:00:00
	partner sys_priority: 65534
	partner port_id: 3
	partner port_priority: 65535
	partner key: 4
	partner state: activity timeout aggregation collecting distributing

slave: p1: current attached
	port_id: 2
	port_priority: 65535
	may_enable: true

	actor sys_id: aa:55:aa:55:00:00
	actor sys_priority: 65534
	actor port_id: 2
	actor port_priority: 65535
	actor key: 2
	actor state: activity timeout aggregation synchronized collecting distributing

	partner sys_id: aa:66:aa:66:00:00
	partner sys_priority: 65534
	partner port_id: 4
	partner port_priority: 65535
	partner key: 4
	partner state: activity timeout aggregation synchronized collecting distributing
---- bond1 ----
	status: active negotiated
	sys_id: aa:66:aa:66:00:00
	sys_priority: 65534
	aggregation key: 4
	lacp_time: fast

slave: p2: expired attached
	port_id: 3
	port_priority: 65535
	may_enable: false

	actor sys_id: aa:66:aa:66:00:00
	actor sys_priority: 65534
	actor port_id: 3
	actor port_priority: 65535
	actor key: 4
	actor state: activity timeout aggregation synchronized collecting distributing expired

	partner sys_id: aa:55:aa:55:00:00
	partner sys_priority: 65534
	partner port_id: 1
	partner port_priority: 65535
	partner key: 2
	partner state: activity timeout aggregation collecting distributing

slave: p3: current attached
	port_id: 4
	port_priority: 65535
	may_enable: true

	actor sys_id: aa:66:aa:66:00:00
	actor sys_priority: 65534
	actor port_id: 4
	actor port_priority: 65535
	actor key: 4
	actor state: activity timeout aggregation synchronized collecting distributing

	partner sys_id: aa:55:aa:55:00:00
	partner sys_priority: 65534
	partner port_id: 2
	partner port_priority: 65535
	partner key: 2
	partner state: activity timeout aggregation synchronized collecting distributing
---- bond0 ----
bond_mode: balance-tcp
bond-hash-basis: 0
updelay: 0 ms
downdelay: 0 ms
lacp_status: negotiated

slave p0: disabled
	may_enable: false

slave p1: enabled
	active slave
	may_enable: true

---- bond1 ----
bond_mode: balance-tcp
bond-hash-basis: 0
updelay: 0 ms
downdelay: 0 ms
lacp_status: negotiated

slave p2: disabled
	may_enable: false

slave p3: enabled
	active slave
	may_enable: true

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:302"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"bond0" \
"bond1"
$at_traceon; }


# Wait 4 more simulated seconds.  The LACP state should become
# "defaulted" for p0 and p2.
for i in `seq 0 40`; do ovs-appctl time/warp 100; done
{ set +x
$as_echo "$at_srcdir/lacp.at:428: ovs-appctl lacp/show bond0
ovs-appctl lacp/show bond1
ovs-appctl bond/show bond0
ovs-appctl bond/show bond1"
at_fn_check_prepare_notrace 'an embedded newline' "lacp.at:428"
( $at_check_trace; ovs-appctl lacp/show bond0
ovs-appctl lacp/show bond1
ovs-appctl bond/show bond0
ovs-appctl bond/show bond1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "---- bond0 ----
	status: active negotiated
	sys_id: aa:55:aa:55:00:00
	sys_priority: 65534
	aggregation key: 2
	lacp_time: fast

slave: p0: defaulted detached
	port_id: 1
	port_priority: 65535
	may_enable: false

	actor sys_id: aa:55:aa:55:00:00
	actor sys_priority: 65534
	actor port_id: 1
	actor port_priority: 65535
	actor key: 2
	actor state: activity timeout aggregation defaulted

	partner sys_id: 00:00:00:00:00:00
	partner sys_priority: 0
	partner port_id: 0
	partner port_priority: 0
	partner key: 0
	partner state:

slave: p1: current attached
	port_id: 2
	port_priority: 65535
	may_enable: true

	actor sys_id: aa:55:aa:55:00:00
	actor sys_priority: 65534
	actor port_id: 2
	actor port_priority: 65535
	actor key: 2
	actor state: activity timeout aggregation synchronized collecting distributing

	partner sys_id: aa:66:aa:66:00:00
	partner sys_priority: 65534
	partner port_id: 4
	partner port_priority: 65535
	partner key: 4
	partner state: activity timeout aggregation synchronized collecting distributing
---- bond1 ----
	status: active negotiated
	sys_id: aa:66:aa:66:00:00
	sys_priority: 65534
	aggregation key: 4
	lacp_time: fast

slave: p2: defaulted detached
	port_id: 3
	port_priority: 65535
	may_enable: false

	actor sys_id: aa:66:aa:66:00:00
	actor sys_priority: 65534
	actor port_id: 3
	actor port_priority: 65535
	actor key: 4
	actor state: activity timeout aggregation defaulted

	partner sys_id: 00:00:00:00:00:00
	partner sys_priority: 0
	partner port_id: 0
	partner port_priority: 0
	partner key: 0
	partner state:

slave: p3: current attached
	port_id: 4
	port_priority: 65535
	may_enable: true

	actor sys_id: aa:66:aa:66:00:00
	actor sys_priority: 65534
	actor port_id: 4
	actor port_priority: 65535
	actor key: 4
	actor state: activity timeout aggregation synchronized collecting distributing

	partner sys_id: aa:55:aa:55:00:00
	partner sys_priority: 65534
	partner port_id: 2
	partner port_priority: 65535
	partner key: 2
	partner state: activity timeout aggregation synchronized collecting distributing
---- bond0 ----
bond_mode: balance-tcp
bond-hash-basis: 0
updelay: 0 ms
downdelay: 0 ms
lacp_status: negotiated

slave p0: disabled
	may_enable: false

slave p1: enabled
	active slave
	may_enable: true

---- bond1 ----
bond_mode: balance-tcp
bond-hash-basis: 0
updelay: 0 ms
downdelay: 0 ms
lacp_status: negotiated

slave p2: disabled
	may_enable: false

slave p3: enabled
	active slave
	may_enable: true

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:428"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"bond0" \
"bond1"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/lacp.at:550: check_logs "
at_fn_check_prepare_trace "lacp.at:550"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:550"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"bond0" \
"bond1"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lacp.at:550: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "lacp.at:550"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:550"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"bond0" \
"bond1"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lacp.at:550: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "lacp.at:550"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lacp.at:550"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"bond0" \
"bond1"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_13
#AT_START_14
at_fn_group_banner 14 'library.at:3' \
  "test flow extractor" "                            " 4
at_xfail=no
(
  $as_echo "14. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/library.at:4: \$PERL \`which flowgen.pl\` >/dev/null 3>flows 4>pcap"
at_fn_check_prepare_notrace 'a `...` command substitution' "library.at:4"
( $at_check_trace; $PERL `which flowgen.pl` >/dev/null 3>flows 4>pcap
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/library.at:5: test-flows <flows 3<pcap"
at_fn_check_prepare_trace "library.at:5"
( $at_check_trace; test-flows <flows 3<pcap
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "checked 247 packets, 0 errors
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:5"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_14
#AT_START_15
at_fn_group_banner 15 'library.at:9' \
  "test TCP/IP checksumming" "                       " 4
at_xfail=no
(
  $as_echo "15. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/library.at:10: test-csum"
at_fn_check_prepare_trace "library.at:10"
( $at_check_trace; test-csum
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "....#....#....###................................#................................#
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:10"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_15
#AT_START_16
at_fn_group_banner 16 'library.at:14' \
  "test hash functions" "                            " 4
at_xfail=no
(
  $as_echo "16. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/library.at:15: test-hash"
at_fn_check_prepare_trace "library.at:15"
( $at_check_trace; test-hash
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:15"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_16
#AT_START_17
at_fn_group_banner 17 'library.at:18' \
  "test hash map" "                                  " 4
at_xfail=no
(
  $as_echo "17. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/library.at:19: test-hmap"
at_fn_check_prepare_trace "library.at:19"
( $at_check_trace; test-hmap
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo ".........
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:19"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_17
#AT_START_18
at_fn_group_banner 18 'library.at:23' \
  "test hash index" "                                " 4
at_xfail=no
(
  $as_echo "18. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/library.at:24: test-hindex"
at_fn_check_prepare_trace "library.at:24"
( $at_check_trace; test-hindex
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo ".....................
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:24"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_18
#AT_START_19
at_fn_group_banner 19 'library.at:28' \
  "test atomic operations" "                         " 4
at_xfail=no
(
  $as_echo "19. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/library.at:29: test-atomic"
at_fn_check_prepare_trace "library.at:29"
( $at_check_trace; test-atomic
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:29"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_19
#AT_START_20
at_fn_group_banner 20 'library.at:32' \
  "test linked lists" "                              " 4
at_xfail=no
(
  $as_echo "20. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/library.at:33: test-list"
at_fn_check_prepare_trace "library.at:33"
( $at_check_trace; test-list
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "..
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:33"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_20
#AT_START_21
at_fn_group_banner 21 'library.at:37' \
  "test packet library" "                            " 4
at_xfail=no
(
  $as_echo "21. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/library.at:38: test-packets"
at_fn_check_prepare_trace "library.at:38"
( $at_check_trace; test-packets
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:38"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_21
#AT_START_22
at_fn_group_banner 22 'library.at:41' \
  "test SHA-1" "                                     " 4
at_xfail=no
(
  $as_echo "22. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/library.at:42: test-sha1"
at_fn_check_prepare_trace "library.at:42"
( $at_check_trace; test-sha1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo ".........
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:42"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_22
#AT_START_23
at_fn_group_banner 23 'library.at:46' \
  "test type properties" "                           " 4
at_xfail=no
(
  $as_echo "23. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/library.at:47: test-type-props"
at_fn_check_prepare_trace "library.at:47"
( $at_check_trace; test-type-props
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:47"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_23
#AT_START_24
at_fn_group_banner 24 'library.at:50' \
  "test strtok_r bug fix" "                          " 4
at_xfail=no
(
  $as_echo "24. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/library.at:51: test-strtok_r"
at_fn_check_prepare_trace "library.at:51"
( $at_check_trace; test-strtok_r
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NULL NULL
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:51"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_24
#AT_START_25
at_fn_group_banner 25 'library.at:55' \
  "test byte order conversion" "                     " 4
at_xfail=no
(
  $as_echo "25. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/library.at:57: test-byte-order"
at_fn_check_prepare_trace "library.at:57"
( $at_check_trace; test-byte-order
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:57"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_25
#AT_START_26
at_fn_group_banner 26 'library.at:60' \
  "test random number generator" "                   " 4
at_xfail=no
(
  $as_echo "26. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/library.at:61: test-random"
at_fn_check_prepare_trace "library.at:61"
( $at_check_trace; test-random
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "average=7fa2014f

bit      0     1
  0  4946  5054
  1  4939  5061
  2  4947  5053
  3  4935  5065
  4  5004  4996
  5  4998  5002
  6  5062  4938
  7  5009  4991
  8  5001  4999
  9  5022  4978
 10  5006  4994
 11  5039  4961
 12  4940  5060
 13  5048  4952
 14  4930  5070
 15  4973  5027
 16  4954  5046
 17  5043  4957
 18  5020  4980
 19  5104  4896
 20  5051  4949
 21  5003  4997
 22  5110  4890
 23  4950  5050
 24  5016  4984
 25  5019  4981
 26  4948  5052
 27  4995  5005
 28  4995  5005
 29  4969  5031
 30  5109  4891
 31  4984  5016
(expected values are 5000)

nibble   0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15
     0 640 589 610 613 588 632 650 613 582 646 627 640 612 650 637 671
     1 626 642 663 620 630 609 617 602 615 638 614 644 641 597 598 644
     2 667 611 617 613 609 629 642 651 604 641 594 659 651 610 617 585
     3 621 662 594 605 618 644 616 613 613 616 611 608 614 660 653 652
     4 641 668 621 664 619 624 625 642 624 629 607 566 599 639 618 614
     5 666 629 620 621 581 615 598 620 630 651 671 622 628 603 657 588
     6 620 640 621 606 603 644 628 633 620 597 653 591 637 658 634 615
     7 636 645 679 593 598 609 612 612 623 626 638 669 603 629 606 622
(expected values are 625)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:61"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_26
#AT_START_27
at_fn_group_banner 27 'library.at:112' \
  "ctz() function" "                                 " 4
at_xfail=no
(
  $as_echo "27. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/library.at:112: test-util ctz"
at_fn_check_prepare_trace "library.at:112"
( $at_check_trace; test-util ctz
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_27
#AT_START_28
at_fn_group_banner 28 'library.at:112' \
  "round_up_pow2() function" "                       " 4
at_xfail=no
(
  $as_echo "28. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/library.at:112: test-util round_up_pow2"
at_fn_check_prepare_trace "library.at:112"
( $at_check_trace; test-util round_up_pow2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_28
#AT_START_29
at_fn_group_banner 29 'library.at:112' \
  "round_down_pow2() function" "                     " 4
at_xfail=no
(
  $as_echo "29. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/library.at:112: test-util round_down_pow2"
at_fn_check_prepare_trace "library.at:112"
( $at_check_trace; test-util round_down_pow2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_29
#AT_START_30
at_fn_group_banner 30 'library.at:112' \
  "popcount() function" "                            " 4
at_xfail=no
(
  $as_echo "30. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/library.at:112: test-util popcount"
at_fn_check_prepare_trace "library.at:112"
( $at_check_trace; test-util popcount
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_30
#AT_START_31
at_fn_group_banner 31 'library.at:112' \
  "log_2_floor() function" "                         " 4
at_xfail=no
(
  $as_echo "31. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/library.at:112: test-util log_2_floor"
at_fn_check_prepare_trace "library.at:112"
( $at_check_trace; test-util log_2_floor
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_31
#AT_START_32
at_fn_group_banner 32 'library.at:112' \
  "bitwise_copy() function" "                        " 4
at_xfail=no
(
  $as_echo "32. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/library.at:112: test-util bitwise_copy"
at_fn_check_prepare_trace "library.at:112"
( $at_check_trace; test-util bitwise_copy
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_32
#AT_START_33
at_fn_group_banner 33 'library.at:112' \
  "bitwise_zero() function" "                        " 4
at_xfail=no
(
  $as_echo "33. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/library.at:112: test-util bitwise_zero"
at_fn_check_prepare_trace "library.at:112"
( $at_check_trace; test-util bitwise_zero
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_33
#AT_START_34
at_fn_group_banner 34 'library.at:112' \
  "bitwise_one() function" "                         " 4
at_xfail=no
(
  $as_echo "34. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/library.at:112: test-util bitwise_one"
at_fn_check_prepare_trace "library.at:112"
( $at_check_trace; test-util bitwise_one
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_34
#AT_START_35
at_fn_group_banner 35 'library.at:112' \
  "bitwise_is_all_zeros() function" "                " 4
at_xfail=no
(
  $as_echo "35. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/library.at:112: test-util bitwise_is_all_zeros"
at_fn_check_prepare_trace "library.at:112"
( $at_check_trace; test-util bitwise_is_all_zeros
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_35
#AT_START_36
at_fn_group_banner 36 'library.at:128' \
  "test unix socket, short pathname - C" "           " 4
at_xfail=no
(
  $as_echo "36. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/library.at:129: test-unix-socket x"
at_fn_check_prepare_trace "library.at:129"
( $at_check_trace; test-unix-socket x
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:129"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_36
#AT_START_37
at_fn_group_banner 37 'library.at:137' \
  "test unix socket, long pathname - C" "            " 4
at_xfail=no
(
  $as_echo "37. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "library.at:138" >"$at_check_line_file"
(test ! -d /proc/self/fd) \
  && at_fn_check_skip 77 "$at_srcdir/library.at:138"
longname=012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
mkdir $longname
cd $longname
{ set +x
$as_echo "$at_srcdir/library.at:143: test-unix-socket ../\$longname/socket socket"
at_fn_check_prepare_dynamic "test-unix-socket ../$longname/socket socket" "library.at:143"
( $at_check_trace; test-unix-socket ../$longname/socket socket
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:143"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_37
#AT_START_38
at_fn_group_banner 38 'library.at:146' \
  "test unix socket, short pathname - Python" "      " 4
at_xfail=no
(
  $as_echo "38. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "library.at:147" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/library.at:147"
{ set +x
$as_echo "$at_srcdir/library.at:148: \$PYTHON \$srcdir/test-unix-socket.py x"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-unix-socket.py x" "library.at:148"
( $at_check_trace; $PYTHON $srcdir/test-unix-socket.py x
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:148"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_38
#AT_START_39
at_fn_group_banner 39 'library.at:156' \
  "test unix socket, long pathname - Python" "       " 4
at_xfail=no
(
  $as_echo "39. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "library.at:157" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/library.at:157"
$as_echo "library.at:158" >"$at_check_line_file"
(test ! -d /proc/self/fd) \
  && at_fn_check_skip 77 "$at_srcdir/library.at:158"
longname=012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
mkdir $longname
cd $longname
{ set +x
$as_echo "$at_srcdir/library.at:163: \$PYTHON \$abs_srcdir/test-unix-socket.py ../\$longname/socket socket"
at_fn_check_prepare_dynamic "$PYTHON $abs_srcdir/test-unix-socket.py ../$longname/socket socket" "library.at:163"
( $at_check_trace; $PYTHON $abs_srcdir/test-unix-socket.py ../$longname/socket socket
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:163"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_39
#AT_START_40
at_fn_group_banner 40 'library.at:166' \
  "ovs_assert" "                                     " 4
at_xfail=no
(
  $as_echo "40. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_LOGDIR=`pwd`; export OVS_LOGDIR
{ set +x
$as_echo "$at_srcdir/library.at:168: test-util -voff -vfile:info '-vPATTERN:file:%c|%p|%m' --log-file assert || kill -l \$?"
at_fn_check_prepare_notrace 'a shell pipeline' "library.at:168"
( $at_check_trace; test-util -voff -vfile:info '-vPATTERN:file:%c|%p|%m' --log-file assert || kill -l $?
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "ABRT
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:168"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/library.at:172: sed 's/\\(opened log file\\) .*/\\1/
s/|[^|]*: /|/' test-util.log"
at_fn_check_prepare_notrace 'an embedded newline' "library.at:172"
( $at_check_trace; sed 's/\(opened log file\) .*/\1/
s/|[^|]*: /|/' test-util.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "vlog|INFO|opened log file
util|EMER|assertion false failed in test_assert()
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:172"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/library.at:178: sed 's/.*: //
1q' stderr"
at_fn_check_prepare_notrace 'an embedded newline' "library.at:178"
( $at_check_trace; sed 's/.*: //
1q' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "assertion false failed in test_assert()
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/library.at:178"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_40
#AT_START_41
at_fn_group_banner 41 'heap.at:8' \
  "heap library -- insert delete same order" "       " 5
at_xfail=no
(
  $as_echo "41. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/heap.at:8: test-heap insert-delete-same-order"
at_fn_check_prepare_trace "heap.at:8"
( $at_check_trace; test-heap insert-delete-same-order
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/heap.at:8"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_41
#AT_START_42
at_fn_group_banner 42 'heap.at:9' \
  "heap library -- insert delete reverse order" "    " 5
at_xfail=no
(
  $as_echo "42. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/heap.at:9: test-heap insert-delete-reverse-order"
at_fn_check_prepare_trace "heap.at:9"
( $at_check_trace; test-heap insert-delete-reverse-order
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/heap.at:9"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_42
#AT_START_43
at_fn_group_banner 43 'heap.at:10' \
  "heap library -- insert delete every order" "      " 5
at_xfail=no
(
  $as_echo "43. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/heap.at:10: test-heap insert-delete-every-order"
at_fn_check_prepare_trace "heap.at:10"
( $at_check_trace; test-heap insert-delete-every-order
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/heap.at:10"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_43
#AT_START_44
at_fn_group_banner 44 'heap.at:11' \
  "heap library -- insert delete same order with dups" "" 5
at_xfail=no
(
  $as_echo "44. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/heap.at:11: test-heap insert-delete-same-order-with-dups"
at_fn_check_prepare_trace "heap.at:11"
( $at_check_trace; test-heap insert-delete-same-order-with-dups
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/heap.at:11"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_44
#AT_START_45
at_fn_group_banner 45 'heap.at:12' \
  "heap library -- raw insert" "                     " 5
at_xfail=no
(
  $as_echo "45. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/heap.at:12: test-heap raw-insert"
at_fn_check_prepare_trace "heap.at:12"
( $at_check_trace; test-heap raw-insert
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/heap.at:12"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_45
#AT_START_46
at_fn_group_banner 46 'heap.at:13' \
  "heap library -- raw delete" "                     " 5
at_xfail=no
(
  $as_echo "46. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/heap.at:13: test-heap raw-delete"
at_fn_check_prepare_trace "heap.at:13"
( $at_check_trace; test-heap raw-delete
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/heap.at:13"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_46
#AT_START_47
at_fn_group_banner 47 'bundle.at:10' \
  "hrw bundle link selection" "                      " 6
at_xfail=no
(
  $as_echo "47. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/bundle.at:11: test-bundle 'symmetric_l4,60,hrw,ofport,NXM_NX_REG0[],slaves:1,2,3,4,5'"
at_fn_check_prepare_trace "bundle.at:11"
( $at_check_trace; test-bundle 'symmetric_l4,60,hrw,ofport,NXM_NX_REG0[],slaves:1,2,3,4,5'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/bundle.at:11"
$at_failed && at_fn_log_failure
$at_traceon; }

# 100000: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
# 110000: disruption=0.50 (perfect=0.50) 0.50 0.50 0.00 0.00 0.00 0.00
# 010000: disruption=0.50 (perfect=0.50) 0.00 1.00 0.00 0.00 0.00 0.00
# 011000: disruption=0.50 (perfect=0.50) 0.00 0.50 0.50 0.00 0.00 0.00
# 111000: disruption=0.33 (perfect=0.33) 0.33 0.33 0.34 0.00 0.00 0.00
# 101000: disruption=0.33 (perfect=0.33) 0.50 0.00 0.50 0.00 0.00 0.00
# 001000: disruption=0.50 (perfect=0.50) 0.00 0.00 1.00 0.00 0.00 0.00
# 001100: disruption=0.50 (perfect=0.50) 0.00 0.00 0.50 0.50 0.00 0.00
# 101100: disruption=0.33 (perfect=0.33) 0.33 0.00 0.34 0.33 0.00 0.00
# 111100: disruption=0.25 (perfect=0.25) 0.25 0.25 0.25 0.25 0.00 0.00
# 011100: disruption=0.25 (perfect=0.25) 0.00 0.33 0.33 0.33 0.00 0.00
# 010100: disruption=0.33 (perfect=0.33) 0.00 0.50 0.00 0.50 0.00 0.00
# 110100: disruption=0.33 (perfect=0.33) 0.33 0.33 0.00 0.34 0.00 0.00
# 100100: disruption=0.33 (perfect=0.33) 0.50 0.00 0.00 0.50 0.00 0.00
# 000100: disruption=0.50 (perfect=0.50) 0.00 0.00 0.00 1.00 0.00 0.00
# 000110: disruption=0.50 (perfect=0.50) 0.00 0.00 0.00 0.50 0.50 0.00
# 100110: disruption=0.33 (perfect=0.33) 0.33 0.00 0.00 0.33 0.33 0.00
# 110110: disruption=0.25 (perfect=0.25) 0.25 0.25 0.00 0.25 0.25 0.00
# 010110: disruption=0.25 (perfect=0.25) 0.00 0.34 0.00 0.33 0.33 0.00
# 011110: disruption=0.25 (perfect=0.25) 0.00 0.25 0.25 0.25 0.25 0.00
# 111110: disruption=0.20 (perfect=0.20) 0.20 0.20 0.20 0.20 0.20 0.00
# 101110: disruption=0.20 (perfect=0.20) 0.25 0.00 0.25 0.25 0.25 0.00
# 001110: disruption=0.25 (perfect=0.25) 0.00 0.00 0.34 0.33 0.33 0.00
# 001010: disruption=0.33 (perfect=0.33) 0.00 0.00 0.50 0.00 0.50 0.00
# 101010: disruption=0.33 (perfect=0.33) 0.33 0.00 0.34 0.00 0.33 0.00
# 111010: disruption=0.25 (perfect=0.25) 0.25 0.25 0.25 0.00 0.25 0.00
# 011010: disruption=0.25 (perfect=0.25) 0.00 0.33 0.34 0.00 0.33 0.00
# 010010: disruption=0.34 (perfect=0.33) 0.00 0.50 0.00 0.00 0.50 0.00
# 110010: disruption=0.33 (perfect=0.33) 0.33 0.33 0.00 0.00 0.33 0.00
# 100010: disruption=0.33 (perfect=0.33) 0.50 0.00 0.00 0.00 0.50 0.00
# 000010: disruption=0.50 (perfect=0.50) 0.00 0.00 0.00 0.00 1.00 0.00
# 000011: disruption=0.50 (perfect=0.50) 0.00 0.00 0.00 0.00 0.50 0.50
# 100011: disruption=0.33 (perfect=0.33) 0.33 0.00 0.00 0.00 0.33 0.33
# 110011: disruption=0.25 (perfect=0.25) 0.25 0.25 0.00 0.00 0.25 0.25
# 010011: disruption=0.25 (perfect=0.25) 0.00 0.33 0.00 0.00 0.33 0.33
# 011011: disruption=0.25 (perfect=0.25) 0.00 0.25 0.25 0.00 0.25 0.25
# 111011: disruption=0.20 (perfect=0.20) 0.20 0.20 0.20 0.00 0.20 0.20
# 101011: disruption=0.20 (perfect=0.20) 0.25 0.00 0.25 0.00 0.25 0.25
# 001011: disruption=0.25 (perfect=0.25) 0.00 0.00 0.34 0.00 0.33 0.33
# 001111: disruption=0.25 (perfect=0.25) 0.00 0.00 0.25 0.25 0.25 0.25
# 101111: disruption=0.20 (perfect=0.20) 0.20 0.00 0.20 0.20 0.20 0.20
# 111111: disruption=0.17 (perfect=0.17) 0.17 0.17 0.17 0.17 0.17 0.17
# 011111: disruption=0.17 (perfect=0.17) 0.00 0.20 0.20 0.20 0.20 0.20
# 010111: disruption=0.20 (perfect=0.20) 0.00 0.25 0.00 0.25 0.25 0.25
# 110111: disruption=0.20 (perfect=0.20) 0.20 0.20 0.00 0.20 0.20 0.20
# 100111: disruption=0.20 (perfect=0.20) 0.25 0.00 0.00 0.25 0.25 0.25
# 000111: disruption=0.25 (perfect=0.25) 0.00 0.00 0.00 0.33 0.33 0.33
# 000101: disruption=0.33 (perfect=0.33) 0.00 0.00 0.00 0.50 0.00 0.50
# 100101: disruption=0.33 (perfect=0.33) 0.33 0.00 0.00 0.33 0.00 0.33
# 110101: disruption=0.25 (perfect=0.25) 0.25 0.25 0.00 0.25 0.00 0.25
# 010101: disruption=0.25 (perfect=0.25) 0.00 0.33 0.00 0.33 0.00 0.33
# 011101: disruption=0.25 (perfect=0.25) 0.00 0.25 0.25 0.25 0.00 0.25
# 111101: disruption=0.20 (perfect=0.20) 0.20 0.20 0.20 0.20 0.00 0.20
# 101101: disruption=0.20 (perfect=0.20) 0.25 0.00 0.25 0.25 0.00 0.25
# 001101: disruption=0.25 (perfect=0.25) 0.00 0.00 0.33 0.33 0.00 0.33
# 001001: disruption=0.33 (perfect=0.33) 0.00 0.00 0.50 0.00 0.00 0.50
# 101001: disruption=0.33 (perfect=0.33) 0.33 0.00 0.33 0.00 0.00 0.33
# 111001: disruption=0.25 (perfect=0.25) 0.25 0.25 0.25 0.00 0.00 0.25
# 011001: disruption=0.25 (perfect=0.25) 0.00 0.33 0.34 0.00 0.00 0.33
# 010001: disruption=0.34 (perfect=0.33) 0.00 0.50 0.00 0.00 0.00 0.50
# 110001: disruption=0.33 (perfect=0.33) 0.33 0.33 0.00 0.00 0.00 0.34
# 100001: disruption=0.33 (perfect=0.33) 0.50 0.00 0.00 0.00 0.00 0.50
# 000001: disruption=0.50 (perfect=0.50) 0.00 0.00 0.00 0.00 0.00 1.00
# 000000: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 0.00 0.00 0.00
# 100000: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_47
#AT_START_48
at_fn_group_banner 48 'bundle.at:80' \
  "active_backup bundle link selection" "            " 6
at_xfail=no
(
  $as_echo "48. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/bundle.at:81: test-bundle 'symmetric_l4,60,active_backup,ofport,NXM_NX_REG0[],slaves:1,2,3,4,5,6'"
at_fn_check_prepare_trace "bundle.at:81"
( $at_check_trace; test-bundle 'symmetric_l4,60,active_backup,ofport,NXM_NX_REG0[],slaves:1,2,3,4,5,6'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "100000: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
110000: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
010000: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
011000: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
111000: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
101000: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
001000: disruption=1.00 (perfect=1.00) 0.00 0.00 1.00 0.00 0.00 0.00
001100: disruption=0.00 (perfect=0.00) 0.00 0.00 1.00 0.00 0.00 0.00
101100: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
111100: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
011100: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
010100: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
110100: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
100100: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
000100: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 1.00 0.00 0.00
000110: disruption=0.00 (perfect=0.00) 0.00 0.00 0.00 1.00 0.00 0.00
100110: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
110110: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
010110: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
011110: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
111110: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
101110: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
001110: disruption=1.00 (perfect=1.00) 0.00 0.00 1.00 0.00 0.00 0.00
001010: disruption=0.00 (perfect=0.00) 0.00 0.00 1.00 0.00 0.00 0.00
101010: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
111010: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
011010: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
010010: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
110010: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
100010: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
000010: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 0.00 1.00 0.00
000011: disruption=0.00 (perfect=0.00) 0.00 0.00 0.00 0.00 1.00 0.00
100011: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
110011: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
010011: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
011011: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
111011: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
101011: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
001011: disruption=1.00 (perfect=1.00) 0.00 0.00 1.00 0.00 0.00 0.00
001111: disruption=0.00 (perfect=0.00) 0.00 0.00 1.00 0.00 0.00 0.00
101111: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
111111: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
011111: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
010111: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
110111: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
100111: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
000111: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 1.00 0.00 0.00
000101: disruption=0.00 (perfect=0.00) 0.00 0.00 0.00 1.00 0.00 0.00
100101: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
110101: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
010101: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
011101: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
111101: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
101101: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
001101: disruption=1.00 (perfect=1.00) 0.00 0.00 1.00 0.00 0.00 0.00
001001: disruption=0.00 (perfect=0.00) 0.00 0.00 1.00 0.00 0.00 0.00
101001: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
111001: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
011001: disruption=1.00 (perfect=1.00) 0.00 1.00 0.00 0.00 0.00 0.00
010001: disruption=0.00 (perfect=0.00) 0.00 1.00 0.00 0.00 0.00 0.00
110001: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
100001: disruption=0.00 (perfect=0.00) 1.00 0.00 0.00 0.00 0.00 0.00
000001: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 0.00 0.00 1.00
000000: disruption=1.00 (perfect=1.00) 0.00 0.00 0.00 0.00 0.00 0.00
100000: disruption=1.00 (perfect=1.00) 1.00 0.00 0.00 0.00 0.00 0.00
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/bundle.at:81"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_48
#AT_START_49
at_fn_group_banner 49 'bundle.at:151' \
  "hrw bundle single link selection" "               " 6
at_xfail=no
(
  $as_echo "49. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/bundle.at:152: test-bundle 'symmetric_l4,60,hrw,ofport,NXM_NX_REG0[],slaves:1'"
at_fn_check_prepare_trace "bundle.at:152"
( $at_check_trace; test-bundle 'symmetric_l4,60,hrw,ofport,NXM_NX_REG0[],slaves:1'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/bundle.at:152"
$at_failed && at_fn_log_failure
$at_traceon; }

# 1: disruption=1.00 (perfect=1.00) 1.00
# 0: disruption=1.00 (perfect=1.00) 0.00
# 1: disruption=1.00 (perfect=1.00) 1.00
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_49
#AT_START_50
at_fn_group_banner 50 'bundle.at:159' \
  "hrw bundle no link selection" "                   " 6
at_xfail=no
(
  $as_echo "50. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/bundle.at:160: test-bundle 'symmetric_l4,60,hrw,ofport,NXM_NX_REG0[],slaves:'"
at_fn_check_prepare_trace "bundle.at:160"
( $at_check_trace; test-bundle 'symmetric_l4,60,hrw,ofport,NXM_NX_REG0[],slaves:'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/bundle.at:160"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_50
#AT_START_51
at_fn_group_banner 51 'bundle.at:166' \
  "bundle action missing argument" "                 " 6
at_xfail=no
(
  $as_echo "51. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/bundle.at:167: ovs-ofctl parse-flow actions=bundle"
at_fn_check_prepare_trace "bundle.at:167"
( $at_check_trace; ovs-ofctl parse-flow actions=bundle
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: : not enough arguments to bundle action
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/bundle.at:167"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_51
#AT_START_52
at_fn_group_banner 52 'bundle.at:172' \
  "bundle action bad fields" "                       " 6
at_xfail=no
(
  $as_echo "52. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/bundle.at:173: ovs-ofctl parse-flow 'actions=bundle(xyzzy,60,hrw,ofport,slaves:1,2))'"
at_fn_check_prepare_trace "bundle.at:173"
( $at_check_trace; ovs-ofctl parse-flow 'actions=bundle(xyzzy,60,hrw,ofport,slaves:1,2))'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: xyzzy,60,hrw,ofport,slaves:1,2: unknown fields \`xyzzy'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/bundle.at:173"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_52
#AT_START_53
at_fn_group_banner 53 'bundle.at:178' \
  "bundle action bad algorithm" "                    " 6
at_xfail=no
(
  $as_echo "53. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/bundle.at:179: ovs-ofctl parse-flow 'actions=bundle(symmetric_l4,60,fubar,ofport,slaves:1,2))'"
at_fn_check_prepare_trace "bundle.at:179"
( $at_check_trace; ovs-ofctl parse-flow 'actions=bundle(symmetric_l4,60,fubar,ofport,slaves:1,2))'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: symmetric_l4,60,fubar,ofport,slaves:1,2: unknown algorithm \`fubar'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/bundle.at:179"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_53
#AT_START_54
at_fn_group_banner 54 'bundle.at:184' \
  "bundle action bad slave type" "                   " 6
at_xfail=no
(
  $as_echo "54. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/bundle.at:185: ovs-ofctl parse-flow 'actions=bundle(symmetric_l4,60,hrw,robot,slaves:1,2))'"
at_fn_check_prepare_trace "bundle.at:185"
( $at_check_trace; ovs-ofctl parse-flow 'actions=bundle(symmetric_l4,60,hrw,robot,slaves:1,2))'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: symmetric_l4,60,hrw,robot,slaves:1,2: unknown slave_type \`robot'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/bundle.at:185"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_54
#AT_START_55
at_fn_group_banner 55 'bundle.at:190' \
  "bundle action bad slave delimiter" "              " 6
at_xfail=no
(
  $as_echo "55. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/bundle.at:191: ovs-ofctl parse-flow 'actions=bundle(symmetric_l4,60,hrw,ofport,robot:1,2))'"
at_fn_check_prepare_trace "bundle.at:191"
( $at_check_trace; ovs-ofctl parse-flow 'actions=bundle(symmetric_l4,60,hrw,ofport,robot:1,2))'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: symmetric_l4,60,hrw,ofport,robot:1,2: missing slave delimiter, expected \`slaves' got \`robot'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/bundle.at:191"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_55
#AT_START_56
at_fn_group_banner 56 'classifier.at:2' \
  "flow classifier - empty" "                        " 7
at_xfail=no
(
  $as_echo "56. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/classifier.at:2: test-classifier empty"
at_fn_check_prepare_trace "classifier.at:2"
( $at_check_trace; test-classifier empty
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/classifier.at:2"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_56
#AT_START_57
at_fn_group_banner 57 'classifier.at:2' \
  "flow classifier - destroy null" "                 " 7
at_xfail=no
(
  $as_echo "57. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/classifier.at:2: test-classifier destroy-null"
at_fn_check_prepare_trace "classifier.at:2"
( $at_check_trace; test-classifier destroy-null
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/classifier.at:2"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_57
#AT_START_58
at_fn_group_banner 58 'classifier.at:2' \
  "flow classifier - single rule" "                  " 7
at_xfail=no
(
  $as_echo "58. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/classifier.at:2: test-classifier single-rule"
at_fn_check_prepare_trace "classifier.at:2"
( $at_check_trace; test-classifier single-rule
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/classifier.at:2"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_58
#AT_START_59
at_fn_group_banner 59 'classifier.at:2' \
  "flow classifier - rule replacement" "             " 7
at_xfail=no
(
  $as_echo "59. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/classifier.at:2: test-classifier rule-replacement"
at_fn_check_prepare_trace "classifier.at:2"
( $at_check_trace; test-classifier rule-replacement
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/classifier.at:2"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_59
#AT_START_60
at_fn_group_banner 60 'classifier.at:2' \
  "flow classifier - many rules in one list" "       " 7
at_xfail=no
(
  $as_echo "60. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/classifier.at:2: test-classifier many-rules-in-one-list"
at_fn_check_prepare_trace "classifier.at:2"
( $at_check_trace; test-classifier many-rules-in-one-list
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/classifier.at:2"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_60
#AT_START_61
at_fn_group_banner 61 'classifier.at:2' \
  "flow classifier - many rules in one table" "      " 7
at_xfail=no
(
  $as_echo "61. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/classifier.at:2: test-classifier many-rules-in-one-table"
at_fn_check_prepare_trace "classifier.at:2"
( $at_check_trace; test-classifier many-rules-in-one-table
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/classifier.at:2"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_61
#AT_START_62
at_fn_group_banner 62 'classifier.at:2' \
  "flow classifier - many rules in two tables" "     " 7
at_xfail=no
(
  $as_echo "62. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/classifier.at:2: test-classifier many-rules-in-two-tables"
at_fn_check_prepare_trace "classifier.at:2"
( $at_check_trace; test-classifier many-rules-in-two-tables
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/classifier.at:2"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_62
#AT_START_63
at_fn_group_banner 63 'classifier.at:2' \
  "flow classifier - many rules in five tables" "    " 7
at_xfail=no
(
  $as_echo "63. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/classifier.at:2: test-classifier many-rules-in-five-tables"
at_fn_check_prepare_trace "classifier.at:2"
( $at_check_trace; test-classifier many-rules-in-five-tables
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/classifier.at:2"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_63
#AT_START_64
at_fn_group_banner 64 'classifier.at:17' \
  "miniflow - miniflow" "                            " 8
at_xfail=no
(
  $as_echo "64. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/classifier.at:17: test-classifier miniflow"
at_fn_check_prepare_trace "classifier.at:17"
( $at_check_trace; test-classifier miniflow
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/classifier.at:17"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_64
#AT_START_65
at_fn_group_banner 65 'classifier.at:17' \
  "miniflow - minimask_has_extra" "                  " 8
at_xfail=no
(
  $as_echo "65. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/classifier.at:17: test-classifier minimask_has_extra"
at_fn_check_prepare_trace "classifier.at:17"
( $at_check_trace; test-classifier minimask_has_extra
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/classifier.at:17"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_65
#AT_START_66
at_fn_group_banner 66 'classifier.at:17' \
  "miniflow - minimask_combine" "                    " 8
at_xfail=no
(
  $as_echo "66. $at_setup_line: testing $at_desc ..."
  $at_traceon

   { set +x
$as_echo "$at_srcdir/classifier.at:17: test-classifier minimask_combine"
at_fn_check_prepare_trace "classifier.at:17"
( $at_check_trace; test-classifier minimask_combine
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/classifier.at:17"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_66
#AT_START_67
at_fn_group_banner 67 'check-structs.at:11' \
  "check struct tail padding" "                      " 9
at_xfail=no
(
  $as_echo "67. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "check-structs.at:12" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/check-structs.at:12"
   cat >test.h <<'_ATEOF'
struct xyz {
    ovs_be16 x;
};
_ATEOF

   { set +x
$as_echo "$at_srcdir/check-structs.at:12: \$PYTHON \$top_srcdir/build-aux/check-structs test.h"
at_fn_check_prepare_dynamic "$PYTHON $top_srcdir/build-aux/check-structs test.h" "check-structs.at:12"
( $at_check_trace; $PYTHON $top_srcdir/build-aux/check-structs test.h
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "test.h:3: warning: struct xyz needs 2 bytes of tail padding
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/check-structs.at:12"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_67
#AT_START_68
at_fn_group_banner 68 'check-structs.at:21' \
  "check struct internal alignment" "                " 9
at_xfail=no
(
  $as_echo "68. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "check-structs.at:22" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/check-structs.at:22"
   cat >test.h <<'_ATEOF'
struct xyzzy {
    ovs_be16 x;
    ovs_be32 y;
};
_ATEOF

   { set +x
$as_echo "$at_srcdir/check-structs.at:22: \$PYTHON \$top_srcdir/build-aux/check-structs test.h"
at_fn_check_prepare_dynamic "$PYTHON $top_srcdir/build-aux/check-structs test.h" "check-structs.at:22"
( $at_check_trace; $PYTHON $top_srcdir/build-aux/check-structs test.h
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "test.h:3: warning: struct xyzzy member y is 2 bytes short of 4-byte alignment
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/check-structs.at:22"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_68
#AT_START_69
at_fn_group_banner 69 'check-structs.at:32' \
  "check struct declared size" "                     " 9
at_xfail=no
(
  $as_echo "69. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "check-structs.at:33" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/check-structs.at:33"
   cat >test.h <<'_ATEOF'
struct wibble {
    ovs_be64 z;
};
OFP_ASSERT(sizeof(struct wibble) == 12);

_ATEOF

   { set +x
$as_echo "$at_srcdir/check-structs.at:33: \$PYTHON \$top_srcdir/build-aux/check-structs test.h"
at_fn_check_prepare_dynamic "$PYTHON $top_srcdir/build-aux/check-structs test.h" "check-structs.at:33"
( $at_check_trace; $PYTHON $top_srcdir/build-aux/check-structs test.h
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "test.h:4: warning: struct wibble is 8 bytes long but declared as 12
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/check-structs.at:33"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_69
#AT_START_70
at_fn_group_banner 70 'check-structs.at:44' \
  "check wrong struct's declared size" "             " 9
at_xfail=no
(
  $as_echo "70. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "check-structs.at:45" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/check-structs.at:45"
   cat >test.h <<'_ATEOF'
struct moo {
    ovs_be64 bar;
};
OFP_ASSERT(sizeof(struct moo) == 8);
struct wibble {
    ovs_be64 z;
};
OFP_ASSERT(sizeof(struct moo) == 8);

_ATEOF

   { set +x
$as_echo "$at_srcdir/check-structs.at:45: \$PYTHON \$top_srcdir/build-aux/check-structs test.h"
at_fn_check_prepare_dynamic "$PYTHON $top_srcdir/build-aux/check-structs test.h" "check-structs.at:45"
( $at_check_trace; $PYTHON $top_srcdir/build-aux/check-structs test.h
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "test.h:8: warning: checking size of struct moo but struct wibble was most recently defined
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/check-structs.at:45"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_70
#AT_START_71
at_fn_group_banner 71 'daemon.at:3' \
  "daemon" "                                         " 10
at_xfail=no
(
  $as_echo "71. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/daemon.at:4: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "daemon.at:4"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/daemon.at:4: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "daemon.at:4"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }



# Start the daemon and wait for the pidfile to get created
# and that its contents are the correct pid.
{ set +x
$as_echo "$at_srcdir/daemon.at:9: ovsdb-server --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db& echo \$! > expected"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:9"
( $at_check_trace; ovsdb-server --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db& echo $! > expected
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:9"
$at_failed && at_fn_log_failure  \
"pid" \
"expected"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:10: ovs_wait_cond () { test -s pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "daemon.at:10"
( $at_check_trace; ovs_wait_cond () { test -s pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:10"
if $at_failed; then :
  kill `cat expected`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"expected"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:11: pid=\`cat pid\` && expected=\`cat expected\` && test \"\$pid\" = \"\$expected\""
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:11"
( $at_check_trace; pid=`cat pid` && expected=`cat expected` && test "$pid" = "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:11"
if $at_failed; then :
  kill `cat expected`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"expected"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:14: kill -0 \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:14"
( $at_check_trace; kill -0 `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:14"
if $at_failed; then :
  kill `cat expected`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"expected"
$at_traceon; }

# Kill the daemon and make sure that the pidfile gets deleted.
kill `cat expected`
{ set +x
$as_echo "$at_srcdir/daemon.at:17: ovs_wait_cond () { if kill -0 \`cat expected\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:17"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat expected`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:17"
$at_failed && at_fn_log_failure  \
"pid" \
"expected"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:18: test ! -e pid"
at_fn_check_prepare_trace "daemon.at:18"
( $at_check_trace; test ! -e pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:18"
$at_failed && at_fn_log_failure  \
"pid" \
"expected"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_71
#AT_START_72
at_fn_group_banner 72 'daemon.at:21' \
  "daemon --monitor" "                               " 10
at_xfail=no
(
  $as_echo "72. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/daemon.at:22: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "daemon.at:22"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:22"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/daemon.at:22: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "daemon.at:22"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:22"
$at_failed && at_fn_log_failure
$at_traceon; }





# Start the daemon and wait for the pidfile to get created.
{ set +x
$as_echo "$at_srcdir/daemon.at:28: ovsdb-server --monitor --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db& echo \$! > parent"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:28"
( $at_check_trace; ovsdb-server --monitor --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db& echo $! > parent
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:28"
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:29: ovs_wait_cond () { test -s pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "daemon.at:29"
( $at_check_trace; ovs_wait_cond () { test -s pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:29"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

# Check that the pidfile names a running process,
# and that the parent process of that process is our child process.
{ set +x
$as_echo "$at_srcdir/daemon.at:32: kill -0 \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:32"
( $at_check_trace; kill -0 `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:32"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:33: ps -o ppid= -p \`cat pid\` > parentpid"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:33"
( $at_check_trace; ps -o ppid= -p `cat pid` > parentpid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:33"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:35: parentpid=\`cat parentpid\` &&
   parent=\`cat parent\` &&
   test \$parentpid = \$parent"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:35"
( $at_check_trace; parentpid=`cat parentpid` &&
   parent=`cat parent` &&
   test $parentpid = $parent
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:35"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

# Avoid a race between pidfile creation and notifying the parent,
# which can easily trigger if ovsdb-server is slow (e.g. due to valgrind).
{ set +x
$as_echo "$at_srcdir/daemon.at:42: ovs_wait_cond () { ovs-appctl --timeout=10 -t \"\`pwd\`/unixctl\" version
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:42"
( $at_check_trace; ovs_wait_cond () { ovs-appctl --timeout=10 -t "`pwd`/unixctl" version
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:42"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

# Kill the daemon process, making it look like a segfault,
# and wait for a new child process to get spawned.
{ set +x
$as_echo "$at_srcdir/daemon.at:47: cp pid oldpid"
at_fn_check_prepare_trace "daemon.at:47"
( $at_check_trace; cp pid oldpid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:47"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:48: kill -SEGV \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:48"
( $at_check_trace; kill -SEGV `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:48"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:49: ovs_wait_cond () { if kill -0 \`cat oldpid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:49"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat oldpid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:49"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:50: ovs_wait_cond () { test -s pid && test \`cat pid\` != \`cat oldpid\`
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:50"
( $at_check_trace; ovs_wait_cond () { test -s pid && test `cat pid` != `cat oldpid`
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:50"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:52: cp pid newpid"
at_fn_check_prepare_trace "daemon.at:52"
( $at_check_trace; cp pid newpid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:52"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

# Check that the pidfile names a running process,
# and that the parent process of that process is our child process.
{ set +x
$as_echo "$at_srcdir/daemon.at:55: ps -o ppid= -p \`cat pid\` > parentpid"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:55"
( $at_check_trace; ps -o ppid= -p `cat pid` > parentpid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:55"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:57: parentpid=\`cat parentpid\` &&
   parent=\`cat parent\` &&
   test \$parentpid = \$parent"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:57"
( $at_check_trace; parentpid=`cat parentpid` &&
   parent=`cat parent` &&
   test $parentpid = $parent
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:57"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

# Kill the daemon process with SIGTERM, and wait for the daemon
# and the monitor processes to go away and the pidfile to get deleted.
{ set +x
$as_echo "$at_srcdir/daemon.at:64: kill \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:64"
( $at_check_trace; kill `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:64"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:65: ovs_wait_cond () { if kill -0 \`cat parent\` || kill -0 \`cat newpid\` || test -e pid; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:65"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat parent` || kill -0 `cat newpid` || test -e pid; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:65"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_72
#AT_START_73
at_fn_group_banner 73 'daemon.at:69' \
  "daemon --detach" "                                " 10
at_xfail=no
(
  $as_echo "73. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/daemon.at:71: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "daemon.at:71"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:71"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/daemon.at:71: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "daemon.at:71"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:71"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

# Start the daemon and make sure that the pidfile exists immediately.
# We don't wait for the pidfile to get created because the daemon is
# supposed to do so before the parent exits.
{ set +x
$as_echo "$at_srcdir/daemon.at:75: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:75"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:75"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:76: test -s pid"
at_fn_check_prepare_trace "daemon.at:76"
( $at_check_trace; test -s pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:76"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:77: kill -0 \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:77"
( $at_check_trace; kill -0 `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:77"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

# Kill the daemon and make sure that the pidfile gets deleted.
cp pid saved-pid
kill `cat pid`
{ set +x
$as_echo "$at_srcdir/daemon.at:81: ovs_wait_cond () { if kill -0 \`cat saved-pid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:81"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat saved-pid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:81"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:82: test ! -e pid"
at_fn_check_prepare_trace "daemon.at:82"
( $at_check_trace; test ! -e pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:82"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_73
#AT_START_74
at_fn_group_banner 74 'daemon.at:85' \
  "daemon --detach --monitor" "                      " 10
at_xfail=no
(
  $as_echo "74. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/daemon.at:88: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "daemon.at:88"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:88"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/daemon.at:88: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "daemon.at:88"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:88"
$at_failed && at_fn_log_failure
$at_traceon; }







# Start the daemon and make sure that the pidfile exists immediately.
# We don't wait for the pidfile to get created because the daemon is
# supposed to do so before the parent exits.
{ set +x
$as_echo "$at_srcdir/daemon.at:98: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/daemon --monitor --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:98"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/daemon --monitor --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:98"
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:99: test -s daemon"
at_fn_check_prepare_trace "daemon.at:99"
( $at_check_trace; test -s daemon
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:99"
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

# Check that the pidfile names a running process,
# and that the parent process of that process is a running process,
# and that the parent process of that process is init.
{ set +x
$as_echo "$at_srcdir/daemon.at:103: kill -0 \`cat daemon\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:103"
( $at_check_trace; kill -0 `cat daemon`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:103"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:104: ps -o ppid= -p \`cat daemon\` > monitor"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:104"
( $at_check_trace; ps -o ppid= -p `cat daemon` > monitor
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:104"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:105: kill -0 \`cat monitor\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:105"
( $at_check_trace; kill -0 `cat monitor`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:105"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:106: ps -o ppid= -p \`cat monitor\` > init"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:106"
( $at_check_trace; ps -o ppid= -p `cat monitor` > init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:106"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:107: test \`cat init\` != \$\$"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:107"
( $at_check_trace; test `cat init` != $$
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:107"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

# Kill the daemon process, making it look like a segfault,
# and wait for a new daemon process to get spawned.
{ set +x
$as_echo "$at_srcdir/daemon.at:110: cp daemon olddaemon"
at_fn_check_prepare_trace "daemon.at:110"
( $at_check_trace; cp daemon olddaemon
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:110"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:111: kill -SEGV \`cat daemon\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:111"
( $at_check_trace; kill -SEGV `cat daemon`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:111"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:112: ovs_wait_cond () { if kill -0 \`cat olddaemon\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:112"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat olddaemon`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:112"
if $at_failed; then :
  kill `cat olddaemon daemon`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:113: ovs_wait_cond () { test -s daemon && test \`cat daemon\` != \`cat olddaemon\`
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:113"
( $at_check_trace; ovs_wait_cond () { test -s daemon && test `cat daemon` != `cat olddaemon`
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:113"
if $at_failed; then :
  kill `cat olddaemon daemon`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:115: cp daemon newdaemon"
at_fn_check_prepare_trace "daemon.at:115"
( $at_check_trace; cp daemon newdaemon
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:115"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

# Check that the pidfile names a running process,
# and that the parent process of that process is our child process.
{ set +x
$as_echo "$at_srcdir/daemon.at:118: kill -0 \`cat daemon\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:118"
( $at_check_trace; kill -0 `cat daemon`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:118"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:119: diff olddaemon newdaemon"
at_fn_check_prepare_trace "daemon.at:119"
( $at_check_trace; diff olddaemon newdaemon
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/daemon.at:119"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:120: ps -o ppid= -p \`cat daemon\` > newmonitor"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:120"
( $at_check_trace; ps -o ppid= -p `cat daemon` > newmonitor
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:120"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:121: diff monitor newmonitor"
at_fn_check_prepare_trace "daemon.at:121"
( $at_check_trace; diff monitor newmonitor
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:121"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:122: kill -0 \`cat newmonitor\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:122"
( $at_check_trace; kill -0 `cat newmonitor`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:122"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:123: ps -o ppid= -p \`cat newmonitor\` > init"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:123"
( $at_check_trace; ps -o ppid= -p `cat newmonitor` > init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:123"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:124: test \`cat init\` != \$\$"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:124"
( $at_check_trace; test `cat init` != $$
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:124"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

# Kill the daemon process with SIGTERM, and wait for the daemon
# and the monitor processes to go away and the pidfile to get deleted.
{ set +x
$as_echo "$at_srcdir/daemon.at:127: kill \`cat daemon\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:127"
( $at_check_trace; kill `cat daemon`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:127"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:128: ovs_wait_cond () { if kill -0 \`cat monitor\` || kill -0 \`cat newdaemon\` || test -e daemon; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:128"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat monitor` || kill -0 `cat newdaemon` || test -e daemon; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:128"
if $at_failed; then :
  kill `cat monitor newdaemon`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_74
#AT_START_75
at_fn_group_banner 75 'daemon.at:134' \
  "daemon --detach startup errors" "                 " 10
at_xfail=no
(
  $as_echo "75. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/daemon.at:136: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "daemon.at:136"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:136"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/daemon.at:136: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "daemon.at:136"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:136"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:137: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --unixctl=\"\`pwd\`\"/nonexistent/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:137"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --unixctl="`pwd`"/nonexistent/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/daemon.at:137"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:138: grep 'ovsdb-server: could not initialize control socket' stderr"
at_fn_check_prepare_trace "daemon.at:138"
( $at_check_trace; grep 'ovsdb-server: could not initialize control socket' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:138"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:140: test ! -s pid"
at_fn_check_prepare_trace "daemon.at:140"
( $at_check_trace; test ! -s pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:140"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_75
#AT_START_76
at_fn_group_banner 76 'daemon.at:143' \
  "daemon --detach --monitor startup errors" "       " 10
at_xfail=no
(
  $as_echo "76. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/daemon.at:145: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "daemon.at:145"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:145"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/daemon.at:145: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "daemon.at:145"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:145"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:146: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --monitor --unixctl=\"\`pwd\`\"/nonexistent/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon.at:146"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --monitor --unixctl="`pwd`"/nonexistent/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/daemon.at:146"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:147: grep 'ovsdb-server: could not initialize control socket' stderr"
at_fn_check_prepare_trace "daemon.at:147"
( $at_check_trace; grep 'ovsdb-server: could not initialize control socket' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:147"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon.at:149: test ! -s pid"
at_fn_check_prepare_trace "daemon.at:149"
( $at_check_trace; test ! -s pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon.at:149"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_76
#AT_START_77
at_fn_group_banner 77 'daemon-py.at:3' \
  "daemon - Python" "                                " 11
at_xfail=no
(
  $as_echo "77. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "daemon-py.at:4" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/daemon-py.at:4"


# Start the daemon and wait for the pidfile to get created
# and that its contents are the correct pid.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:9: \$PYTHON \$srcdir/test-daemon.py --pidfile=\`pwd\`/pid& echo \$! > expected"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:9"
( $at_check_trace; $PYTHON $srcdir/test-daemon.py --pidfile=`pwd`/pid& echo $! > expected
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:9"
$at_failed && at_fn_log_failure  \
"pid" \
"expected"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:10: ovs_wait_cond () { test -s pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "daemon-py.at:10"
( $at_check_trace; ovs_wait_cond () { test -s pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:10"
if $at_failed; then :
  kill `cat expected`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"expected"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:11: pid=\`cat pid\` && expected=\`cat expected\` && test \"\$pid\" = \"\$expected\""
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:11"
( $at_check_trace; pid=`cat pid` && expected=`cat expected` && test "$pid" = "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:11"
if $at_failed; then :
  kill `cat expected`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"expected"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:14: kill -0 \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:14"
( $at_check_trace; kill -0 `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:14"
if $at_failed; then :
  kill `cat expected`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"expected"
$at_traceon; }

# Kill the daemon and make sure that the pidfile gets deleted.
kill `cat expected`
{ set +x
$as_echo "$at_srcdir/daemon-py.at:17: ovs_wait_cond () { if kill -0 \`cat expected\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:17"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat expected`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:17"
$at_failed && at_fn_log_failure  \
"pid" \
"expected"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:18: test ! -e pid"
at_fn_check_prepare_trace "daemon-py.at:18"
( $at_check_trace; test ! -e pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:18"
$at_failed && at_fn_log_failure  \
"pid" \
"expected"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_77
#AT_START_78
at_fn_group_banner 78 'daemon-py.at:21' \
  "daemon --monitor - Python" "                      " 11
at_xfail=no
(
  $as_echo "78. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "daemon-py.at:22" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/daemon-py.at:22"




# Start the daemon and wait for the pidfile to get created.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:28: \$PYTHON \$srcdir/test-daemon.py --pidfile=\`pwd\`/pid --monitor& echo \$! > parent"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:28"
( $at_check_trace; $PYTHON $srcdir/test-daemon.py --pidfile=`pwd`/pid --monitor& echo $! > parent
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:28"
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:29: ovs_wait_cond () { test -s pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "daemon-py.at:29"
( $at_check_trace; ovs_wait_cond () { test -s pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:29"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

# Check that the pidfile names a running process,
# and that the parent process of that process is our child process.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:32: kill -0 \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:32"
( $at_check_trace; kill -0 `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:32"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:33: ps -o ppid= -p \`cat pid\` > parentpid"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:33"
( $at_check_trace; ps -o ppid= -p `cat pid` > parentpid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:33"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:35: parentpid=\`cat parentpid\` &&
   parent=\`cat parent\` &&
   test \$parentpid = \$parent"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:35"
( $at_check_trace; parentpid=`cat parentpid` &&
   parent=`cat parent` &&
   test $parentpid = $parent
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:35"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

# Kill the daemon process, making it look like a segfault,
# and wait for a new child process to get spawned.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:42: cp pid oldpid"
at_fn_check_prepare_trace "daemon-py.at:42"
( $at_check_trace; cp pid oldpid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:42"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:43: kill -SEGV \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:43"
( $at_check_trace; kill -SEGV `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:43"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:44: ovs_wait_cond () { if kill -0 \`cat oldpid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:44"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat oldpid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:44"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:45: ovs_wait_cond () { test -s pid && test \`cat pid\` != \`cat oldpid\`
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:45"
( $at_check_trace; ovs_wait_cond () { test -s pid && test `cat pid` != `cat oldpid`
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:45"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:47: cp pid newpid"
at_fn_check_prepare_trace "daemon-py.at:47"
( $at_check_trace; cp pid newpid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:47"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

# Check that the pidfile names a running process,
# and that the parent process of that process is our child process.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:50: ps -o ppid= -p \`cat pid\` > parentpid"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:50"
( $at_check_trace; ps -o ppid= -p `cat pid` > parentpid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:50"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:52: parentpid=\`cat parentpid\` &&
   parent=\`cat parent\` &&
   test \$parentpid = \$parent"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:52"
( $at_check_trace; parentpid=`cat parentpid` &&
   parent=`cat parent` &&
   test $parentpid = $parent
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:52"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

# Kill the daemon process with SIGTERM, and wait for the daemon
# and the monitor processes to go away and the pidfile to get deleted.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:59: kill \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:59"
( $at_check_trace; kill `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:59"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:60: ovs_wait_cond () { if kill -0 \`cat parent\` || kill -0 \`cat newpid\` || test -e pid; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:60"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat parent` || kill -0 `cat newpid` || test -e pid; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:60"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_78
#AT_START_79
at_fn_group_banner 79 'daemon-py.at:64' \
  "daemon --monitor restart exit code - Python" "    " 11
at_xfail=no
(
  $as_echo "79. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "daemon-py.at:65" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/daemon-py.at:65"




# Start the daemon and wait for the pidfile to get created.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:71: \$PYTHON \$srcdir/test-daemon.py --pidfile=\`pwd\`/pid --monitor& echo \$! > parent"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:71"
( $at_check_trace; $PYTHON $srcdir/test-daemon.py --pidfile=`pwd`/pid --monitor& echo $! > parent
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:71"
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:72: ovs_wait_cond () { test -s pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "daemon-py.at:72"
( $at_check_trace; ovs_wait_cond () { test -s pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:72"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

# Check that the pidfile names a running process,
# and that the parent process of that process is our child process.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:75: kill -0 \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:75"
( $at_check_trace; kill -0 `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:75"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:76: ps -o ppid= -p \`cat pid\` > parentpid"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:76"
( $at_check_trace; ps -o ppid= -p `cat pid` > parentpid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:76"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:78: parentpid=\`cat parentpid\` &&
   parent=\`cat parent\` &&
   test \$parentpid = \$parent"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:78"
( $at_check_trace; parentpid=`cat parentpid` &&
   parent=`cat parent` &&
   test $parentpid = $parent
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:78"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

# HUP the daemon process causing it to throw an exception,
# and wait for a new child process to get spawned.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:85: cp pid oldpid"
at_fn_check_prepare_trace "daemon-py.at:85"
( $at_check_trace; cp pid oldpid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:85"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:86: kill -HUP \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:86"
( $at_check_trace; kill -HUP `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:86"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:87: ovs_wait_cond () { if kill -0 \`cat oldpid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:87"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat oldpid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:87"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:88: ovs_wait_cond () { test -s pid && test \`cat pid\` != \`cat oldpid\`
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:88"
( $at_check_trace; ovs_wait_cond () { test -s pid && test `cat pid` != `cat oldpid`
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:88"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:90: cp pid newpid"
at_fn_check_prepare_trace "daemon-py.at:90"
( $at_check_trace; cp pid newpid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:90"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

# Check that the pidfile names a running process,
# and that the parent process of that process is our child process.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:93: ps -o ppid= -p \`cat pid\` > parentpid"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:93"
( $at_check_trace; ps -o ppid= -p `cat pid` > parentpid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:93"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:95: parentpid=\`cat parentpid\` &&
   parent=\`cat parent\` &&
   test \$parentpid = \$parent"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:95"
( $at_check_trace; parentpid=`cat parentpid` &&
   parent=`cat parent` &&
   test $parentpid = $parent
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:95"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

# Kill the daemon process with SIGTERM, and wait for the daemon
# and the monitor processes to go away and the pidfile to get deleted.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:102: kill \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:102"
( $at_check_trace; kill `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:102"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:103: ovs_wait_cond () { if kill -0 \`cat parent\` || kill -0 \`cat newpid\` || test -e pid; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:103"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat parent` || kill -0 `cat newpid` || test -e pid; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:103"
if $at_failed; then :
  kill `cat parent`
fi
$at_failed && at_fn_log_failure  \
"pid" \
"parent" \
"parentpid" \
"newpid"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_79
#AT_START_80
at_fn_group_banner 80 'daemon-py.at:107' \
  "daemon --detach - Python" "                       " 11
at_xfail=no
(
  $as_echo "80. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "daemon-py.at:108" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/daemon-py.at:108"

# Start the daemon and make sure that the pidfile exists immediately.
# We don't wait for the pidfile to get created because the daemon is
# supposed to do so before the parent exits.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:113: \$PYTHON \$srcdir/test-daemon.py --pidfile=\`pwd\`/pid --detach"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:113"
( $at_check_trace; $PYTHON $srcdir/test-daemon.py --pidfile=`pwd`/pid --detach
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:113"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:114: test -s pid"
at_fn_check_prepare_trace "daemon-py.at:114"
( $at_check_trace; test -s pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:114"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:115: kill -0 \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:115"
( $at_check_trace; kill -0 `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:115"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

# Kill the daemon and make sure that the pidfile gets deleted.
cp pid saved-pid
kill `cat pid`
{ set +x
$as_echo "$at_srcdir/daemon-py.at:119: ovs_wait_cond () { if kill -0 \`cat saved-pid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:119"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat saved-pid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:119"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:120: test ! -e pid"
at_fn_check_prepare_trace "daemon-py.at:120"
( $at_check_trace; test ! -e pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:120"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_80
#AT_START_81
at_fn_group_banner 81 'daemon-py.at:123' \
  "daemon --detach --monitor - Python" "             " 11
at_xfail=no
(
  $as_echo "81. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "daemon-py.at:124" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/daemon-py.at:124"







# Start the daemon and make sure that the pidfile exists immediately.
# We don't wait for the pidfile to get created because the daemon is
# supposed to do so before the parent exits.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:136: \$PYTHON \$srcdir/test-daemon.py --pidfile=\`pwd\`/daemon --detach --monitor"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:136"
( $at_check_trace; $PYTHON $srcdir/test-daemon.py --pidfile=`pwd`/daemon --detach --monitor
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:136"
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:137: test -s daemon"
at_fn_check_prepare_trace "daemon-py.at:137"
( $at_check_trace; test -s daemon
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:137"
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

# Check that the pidfile names a running process,
# and that the parent process of that process is a running process,
# and that the parent process of that process is init.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:141: kill -0 \`cat daemon\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:141"
( $at_check_trace; kill -0 `cat daemon`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:141"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:142: ps -o ppid= -p \`cat daemon\` > monitor"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:142"
( $at_check_trace; ps -o ppid= -p `cat daemon` > monitor
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:142"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:143: kill -0 \`cat monitor\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:143"
( $at_check_trace; kill -0 `cat monitor`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:143"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:144: ps -o ppid= -p \`cat monitor\` > init"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:144"
( $at_check_trace; ps -o ppid= -p `cat monitor` > init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:144"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:145: test \`cat init\` != \$\$"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:145"
( $at_check_trace; test `cat init` != $$
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:145"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

# Kill the daemon process, making it look like a segfault,
# and wait for a new daemon process to get spawned.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:148: cp daemon olddaemon"
at_fn_check_prepare_trace "daemon-py.at:148"
( $at_check_trace; cp daemon olddaemon
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:148"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:149: kill -SEGV \`cat daemon\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:149"
( $at_check_trace; kill -SEGV `cat daemon`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:149"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:150: ovs_wait_cond () { if kill -0 \`cat olddaemon\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:150"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat olddaemon`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:150"
if $at_failed; then :
  kill `cat olddaemon daemon`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:151: ovs_wait_cond () { test -s daemon && test \`cat daemon\` != \`cat olddaemon\`
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:151"
( $at_check_trace; ovs_wait_cond () { test -s daemon && test `cat daemon` != `cat olddaemon`
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:151"
if $at_failed; then :
  kill `cat olddaemon daemon`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:153: cp daemon newdaemon"
at_fn_check_prepare_trace "daemon-py.at:153"
( $at_check_trace; cp daemon newdaemon
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:153"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

# Check that the pidfile names a running process,
# and that the parent process of that process is our child process.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:156: kill -0 \`cat daemon\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:156"
( $at_check_trace; kill -0 `cat daemon`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:156"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:157: diff olddaemon newdaemon"
at_fn_check_prepare_trace "daemon-py.at:157"
( $at_check_trace; diff olddaemon newdaemon
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/daemon-py.at:157"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:158: ps -o ppid= -p \`cat daemon\` > newmonitor"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:158"
( $at_check_trace; ps -o ppid= -p `cat daemon` > newmonitor
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:158"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:159: diff monitor newmonitor"
at_fn_check_prepare_trace "daemon-py.at:159"
( $at_check_trace; diff monitor newmonitor
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:159"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:160: kill -0 \`cat newmonitor\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:160"
( $at_check_trace; kill -0 `cat newmonitor`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:160"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:161: ps -o ppid= -p \`cat newmonitor\` > init"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:161"
( $at_check_trace; ps -o ppid= -p `cat newmonitor` > init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:161"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:162: test \`cat init\` != \$\$"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:162"
( $at_check_trace; test `cat init` != $$
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:162"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

# Kill the daemon process with SIGTERM, and wait for the daemon
# and the monitor processes to go away and the pidfile to get deleted.
{ set +x
$as_echo "$at_srcdir/daemon-py.at:165: kill \`cat daemon\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:165"
( $at_check_trace; kill `cat daemon`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:165"
if $at_failed; then :
  kill `cat daemon monitor`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:166: ovs_wait_cond () { if kill -0 \`cat monitor\` || kill -0 \`cat newdaemon\` || test -e daemon; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:166"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat monitor` || kill -0 `cat newdaemon` || test -e daemon; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:166"
if $at_failed; then :
  kill `cat monitor newdaemon`
fi
$at_failed && at_fn_log_failure  \
"daemon" \
"olddaemon" \
"newdaemon" \
"monitor" \
"newmonitor" \
"init"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_81
#AT_START_82
at_fn_group_banner 82 'daemon-py.at:172' \
  "daemon --detach startup errors - Python" "        " 11
at_xfail=no
(
  $as_echo "82. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "daemon-py.at:173" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/daemon-py.at:173"

{ set +x
$as_echo "$at_srcdir/daemon-py.at:175: \$PYTHON \$srcdir/test-daemon.py --pidfile=\`pwd\`/pid --detach --bail"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:175"
( $at_check_trace; $PYTHON $srcdir/test-daemon.py --pidfile=`pwd`/pid --detach --bail
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/daemon-py.at:175"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:176: grep 'test-daemon.py: exiting after daemonize_start() as requested' stderr"
at_fn_check_prepare_trace "daemon-py.at:176"
( $at_check_trace; grep 'test-daemon.py: exiting after daemonize_start() as requested' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:176"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:178: test ! -s pid"
at_fn_check_prepare_trace "daemon-py.at:178"
( $at_check_trace; test ! -s pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:178"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_82
#AT_START_83
at_fn_group_banner 83 'daemon-py.at:181' \
  "daemon --detach --monitor startup errors - Python" "" 11
at_xfail=no
(
  $as_echo "83. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "daemon-py.at:182" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/daemon-py.at:182"

{ set +x
$as_echo "$at_srcdir/daemon-py.at:184: \$PYTHON \$srcdir/test-daemon.py --pidfile=\`pwd\`/pid --detach --monitor --bail"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:184"
( $at_check_trace; $PYTHON $srcdir/test-daemon.py --pidfile=`pwd`/pid --detach --monitor --bail
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/daemon-py.at:184"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:185: grep 'test-daemon.py: exiting after daemonize_start() as requested' stderr"
at_fn_check_prepare_trace "daemon-py.at:185"
( $at_check_trace; grep 'test-daemon.py: exiting after daemonize_start() as requested' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:185"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:187: test ! -s pid"
at_fn_check_prepare_trace "daemon-py.at:187"
( $at_check_trace; test ! -s pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:187"
$at_failed && at_fn_log_failure  \
"pid"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_83
#AT_START_84
at_fn_group_banner 84 'daemon-py.at:190' \
  "daemon --detach closes standard fds - Python" "   " 11
at_xfail=no
(
  $as_echo "84. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "daemon-py.at:191" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/daemon-py.at:191"



{ set +x
$as_echo "$at_srcdir/daemon-py.at:195: (yes 2>stderr; echo \$? > status) | \$PYTHON \$srcdir/test-daemon.py --pidfile=\`pwd\`/pid --detach"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:195"
( $at_check_trace; (yes 2>stderr; echo $? > status) | $PYTHON $srcdir/test-daemon.py --pidfile=`pwd`/pid --detach
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:195"
$at_failed && at_fn_log_failure  \
"pid" \
"status" \
"stderr"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:196: kill \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:196"
( $at_check_trace; kill `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:196"
$at_failed && at_fn_log_failure  \
"pid" \
"status" \
"stderr"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:197: test -s status"
at_fn_check_prepare_trace "daemon-py.at:197"
( $at_check_trace; test -s status
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:197"
$at_failed && at_fn_log_failure  \
"pid" \
"status" \
"stderr"
$at_traceon; }

if grep '[bB]roken pipe' stderr >/dev/null 2>&1; then
  # Something in the environment caused SIGPIPE to be ignored, but
  # 'yes' at least told us that it got EPIPE.  Good enough; we know
  # that stdout was closed.
  :
else
  # Otherwise make sure that 'yes' died from SIGPIPE.
  { set +x
$as_echo "$at_srcdir/daemon-py.at:205: kill -l \`cat status\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:205"
( $at_check_trace; kill -l `cat status`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "PIPE
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:205"
$at_failed && at_fn_log_failure  \
"pid" \
"status" \
"stderr"
$at_traceon; }

fi
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_84
#AT_START_85
at_fn_group_banner 85 'daemon-py.at:210' \
  "daemon --detach --monitor closes standard fds" "  " 11
at_xfail=no
(
  $as_echo "85. $at_setup_line: testing $at_desc ..."
  $at_traceon




OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/daemon-py.at:214: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "daemon-py.at:214"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:214"
$at_failed && at_fn_log_failure  \
"pid" \
"status" \
"stderr"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/daemon-py.at:214: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "daemon-py.at:214"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:214"
$at_failed && at_fn_log_failure  \
"pid" \
"status" \
"stderr"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:215: (yes 2>stderr; echo \$? > status) | \$PYTHON \$srcdir/test-daemon.py --pidfile=\`pwd\`/pid --detach"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:215"
( $at_check_trace; (yes 2>stderr; echo $? > status) | $PYTHON $srcdir/test-daemon.py --pidfile=`pwd`/pid --detach
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:215"
$at_failed && at_fn_log_failure  \
"pid" \
"status" \
"stderr"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:216: kill \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:216"
( $at_check_trace; kill `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:216"
$at_failed && at_fn_log_failure  \
"pid" \
"status" \
"stderr"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/daemon-py.at:217: test -s status"
at_fn_check_prepare_trace "daemon-py.at:217"
( $at_check_trace; test -s status
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:217"
$at_failed && at_fn_log_failure  \
"pid" \
"status" \
"stderr"
$at_traceon; }

if grep '[bB]roken pipe' stderr >/dev/null 2>&1; then
  # Something in the environment caused SIGPIPE to be ignored, but
  # 'yes' at least told us that it got EPIPE.  Good enough; we know
  # that stdout was closed.
  :
else
  # Otherwise make sure that 'yes' died from SIGPIPE.
  { set +x
$as_echo "$at_srcdir/daemon-py.at:225: kill -l \`cat status\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "daemon-py.at:225"
( $at_check_trace; kill -l `cat status`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "PIPE
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/daemon-py.at:225"
$at_failed && at_fn_log_failure  \
"pid" \
"status" \
"stderr"
$at_traceon; }

fi
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_85
#AT_START_86
at_fn_group_banner 86 'ofp-actions.at:3' \
  "OpenFlow 1.0 action translation" "                " 12
at_xfail=no
(
  $as_echo "86. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-data <<'_ATEOF'
# actions=LOCAL
0000 0008 fffe 04d2

# actions=CONTROLLER:1234
0000 0008 fffd 04d2

# actions=mod_vlan_vid:9
0001 0008 0009 0000

# actions=mod_vlan_pcp:6
0002 0008 06 000000

# actions=strip_vlan
0003 0008 00000000

# actions=mod_dl_src:00:11:22:33:44:55
0004 0010 001122334455 000000000000

# actions=mod_dl_dst:10:20:30:40:50:60
0005 0010 102030405060 000000000000

# actions=mod_nw_src:1.2.3.4
0006 0008 01020304

# actions=mod_nw_dst:192.168.0.1
0007 0008 c0a80001

# actions=mod_nw_tos:48
0008 0008 30 000000

# actions=mod_tp_src:80
0009 0008 0050 0000

# actions=mod_tp_dst:443
000a 0008 01bb 0000

# actions=enqueue:10q55
000b 0010 000a 000000000000 00000037

# actions=resubmit:5
ffff 0010 00002320 0001 0005 00000000

# actions=set_tunnel:0x12345678
ffff 0010 00002320 0002 0000 12345678

# actions=set_queue:2309737729
ffff 0010 00002320 0004 0000 89abcd01

# actions=pop_queue
ffff 0010 00002320 0005 000000000000

# actions=move:NXM_OF_IN_PORT[]->NXM_OF_VLAN_TCI[]
ffff 0018 00002320 0006 0010 0000 0000 00000002 00000802

# actions=load:0xf009->NXM_OF_VLAN_TCI[]
ffff 0018 00002320 0007 000f 00000802 000000000000f009

# actions=note:11.e9.9a.ad.67.f3
ffff 0010 00002320 0008 11e99aad67f3

# actions=set_tunnel64:0xc426384d49c53d60
ffff 0018 00002320 0009 000000000000 c426384d49c53d60

# actions=set_tunnel64:0x885f3298
ffff 0018 00002320 0009 000000000000 00000000885f3298

# actions=write_metadata:0xfedcba9876543210
ffff 0020 00002320 0016 000000000000 fedcba9876543210 ffffffffffffffff

# actions=write_metadata:0xfedcba9876543210/0xffff0000ffff0000
ffff 0020 00002320 0016 000000000000 fedcba9876543210 ffff0000ffff0000

# actions=multipath(eth_src,50,modulo_n,1,0,NXM_NX_REG0[])
ffff 0020 00002320 000a 0000 0032 0000 0000 0000 0000 0000 0000 001f 00010004

# actions=bundle(eth_src,0,hrw,ofport,slaves:4,8)
ffff 0028 00002320 000c 0001 0000 0000 00000002 0002 0000 00000000 00000000 0004 0008 00000000

# actions=bundle_load(eth_src,0,hrw,ofport,NXM_NX_REG0[],slaves:4,8)
ffff 0028 00002320 000d 0001 0000 0000 00000002 0002 001f 00010004 00000000 0004 0008 00000000

# actions=resubmit(10,5)
ffff 0010 00002320 000e 000a 05 000000

# actions=output:NXM_NX_REG1[5..10]
ffff 0018 00002320 000f 0145 00010204 ffff 000000000000

# actions=learn(table=2,idle_timeout=10,hard_timeout=20,fin_idle_timeout=2,fin_hard_timeout=4,priority=80,cookie=0x123456789abcdef0,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],output:NXM_OF_IN_PORT[])
ffff 0048 00002320 0010 000a 0014 0050 123456789abcdef0 0000 02 00 0002 0004 000c 00000802 0000 00000802 0000 0030 00000406 0000 00000206 0000 1010 00000002 0000 00000000

# actions=exit
ffff 0010 00002320 0011 000000000000

# actions=dec_ttl
ffff 0010 00002320 0012 000000000000

# actions=fin_timeout(idle_timeout=10,hard_timeout=20)
ffff 0010 00002320 0013 000a 0014 0000

# actions=controller(reason=invalid_ttl,max_len=1234,id=5678)
ffff 0010 00002320 0014 04d2 162e 02 00

# actions=dec_ttl(32768,12345,90,765,1024)
ffff 0020 00002320 0015 000500000000 80003039005A02fd 0400000000000000

# actions=sample(probability=12345,collector_set_id=23456,obs_domain_id=34567,obs_point_id=45678)
ffff 0018 00002320 001d 3039 00005BA0 00008707 0000B26E

_ATEOF

sed '/^[#&]/d' < test-data > input.txt
sed -n 's/^# //p; /^$/p' < test-data > expout
sed -n 's/^& //p' < test-data > experr



{ set +x
$as_echo "$at_srcdir/ofp-actions.at:127: ovs-ofctl '-vPATTERN:console:%c|%p|%m' parse-ofp10-actions < input.txt"
at_fn_check_prepare_notrace 'a shell pipeline' "ofp-actions.at:127"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' parse-ofp10-actions < input.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
$at_diff experr "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-actions.at:127"
$at_failed && at_fn_log_failure  \
"input.txt" \
"expout" \
"experr"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_86
#AT_START_87
at_fn_group_banner 87 'ofp-actions.at:132' \
  "OpenFlow 1.1 action translation" "                " 12
at_xfail=no
(
  $as_echo "87. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-data <<'_ATEOF'
# actions=LOCAL
0000 0010 fffffffe 04d2 000000000000

# actions=CONTROLLER:1234
0000 0010 fffffffd 04d2 000000000000

# actions=mod_vlan_vid:9
0001 0008 0009 0000

# actions=mod_vlan_pcp:6
0002 0008 06 000000

# actions=mod_dl_src:00:11:22:33:44:55
0003 0010 001122334455 000000000000

# actions=mod_dl_dst:10:20:30:40:50:60
0004 0010 102030405060 000000000000

# actions=mod_nw_src:1.2.3.4
0005 0008 01020304

# actions=mod_nw_dst:192.168.0.1
0006 0008 c0a80001

# actions=mod_nw_tos:48
0007 0008 30 000000

# actions=mod_tp_src:80
0009 0008 0050 0000

# actions=mod_tp_dst:443
000a 0008 01bb 0000

# actions=strip_vlan
0012 0008 00000000

# actions=set_queue:2309737729
0015 0008 89abcd01

# actions=push_vlan:0x8100
0011 0008 8100 0000

# actions=resubmit:5
ffff 0010 00002320 0001 0005 00000000

# actions=set_tunnel:0x12345678
ffff 0010 00002320 0002 0000 12345678

# actions=pop_queue
ffff 0010 00002320 0005 000000000000

# actions=move:NXM_OF_IN_PORT[]->NXM_OF_VLAN_TCI[]
ffff 0018 00002320 0006 0010 0000 0000 00000002 00000802

# actions=load:0xf009->NXM_OF_VLAN_TCI[]
ffff 0018 00002320 0007 000f 00000802 000000000000f009

# actions=note:11.e9.9a.ad.67.f3
ffff 0010 00002320 0008 11e99aad67f3

# actions=set_tunnel64:0xc426384d49c53d60
ffff 0018 00002320 0009 000000000000 c426384d49c53d60

# actions=set_tunnel64:0x885f3298
ffff 0018 00002320 0009 000000000000 00000000885f3298

# actions=write_metadata:0xfedcba9876543210
#  0: ff -> (none)
#  1: ff -> (none)
#  2: 00 -> (none)
#  3: 20 -> (none)
#  4: 00 -> (none)
#  5: 00 -> (none)
#  6: 23 -> (none)
#  7: 20 -> (none)
#  8: 00 -> (none)
#  9: 16 -> (none)
# 10: 00 -> (none)
# 11: 00 -> (none)
# 12: 00 -> (none)
# 13: 00 -> (none)
# 14: 00 -> (none)
# 15: 00 -> (none)
# 16: fe -> (none)
# 17: dc -> (none)
# 18: ba -> (none)
# 19: 98 -> (none)
# 20: 76 -> (none)
# 21: 54 -> (none)
# 22: 32 -> (none)
# 23: 10 -> (none)
# 24: ff -> (none)
# 25: ff -> (none)
# 26: ff -> (none)
# 27: ff -> (none)
# 28: ff -> (none)
# 29: ff -> (none)
# 30: ff -> (none)
# 31: ff -> (none)
ffff 0020 00002320 0016 000000000000 fedcba9876543210 ffffffffffffffff

& ofp_actions|WARN|duplicate write_metadata instruction not allowed, for OpenFlow 1.1+ compatibility
# bad OF1.1 actions: OFPBAC_UNSUPPORTED_ORDER
ffff 0020 00002320 0016 000000000000 fedcba9876543210 ffffffffffffffff ffff 0020 00002320 0016 000000000000 fedcba9876543210 ffffffffffffffff

& ofp_actions|WARN|invalid instruction ordering: apply_actions must appear before write_metadata, for OpenFlow 1.1+ compatibility
# bad OF1.1 actions: OFPBAC_UNSUPPORTED_ORDER
ffff 0020 00002320 0016 000000000000 fedcba9876543210 ffffffffffffffff ffff 0010 00002320 0002 0000 12345678

# actions=multipath(eth_src,50,modulo_n,1,0,NXM_NX_REG0[])
ffff 0020 00002320 000a 0000 0032 0000 0000 0000 0000 0000 0000 001f 00010004

# actions=bundle(eth_src,0,hrw,ofport,slaves:4,8)
ffff 0028 00002320 000c 0001 0000 0000 00000002 0002 0000 00000000 00000000 0004 0008 00000000

# actions=bundle_load(eth_src,0,hrw,ofport,NXM_NX_REG0[],slaves:4,8)
ffff 0028 00002320 000d 0001 0000 0000 00000002 0002 001f 00010004 00000000 0004 0008 00000000

# actions=resubmit(10,5)
ffff 0010 00002320 000e 000a 05 000000

# actions=output:NXM_NX_REG1[5..10]
ffff 0018 00002320 000f 0145 00010204 ffff 000000000000

# actions=learn(table=2,idle_timeout=10,hard_timeout=20,fin_idle_timeout=2,fin_hard_timeout=4,priority=80,cookie=0x123456789abcdef0,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],output:NXM_OF_IN_PORT[])
ffff 0048 00002320 0010 000a 0014 0050 123456789abcdef0 0000 02 00 0002 0004 000c 00000802 0000 00000802 0000 0030 00000406 0000 00000206 0000 1010 00000002 0000 00000000

# actions=exit
ffff 0010 00002320 0011 000000000000

# actions=dec_ttl
ffff 0010 00002320 0012 000000000000

# actions=dec_ttl
0018 0008 00000000

# actions=fin_timeout(idle_timeout=10,hard_timeout=20)
ffff 0010 00002320 0013 000a 0014 0000

# actions=controller(reason=invalid_ttl,max_len=1234,id=5678)
ffff 0010 00002320 0014 04d2 162e 02 00

# actions=dec_ttl(32768,12345,90,765,1024)
ffff 0020 00002320 0015 000500000000 80003039005A02fd 0400000000000000

# actions=sample(probability=12345,collector_set_id=23456,obs_domain_id=34567,obs_point_id=45678)
ffff 0018 00002320 001d 3039 00005BA0 00008707 0000B26E

_ATEOF

sed '/^[#&]/d' < test-data > input.txt
sed -n 's/^# //p; /^$/p' < test-data > expout
sed -n 's/^& //p' < test-data > experr



{ set +x
$as_echo "$at_srcdir/ofp-actions.at:305: ovs-ofctl '-vPATTERN:console:%c|%p|%m' parse-ofp11-actions < input.txt"
at_fn_check_prepare_notrace 'a shell pipeline' "ofp-actions.at:305"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' parse-ofp11-actions < input.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
$at_diff experr "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-actions.at:305"
$at_failed && at_fn_log_failure  \
"input.txt" \
"expout" \
"experr"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_87
#AT_START_88
at_fn_group_banner 88 'ofp-actions.at:310' \
  "OpenFlow 1.1 instruction translation" "           " 12
at_xfail=no
(
  $as_echo "88. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-data <<'_ATEOF'
# actions=LOCAL
0004 0018 00000000 0000 0010 fffffffe 04d2 000000000000

# actions=drop
#  0: 00 -> (none)
#  1: 04 -> (none)
#  2: 00 -> (none)
#  3: 08 -> (none)
#  4: 00 -> (none)
#  5: 00 -> (none)
#  6: 00 -> (none)
#  7: 01 -> (none)
0004 0008 00000001

# actions=drop
#  0: 00 -> (none)
#  1: 04 -> (none)
#  2: 00 -> (none)
#  3: 08 -> (none)
#  4: 00 -> (none)
#  5: 00 -> (none)
#  6: 00 -> (none)
#  7: 00 -> (none)
0004 0008 00000000

# bad OF1.1 instructions: ONFBIC_DUP_INSTRUCTION
0004 0008 00000000 0004 0008 00000000

& ofp_actions|WARN|OpenFlow message instructions length 9 is not a multiple of 8
# bad OF1.1 instructions: OFPBIC_BAD_LEN
0004 0009 01 00000000

# bad OF1.1 instructions: OFPBIC_BAD_LEN
0001 0010 01 000000 0000000000000000

# actions=goto_table:1
#  7: 01 -> 00
0001 0008 01 000001

# bad OF1.1 instructions: OFPBRC_BAD_TABLE_ID
2,0001 0008 01 000000

# actions=goto_table:1
0001 0008 01 000000

# actions=write_metadata:0xfedcba9876543210
0002 0018 00000000 fedcba9876543210 ffffffffffffffff

# actions=write_metadata:0xfedcba9876543210/0xff00ff00ff00ff00
0002 0018 00000000 fedcba9876543210 ff00ff00ff00ff00

# bad OF1.1 instructions: OFPBIC_BAD_LEN
0002 0010 00000000 fedcba9876543210

# bad OF1.1 instructions: OFPBIC_BAD_LEN
0002 0020 00000000 fedcba9876543210 ffffffffffffffff 0000000000000000

# bad OF1.1 instructions: ONFBIC_DUP_INSTRUCTION
0002 0018 00000000 fedcba9876543210 ff00ff00ff00ff00 0002 0018 00000000 fedcba9876543210 ff00ff00ff00ff00

# actions=write_metadata:0xfedcba9876543210,goto_table:1
#  1: 01 -> 02
#  3: 08 -> 18
#  4: 01 -> 00
#  8: 00 -> fe
#  9: 02 -> dc
# 10: 00 -> ba
# 11: 18 -> 98
# 12: 00 -> 76
# 13: 00 -> 54
# 14: 00 -> 32
# 15: 00 -> 10
# 16: fe -> ff
# 17: dc -> ff
# 18: ba -> ff
# 19: 98 -> ff
# 20: 76 -> ff
# 21: 54 -> ff
# 22: 32 -> ff
# 23: 10 -> ff
# 24: ff -> 00
# 25: ff -> 01
# 26: ff -> 00
# 27: ff -> 08
# 28: ff -> 01
# 29: ff -> 00
# 30: ff -> 00
# 31: ff -> 00
0001 0008 01 000000 0002 0018 00000000 fedcba9876543210 ffffffffffffffff

# bad OF1.1 instructions: OFPBIC_UNSUP_INST
0003 0008 01 000000

# bad OF1.1 instructions: OFPBIC_BAD_LEN
0005 0010 00000000 0000000000000000

# actions=clear_actions
#  7: 01 -> 00
0005 0008 00000001

# actions=clear_actions
#  4: 01 -> 00
0005 0008 01 000000

# actions=clear_actions
0005 0008 00000000

# bad OF1.1 instructions: OFPBIC_BAD_EXPERIMENTER
ffff 0008 01 000000

# bad OF1.1 instructions: OFPBIC_UNKNOWN_INST
0000 0008 01 000000

_ATEOF

sed '/^[#&]/d' < test-data > input.txt
sed -n 's/^# //p; /^$/p' < test-data > expout
sed -n 's/^& //p' < test-data > experr



{ set +x
$as_echo "$at_srcdir/ofp-actions.at:456: ovs-ofctl '-vPATTERN:console:%c|%p|%m' parse-ofp11-instructions < input.txt"
at_fn_check_prepare_notrace 'a shell pipeline' "ofp-actions.at:456"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' parse-ofp11-instructions < input.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
$at_diff experr "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-actions.at:456"
$at_failed && at_fn_log_failure  \
"input.txt" \
"expout" \
"experr"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_88
#AT_START_89
at_fn_group_banner 89 'ofp-print.at:3' \
  "empty" "                                          " 13
at_xfail=no
(
  $as_echo "89. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:5: ovs-ofctl ofp-print ''"
at_fn_check_prepare_trace "ofp-print.at:5"
( $at_check_trace; ovs-ofctl ofp-print ''
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OpenFlow message is empty
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:5"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_89
#AT_START_90
at_fn_group_banner 90 'ofp-print.at:9' \
  "too short" "                                      " 13
at_xfail=no
(
  $as_echo "90. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:11: ovs-ofctl ofp-print aabb"
at_fn_check_prepare_trace "ofp-print.at:11"
( $at_check_trace; ovs-ofctl ofp-print aabb
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OpenFlow packet too short (only 2 bytes):
00000000  aa bb                                           |..              |
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:11"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_90
#AT_START_91
at_fn_group_banner 91 'ofp-print.at:17' \
  "wrong OpenFlow version" "                         " 13
at_xfail=no
(
  $as_echo "91. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:19: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print 00bb0008eeff0011"
at_fn_check_prepare_notrace 'a shell pipeline' "ofp-print.at:19"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print 00bb0008eeff0011
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ofp_msgs|WARN|unknown OpenFlow message (version 0, type 187)
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "***decode error: OFPBRC_BAD_TYPE***
00000000  00 bb 00 08 ee ff 00 11-                        |........        |
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:19"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_91
#AT_START_92
at_fn_group_banner 92 'ofp-print.at:27' \
  "truncated message" "                              " 13
at_xfail=no
(
  $as_echo "92. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:29: ovs-ofctl ofp-print 0110ccddeeff0011"
at_fn_check_prepare_trace "ofp-print.at:29"
( $at_check_trace; ovs-ofctl ofp-print 0110ccddeeff0011
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "(***truncated to 8 bytes from 52445***)
00000000  01 10 cc dd ee ff 00 11-                        |........        |
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:29"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_92
#AT_START_93
at_fn_group_banner 93 'ofp-print.at:35' \
  "message only uses part of buffer" "               " 13
at_xfail=no
(
  $as_echo "93. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:37: ovs-ofctl ofp-print 01100009eeff00112233"
at_fn_check_prepare_trace "ofp-print.at:37"
( $at_check_trace; ovs-ofctl ofp-print 01100009eeff00112233
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "(***only uses 9 bytes out of 10***)
00000000  01 10 00 09 ee ff 00 11-22 33                   |........\"3      |
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:37"
$at_failed && at_fn_log_failure
$at_traceon; }

# "
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_93
#AT_START_94
at_fn_group_banner 94 'ofp-print.at:44' \
  "OFPT_HELLO - ordinary" "                          " 13
at_xfail=no
(
  $as_echo "94. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:46: ovs-ofctl ofp-print 0100000800000000"
at_fn_check_prepare_trace "ofp-print.at:46"
( $at_check_trace; ovs-ofctl ofp-print 0100000800000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_HELLO (xid=0x0):
 version bitmap: 0x01
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:46"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_94
#AT_START_95
at_fn_group_banner 95 'ofp-print.at:52' \
  "OFPT_HELLO with extra data" "                     " 13
at_xfail=no
(
  $as_echo "95. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:54: ovs-ofctl ofp-print 0100001300000000657874726120646174610a"
at_fn_check_prepare_trace "ofp-print.at:54"
( $at_check_trace; ovs-ofctl ofp-print 0100001300000000657874726120646174610a
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_HELLO (xid=0x0):
 version bitmap: 0x01
 unknown data in hello:
00000000  01 00 00 13 00 00 00 00-65 78 74 72 61 20 64 61 |........extra da|
00000010  74 61 0a                                        |ta.             |
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:54"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_95
#AT_START_96
at_fn_group_banner 96 'ofp-print.at:64' \
  "OFPT_HELLO with version bitmap" "                 " 13
at_xfail=no
(
  $as_echo "96. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:66: ovs-ofctl ofp-print \"01 00 00 10 00 00 00 00 00 01 00 08 00 00 00 f0\""
at_fn_check_prepare_trace "ofp-print.at:66"
( $at_check_trace; ovs-ofctl ofp-print "01 00 00 10 00 00 00 00 00 01 00 08 00 00 00 f0"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_HELLO (xid=0x0):
 version bitmap: 0x04, 0x05, 0x06, 0x07
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:66"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_96
#AT_START_97
at_fn_group_banner 97 'ofp-print.at:73' \
  "OFPT_HELLO with version bitmap and extra data" "  " 13
at_xfail=no
(
  $as_echo "97. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:75: ovs-ofctl ofp-print \"\\
01 00 00 1b 00 00 00 00 ff ff 00 06 01 02 00 00 \\
00 01 00 08 00 00 00 f0 61 62 63\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:75"
( $at_check_trace; ovs-ofctl ofp-print "\
01 00 00 1b 00 00 00 00 ff ff 00 06 01 02 00 00 \
00 01 00 08 00 00 00 f0 61 62 63"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_HELLO (xid=0x0):
 version bitmap: 0x04, 0x05, 0x06, 0x07
 unknown data in hello:
00000000  01 00 00 1b 00 00 00 00-ff ff 00 06 01 02 00 00 |................|
00000010  00 01 00 08 00 00 00 f0-61 62 63                |........abc     |
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:75"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_97
#AT_START_98
at_fn_group_banner 98 'ofp-print.at:87' \
  "OFPT_HELLO with higher than supported version" "  " 13
at_xfail=no
(
  $as_echo "98. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:89: ovs-ofctl ofp-print \"0f 00 00 08 00 00 00 00\""
at_fn_check_prepare_trace "ofp-print.at:89"
( $at_check_trace; ovs-ofctl ofp-print "0f 00 00 08 00 00 00 00"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_HELLO (OF 0x0f) (xid=0x0):
 version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:89"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-print.at:94: ovs-ofctl ofp-print \"40 00 00 08 00 00 00 00\""
at_fn_check_prepare_trace "ofp-print.at:94"
( $at_check_trace; ovs-ofctl ofp-print "40 00 00 08 00 00 00 00"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_HELLO (OF 0x40) (xid=0x0):
 version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:94"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-print.at:99: ovs-ofctl ofp-print \"3f 00 00 18 00 00 00 00 00 01 00 0c aa aa aa aa aa aa aa aa 00 00 00 00\""
at_fn_check_prepare_trace "ofp-print.at:99"
( $at_check_trace; ovs-ofctl ofp-print "3f 00 00 18 00 00 00 00 00 01 00 0c aa aa aa aa aa aa aa aa 00 00 00 00"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_HELLO (OF 0x3f) (xid=0x0):
 version bitmap: 0x01, 0x03, 0x05, 0x07, 0x09, 0x0b, 0x0d, 0x0f, 0x11, 0x13, 0x15, 0x17, 0x19, 0x1b, 0x1d, 0x1f
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:99"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_98
#AT_START_99
at_fn_group_banner 99 'ofp-print.at:106' \
  "OFPT_HELLO with contradictory version bitmaps" "  " 13
at_xfail=no
(
  $as_echo "99. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:109: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"01 00 00 10 00 00 00 00 00 01 00 08 00 00 00 00\""
at_fn_check_prepare_notrace 'a shell pipeline' "ofp-print.at:109"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "01 00 00 10 00 00 00 00 00 01 00 08 00 00 00 00"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ofp_util|WARN|peer does not support any OpenFlow version (between 0x01 and 0x1f)
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_HELLO (xid=0x0):
 version bitmap: 0x01
 unknown data in hello:
00000000  01 00 00 10 00 00 00 00-00 01 00 08 00 00 00 00 |................|
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:109"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-print.at:118: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"3f 00 00 18 00 00 00 00 00 01 00 0c 00 00 00 00 aa aa aa aa 00 00 00 00\""
at_fn_check_prepare_notrace 'a shell pipeline' "ofp-print.at:118"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "3f 00 00 18 00 00 00 00 00 01 00 0c 00 00 00 00 aa aa aa aa 00 00 00 00"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ofp_util|WARN|peer does not support any OpenFlow version (between 0x01 and 0x1f)
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_HELLO (OF 0x3f) (xid=0x0):
 version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f
 unknown data in hello:
00000000  3f 00 00 18 00 00 00 00-00 01 00 0c 00 00 00 00 |?...............|
00000010  aa aa aa aa 00 00 00 00-                        |........        |
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:118"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-print.at:128: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"01 00 00 10 00 00 00 00 00 01 00 08 00 00 00 f1\""
at_fn_check_prepare_notrace 'a shell pipeline' "ofp-print.at:128"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "01 00 00 10 00 00 00 00 00 01 00 08 00 00 00 f1"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ofp_util|WARN|peer claims to support invalid OpenFlow version 0x00
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_HELLO (xid=0x0):
 version bitmap: 0x04, 0x05, 0x06, 0x07
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:128"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-print.at:135: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"01 00 00 10 00 00 00 00 00 01 00 08 00 00 00 01\""
at_fn_check_prepare_notrace 'a shell pipeline' "ofp-print.at:135"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "01 00 00 10 00 00 00 00 00 01 00 08 00 00 00 01"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ofp_util|WARN|peer claims to support invalid OpenFlow version 0x00
ofp_util|WARN|peer does not support any OpenFlow version (between 0x01 and 0x1f)
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_HELLO (xid=0x0):
 version bitmap: 0x01
 unknown data in hello:
00000000  01 00 00 10 00 00 00 00-00 01 00 08 00 00 00 01 |................|
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:135"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_99
#AT_START_100
at_fn_group_banner 100 'ofp-print.at:148' \
  "OFPT_ECHO_REQUEST, empty payload" "               " 13
at_xfail=no
(
  $as_echo "100. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:150: ovs-ofctl ofp-print '01 02 00 08 00 00 00 01'"
at_fn_check_prepare_trace "ofp-print.at:150"
( $at_check_trace; ovs-ofctl ofp-print '01 02 00 08 00 00 00 01'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ECHO_REQUEST (xid=0x1): 0 bytes of payload
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:150"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_100
#AT_START_101
at_fn_group_banner 101 'ofp-print.at:155' \
  "OFPT_ECHO_REQUEST, 5-byte payload" "              " 13
at_xfail=no
(
  $as_echo "101. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:157: ovs-ofctl ofp-print '0102000d00000001 25 53 54 1a 9d'"
at_fn_check_prepare_trace "ofp-print.at:157"
( $at_check_trace; ovs-ofctl ofp-print '0102000d00000001 25 53 54 1a 9d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ECHO_REQUEST (xid=0x1): 5 bytes of payload
00000000  25 53 54 1a 9d                                  |%ST..           |
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:157"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_101
#AT_START_102
at_fn_group_banner 102 'ofp-print.at:163' \
  "OFPT_ECHO_REPLY, empty payload" "                 " 13
at_xfail=no
(
  $as_echo "102. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:165: ovs-ofctl ofp-print '01 03 00 08 00 00 00 01'"
at_fn_check_prepare_trace "ofp-print.at:165"
( $at_check_trace; ovs-ofctl ofp-print '01 03 00 08 00 00 00 01'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ECHO_REPLY (xid=0x1): 0 bytes of payload
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_102
#AT_START_103
at_fn_group_banner 103 'ofp-print.at:170' \
  "OFPT_ECHO_REPLY, 5-byte payload" "                " 13
at_xfail=no
(
  $as_echo "103. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:172: ovs-ofctl ofp-print '0103000d0000000ba330efaf9e'"
at_fn_check_prepare_trace "ofp-print.at:172"
( $at_check_trace; ovs-ofctl ofp-print '0103000d0000000ba330efaf9e'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ECHO_REPLY (xid=0xb): 5 bytes of payload
00000000  a3 30 ef af 9e                                  |.0...           |
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:172"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_103
#AT_START_104
at_fn_group_banner 104 'ofp-print.at:178' \
  "OFPT_FEATURES_REQUEST" "                          " 13
at_xfail=no
(
  $as_echo "104. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:180: ovs-ofctl ofp-print '0105000800000001'"
at_fn_check_prepare_trace "ofp-print.at:180"
( $at_check_trace; ovs-ofctl ofp-print '0105000800000001'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FEATURES_REQUEST (xid=0x1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:180"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_104
#AT_START_105
at_fn_group_banner 105 'ofp-print.at:185' \
  "OFPT_FEATURES_REPLY - OF1.0" "                    " 13
at_xfail=no
(
  $as_echo "105. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:187: ovs-ofctl ofp-print \"\\
01 06 00 e0 00 00 00 01 00 00 50 54 00 00 00 01 \\
00 00 01 00 02 00 00 00 00 00 00 87 00 00 0f ff \\
ff fe 50 54 00 00 00 01 62 72 30 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 03 50 54 00 00 00 01 65 74 68 30 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \\
00 02 50 54 00 00 00 03 65 74 68 32 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \\
00 01 50 54 00 00 00 02 65 74 68 31 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:187"
( $at_check_trace; ovs-ofctl ofp-print "\
01 06 00 e0 00 00 00 01 00 00 50 54 00 00 00 01 \
00 00 01 00 02 00 00 00 00 00 00 87 00 00 0f ff \
ff fe 50 54 00 00 00 01 62 72 30 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 03 50 54 00 00 00 01 65 74 68 30 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \
00 02 50 54 00 00 00 03 65 74 68 32 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \
00 01 50 54 00 00 00 02 65 74 68 31 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FEATURES_REPLY (xid=0x1): dpid:0000505400000001
n_tables:2, n_buffers:256
capabilities: FLOW_STATS TABLE_STATS PORT_STATS ARP_MATCH_IP
actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST SET_NW_SRC SET_NW_DST SET_NW_TOS SET_TP_SRC SET_TP_DST ENQUEUE
 1(eth1): addr:50:54:00:00:00:02
     config:     0
     state:      0
     current:    100MB-FD AUTO_NEG
     advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
     supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
     speed: 100 Mbps now, 100 Mbps max
 2(eth2): addr:50:54:00:00:00:03
     config:     0
     state:      0
     current:    100MB-FD AUTO_NEG
     advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
     supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
     speed: 100 Mbps now, 100 Mbps max
 3(eth0): addr:50:54:00:00:00:01
     config:     0
     state:      0
     current:    100MB-FD AUTO_NEG
     advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
     supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
     speed: 100 Mbps now, 100 Mbps max
 LOCAL(br0): addr:50:54:00:00:00:01
     config:     PORT_DOWN
     state:      LINK_DOWN
     speed: 0 Mbps now, 0 Mbps max
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:187"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_105
#AT_START_106
at_fn_group_banner 106 'ofp-print.at:235' \
  "OFPT_FEATURES_REPLY cut off mid-port - OF1.0" "   " 13
at_xfail=no
(
  $as_echo "106. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:237: ovs-ofctl ofp-print \"\\
01 06 00 dc 00 00 00 01 00 00 50 54 00 00 00 01 \\
00 00 01 00 02 00 00 00 00 00 00 87 00 00 0f ff \\
ff fe 50 54 00 00 00 01 62 72 30 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 03 50 54 00 00 00 01 65 74 68 30 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \\
00 02 50 54 00 00 00 03 65 74 68 32 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \\
00 01 50 54 00 00 00 02 65 74 68 31 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 02 08 00 00 02 8f 00 00 02 8f \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:237"
( $at_check_trace; ovs-ofctl ofp-print "\
01 06 00 dc 00 00 00 01 00 00 50 54 00 00 00 01 \
00 00 01 00 02 00 00 00 00 00 00 87 00 00 0f ff \
ff fe 50 54 00 00 00 01 62 72 30 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 03 50 54 00 00 00 01 65 74 68 30 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \
00 02 50 54 00 00 00 03 65 74 68 32 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \
00 01 50 54 00 00 00 02 65 74 68 31 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 02 08 00 00 02 8f 00 00 02 8f \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "***decode error: OFPBRC_BAD_LEN***
00000000  01 06 00 dc 00 00 00 01-00 00 50 54 00 00 00 01 |..........PT....|
00000010  00 00 01 00 02 00 00 00-00 00 00 87 00 00 0f ff |................|
00000020  ff fe 50 54 00 00 00 01-62 72 30 00 00 00 00 00 |..PT....br0.....|
00000030  00 00 00 00 00 00 00 00-00 00 00 01 00 00 00 01 |................|
00000040  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
00000050  00 03 50 54 00 00 00 01-65 74 68 30 00 00 00 00 |..PT....eth0....|
00000060  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
00000070  00 00 02 08 00 00 02 8f-00 00 02 8f 00 00 00 00 |................|
00000080  00 02 50 54 00 00 00 03-65 74 68 32 00 00 00 00 |..PT....eth2....|
00000090  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
000000a0  00 00 02 08 00 00 02 8f-00 00 02 8f 00 00 00 00 |................|
000000b0  00 01 50 54 00 00 00 02-65 74 68 31 00 00 00 00 |..PT....eth1....|
000000c0  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 |................|
000000d0  00 00 02 08 00 00 02 8f-00 00 02 8f             |............    |
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:237"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-print.at:269: sed 's/.*|//' stderr"
at_fn_check_prepare_notrace 'a shell pipeline' "ofp-print.at:269"
( $at_check_trace; sed 's/.*|//' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "received OFPT_FEATURES_REPLY with incorrect length 220 (must be exactly 32 bytes or longer by an integer multiple of 48 bytes)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:269"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_106
#AT_START_107
at_fn_group_banner 107 'ofp-print.at:274' \
  "OFPT_FEATURES_REPLY - OF1.1" "                    " 13
at_xfail=no
(
  $as_echo "107. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:276: ovs-ofctl ofp-print \"\\
02 06 00 a0 00 00 00 01 00 00 50 54 00 00 00 01 \\
00 00 01 00 02 00 00 00 00 00 00 87 00 00 00 00 \\
ff ff ff fe 00 00 00 00 50 54 00 00 00 01 00 00 \\
62 72 30 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 01 86 a0 00 01 86 a0 \\
00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \\
65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \\
00 00 28 0f 00 00 00 00 00 01 86 a0 00 01 86 a0 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:276"
( $at_check_trace; ovs-ofctl ofp-print "\
02 06 00 a0 00 00 00 01 00 00 50 54 00 00 00 01 \
00 00 01 00 02 00 00 00 00 00 00 87 00 00 00 00 \
ff ff ff fe 00 00 00 00 50 54 00 00 00 01 00 00 \
62 72 30 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 01 86 a0 00 01 86 a0 \
00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \
65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \
00 00 28 0f 00 00 00 00 00 01 86 a0 00 01 86 a0 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FEATURES_REPLY (OF1.1) (xid=0x1): dpid:0000505400000001
n_tables:2, n_buffers:256
capabilities: FLOW_STATS TABLE_STATS PORT_STATS ARP_MATCH_IP
 3(eth0): addr:50:54:00:00:00:01
     config:     0
     state:      0
     current:    100MB-FD AUTO_NEG
     advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
     supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
     speed: 100 Mbps now, 100 Mbps max
 LOCAL(br0): addr:50:54:00:00:00:01
     config:     PORT_DOWN
     state:      LINK_DOWN
     speed: 100 Mbps now, 100 Mbps max
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:276"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_107
#AT_START_108
at_fn_group_banner 108 'ofp-print.at:305' \
  "OFPT_FEATURES_REPLY cut off mid-port - OF1.1" "   " 13
at_xfail=no
(
  $as_echo "108. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:307: ovs-ofctl ofp-print \"\\
02 06 00 90 00 00 00 01 00 00 50 54 00 00 00 01 \\
00 00 01 00 02 00 00 00 00 00 00 87 00 00 00 00 \\
ff ff ff fe 00 00 00 00 50 54 00 00 00 01 00 00 \\
62 72 30 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 01 86 a0 00 01 86 a0 \\
00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \\
65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:307"
( $at_check_trace; ovs-ofctl ofp-print "\
02 06 00 90 00 00 00 01 00 00 50 54 00 00 00 01 \
00 00 01 00 02 00 00 00 00 00 00 87 00 00 00 00 \
ff ff ff fe 00 00 00 00 50 54 00 00 00 01 00 00 \
62 72 30 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 01 86 a0 00 01 86 a0 \
00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \
65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "***decode error: OFPBRC_BAD_LEN***
00000000  02 06 00 90 00 00 00 01-00 00 50 54 00 00 00 01 |..........PT....|
00000010  00 00 01 00 02 00 00 00-00 00 00 87 00 00 00 00 |................|
00000020  ff ff ff fe 00 00 00 00-50 54 00 00 00 01 00 00 |........PT......|
00000030  62 72 30 00 00 00 00 00-00 00 00 00 00 00 00 00 |br0.............|
00000040  00 00 00 01 00 00 00 01-00 00 00 00 00 00 00 00 |................|
00000050  00 00 00 00 00 00 00 00-00 01 86 a0 00 01 86 a0 |................|
00000060  00 00 00 03 00 00 00 00-50 54 00 00 00 01 00 00 |........PT......|
00000070  65 74 68 30 00 00 00 00-00 00 00 00 00 00 00 00 |eth0............|
00000080  00 00 00 00 00 00 00 00-00 00 20 08 00 00 28 0f |.......... ...(.|
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:307"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-print.at:329: sed 's/.*|//' stderr"
at_fn_check_prepare_notrace 'a shell pipeline' "ofp-print.at:329"
( $at_check_trace; sed 's/.*|//' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "received OFPT_FEATURES_REPLY with incorrect length 144 (must be exactly 32 bytes or longer by an integer multiple of 64 bytes)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:329"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_108
#AT_START_109
at_fn_group_banner 109 'ofp-print.at:334' \
  "OFPT_FEATURES_REPLY - OF1.2" "                    " 13
at_xfail=no
(
  $as_echo "109. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:336: ovs-ofctl ofp-print \"\\
03 06 00 a0 00 00 00 01 00 00 50 54 00 00 00 01 \\
00 00 01 00 ff 00 00 00 00 00 01 77 00 00 00 00 \\
ff ff ff fe 00 00 00 00 50 54 00 00 00 01 00 00 \\
62 72 30 0a 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 01 86 a0 00 01 86 a0 \\
00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \\
65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \\
00 00 28 0f 00 00 00 00 00 01 86 a0 00 01 86 a0 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:336"
( $at_check_trace; ovs-ofctl ofp-print "\
03 06 00 a0 00 00 00 01 00 00 50 54 00 00 00 01 \
00 00 01 00 ff 00 00 00 00 00 01 77 00 00 00 00 \
ff ff ff fe 00 00 00 00 50 54 00 00 00 01 00 00 \
62 72 30 0a 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 01 86 a0 00 01 86 a0 \
00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \
65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \
00 00 28 0f 00 00 00 00 00 01 86 a0 00 01 86 a0 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FEATURES_REPLY (OF1.2) (xid=0x1): dpid:0000505400000001
n_tables:255, n_buffers:256
capabilities: FLOW_STATS TABLE_STATS PORT_STATS IP_REASM QUEUE_STATS PORT_BLOCKED
 3(eth0): addr:50:54:00:00:00:01
     config:     0
     state:      0
     current:    100MB-FD AUTO_NEG
     advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
     supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
     speed: 100 Mbps now, 100 Mbps max
 LOCAL(br0): addr:50:54:00:00:00:01
     config:     PORT_DOWN
     state:      LINK_DOWN
     speed: 100 Mbps now, 100 Mbps max
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:336"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_109
#AT_START_110
at_fn_group_banner 110 'ofp-print.at:365' \
  "OFPT_FEATURES_REPLY cut off mid-port - OF1.2" "   " 13
at_xfail=no
(
  $as_echo "110. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:367: ovs-ofctl ofp-print \"\\
03 06 00 a0 00 00 00 01 00 00 50 54 00 00 00 01 \\
00 00 01 00 ff 00 00 00 00 00 01 77 00 00 00 00 \\
ff ff ff fe 00 00 00 00 50 54 00 00 00 01 00 00 \\
62 72 30 0a 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 01 86 a0 00 01 86 a0 \\
00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \\
65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:367"
( $at_check_trace; ovs-ofctl ofp-print "\
03 06 00 a0 00 00 00 01 00 00 50 54 00 00 00 01 \
00 00 01 00 ff 00 00 00 00 00 01 77 00 00 00 00 \
ff ff ff fe 00 00 00 00 50 54 00 00 00 01 00 00 \
62 72 30 0a 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 01 86 a0 00 01 86 a0 \
00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \
65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "OFPT_FEATURES_REPLY (OF1.2) (xid=0x1):
(***truncated to 144 bytes from 160***)
00000000  03 06 00 a0 00 00 00 01-00 00 50 54 00 00 00 01 |..........PT....|
00000010  00 00 01 00 ff 00 00 00-00 00 01 77 00 00 00 00 |...........w....|
00000020  ff ff ff fe 00 00 00 00-50 54 00 00 00 01 00 00 |........PT......|
00000030  62 72 30 0a 00 00 00 00-00 00 00 00 00 00 00 00 |br0.............|
00000040  00 00 00 01 00 00 00 01-00 00 00 00 00 00 00 00 |................|
00000050  00 00 00 00 00 00 00 00-00 01 86 a0 00 01 86 a0 |................|
00000060  00 00 00 03 00 00 00 00-50 54 00 00 00 01 00 00 |........PT......|
00000070  65 74 68 30 00 00 00 00-00 00 00 00 00 00 00 00 |eth0............|
00000080  00 00 00 00 00 00 00 00-00 00 20 08 00 00 28 0f |.......... ...(.|
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:367"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-print.at:390: sed 's/.*|//' stderr"
at_fn_check_prepare_notrace 'a shell pipeline' "ofp-print.at:390"
( $at_check_trace; sed 's/.*|//' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:390"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_110
#AT_START_111
at_fn_group_banner 111 'ofp-print.at:394' \
  "OFPT_FEATURES_REPLY - OF1.3" "                    " 13
at_xfail=no
(
  $as_echo "111. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:396: ovs-ofctl ofp-print \"\\
04 06 00 20 00 00 00 01 00 00 50 54 00 00 00 01 \\
00 00 01 00 ff 00 00 00 00 00 01 77 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:396"
( $at_check_trace; ovs-ofctl ofp-print "\
04 06 00 20 00 00 00 01 00 00 50 54 00 00 00 01 \
00 00 01 00 ff 00 00 00 00 00 01 77 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FEATURES_REPLY (OF1.3) (xid=0x1): dpid:0000505400000001
n_tables:255, n_buffers:256
capabilities: FLOW_STATS TABLE_STATS PORT_STATS IP_REASM QUEUE_STATS PORT_BLOCKED
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:396"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_111
#AT_START_112
at_fn_group_banner 112 'ofp-print.at:406' \
  "OFPT_FEATURES_REPLY - with auxiliary_id - OF1.3" "" 13
at_xfail=no
(
  $as_echo "112. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:408: ovs-ofctl ofp-print \"\\
04 06 00 20 00 00 00 01 00 00 50 54 00 00 00 01 \\
00 00 01 00 ff 01 00 00 00 00 01 77 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:408"
( $at_check_trace; ovs-ofctl ofp-print "\
04 06 00 20 00 00 00 01 00 00 50 54 00 00 00 01 \
00 00 01 00 ff 01 00 00 00 00 01 77 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FEATURES_REPLY (OF1.3) (xid=0x1): dpid:0000505400000001
n_tables:255, n_buffers:256, auxiliary_id:1
capabilities: FLOW_STATS TABLE_STATS PORT_STATS IP_REASM QUEUE_STATS PORT_BLOCKED
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:408"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_112
#AT_START_113
at_fn_group_banner 113 'ofp-print.at:418' \
  "OFPT_GET_CONFIG_REQUEST" "                        " 13
at_xfail=no
(
  $as_echo "113. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:420: ovs-ofctl ofp-print '0107000800000001'"
at_fn_check_prepare_trace "ofp-print.at:420"
( $at_check_trace; ovs-ofctl ofp-print '0107000800000001'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_GET_CONFIG_REQUEST (xid=0x1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:420"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_113
#AT_START_114
at_fn_group_banner 114 'ofp-print.at:425' \
  "OFPT_GET_CONFIG_REPLY, most common form" "        " 13
at_xfail=no
(
  $as_echo "114. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:427: ovs-ofctl ofp-print '01 08 00 0c 00 00 00 03 00 00 00 00'"
at_fn_check_prepare_trace "ofp-print.at:427"
( $at_check_trace; ovs-ofctl ofp-print '01 08 00 0c 00 00 00 03 00 00 00 00'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_GET_CONFIG_REPLY (xid=0x3): frags=normal miss_send_len=0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:427"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_114
#AT_START_115
at_fn_group_banner 115 'ofp-print.at:433' \
  "OFPT_GET_CONFIG_REPLY, frags and miss_send_len" " " 13
at_xfail=no
(
  $as_echo "115. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:435: ovs-ofctl ofp-print '01 08 00 0c 00 00 00 03 00 02 00 ff'"
at_fn_check_prepare_trace "ofp-print.at:435"
( $at_check_trace; ovs-ofctl ofp-print '01 08 00 0c 00 00 00 03 00 02 00 ff'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_GET_CONFIG_REPLY (xid=0x3): frags=reassemble miss_send_len=255
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:435"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_115
#AT_START_116
at_fn_group_banner 116 'ofp-print.at:440' \
  "OFPT_PACKET_IN - OF1.0" "                         " 13
at_xfail=no
(
  $as_echo "116. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:442: ovs-ofctl ofp-print \"\\
01 0a 00 4e 00 00 00 00 00 00 01 11 00 3c 00 03 \\
00 00 50 54 00 00 00 06 50 54 00 00 00 05 08 00 \\
45 00 00 28 bd 12 00 00 40 06 3c 6a c0 a8 00 01 \\
c0 a8 00 02 27 2f 00 00 78 50 cc 5b 57 af 42 1e \\
50 00 02 00 26 e8 00 00 00 00 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:442"
( $at_check_trace; ovs-ofctl ofp-print "\
01 0a 00 4e 00 00 00 00 00 00 01 11 00 3c 00 03 \
00 00 50 54 00 00 00 06 50 54 00 00 00 05 08 00 \
45 00 00 28 bd 12 00 00 40 06 3c 6a c0 a8 00 01 \
c0 a8 00 02 27 2f 00 00 78 50 cc 5b 57 af 42 1e \
50 00 02 00 26 e8 00 00 00 00 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_IN (xid=0x0): total_len=60 in_port=3 (via no_match) data_len=60 buffer=0x00000111
tcp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=10031,tp_dst=0 tcp_csum:26e8
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:442"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_116
#AT_START_117
at_fn_group_banner 117 'ofp-print.at:454' \
  "OFPT_PACKET_IN - OF1.0, with hex output of packet data)" "" 13
at_xfail=no
(
  $as_echo "117. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:456: ovs-ofctl ofp-print \"\\
01 0a 00 4e 00 00 00 00 00 00 01 11 00 3c 00 03 \\
00 00 50 54 00 00 00 06 50 54 00 00 00 05 08 00 \\
45 00 00 28 bd 12 00 00 40 06 3c 6a c0 a8 00 01 \\
c0 a8 00 02 27 2f 00 00 78 50 cc 5b 57 af 42 1e \\
50 00 02 00 26 e8 00 00 00 00 00 00 00 00 \\
\" 3"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:456"
( $at_check_trace; ovs-ofctl ofp-print "\
01 0a 00 4e 00 00 00 00 00 00 01 11 00 3c 00 03 \
00 00 50 54 00 00 00 06 50 54 00 00 00 05 08 00 \
45 00 00 28 bd 12 00 00 40 06 3c 6a c0 a8 00 01 \
c0 a8 00 02 27 2f 00 00 78 50 cc 5b 57 af 42 1e \
50 00 02 00 26 e8 00 00 00 00 00 00 00 00 \
" 3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_IN (xid=0x0): total_len=60 in_port=3 (via no_match) data_len=60 buffer=0x00000111
tcp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=10031,tp_dst=0 tcp_csum:26e8
00000000  50 54 00 00 00 06 50 54-00 00 00 05 08 00 45 00
00000010  00 28 bd 12 00 00 40 06-3c 6a c0 a8 00 01 c0 a8
00000020  00 02 27 2f 00 00 78 50-cc 5b 57 af 42 1e 50 00
00000030  02 00 26 e8 00 00 00 00-00 00 00 00
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:456"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_117
#AT_START_118
at_fn_group_banner 118 'ofp-print.at:472' \
  "OFPT_PACKET_IN - OF1.2" "                         " 13
at_xfail=no
(
  $as_echo "118. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:474: ovs-ofctl ofp-print \"\\
03 0a 00 4c 00 00 00 00 ff ff ff 00 00 2a 00 00 \\
00 01 00 0c 80 00 00 04 ff ff ff fe 00 00 00 00 \\
00 00 ff ff ff ff ff ff 00 23 20 83 c1 5f 80 35 \\
00 01 08 00 06 04 00 01 00 23 20 83 c1 5f 00 00 \\
00 00 00 23 20 83 c1 5f 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:474"
( $at_check_trace; ovs-ofctl ofp-print "\
03 0a 00 4c 00 00 00 00 ff ff ff 00 00 2a 00 00 \
00 01 00 0c 80 00 00 04 ff ff ff fe 00 00 00 00 \
00 00 ff ff ff ff ff ff 00 23 20 83 c1 5f 80 35 \
00 01 08 00 06 04 00 01 00 23 20 83 c1 5f 00 00 \
00 00 00 23 20 83 c1 5f 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_IN (OF1.2) (xid=0x0): total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00
rarp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:23:20:83:c1:5f,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=1,arp_sha=00:23:20:83:c1:5f,arp_tha=00:23:20:83:c1:5f
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:474"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_118
#AT_START_119
at_fn_group_banner 119 'ofp-print.at:486' \
  "OFPT_PACKET_IN - OF1.2, with hex output of packet data" "" 13
at_xfail=no
(
  $as_echo "119. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:488: ovs-ofctl ofp-print \"\\
03 0a 00 4c 00 00 00 00 ff ff ff 00 00 2a 00 00 \\
00 01 00 0c 80 00 00 04 ff ff ff fe 00 00 00 00 \\
00 00 ff ff ff ff ff ff 00 23 20 83 c1 5f 80 35 \\
00 01 08 00 06 04 00 03 00 23 20 83 c1 5f 00 00 \\
00 00 00 23 20 83 c1 5f 00 00 00 00 \\
\" 3"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:488"
( $at_check_trace; ovs-ofctl ofp-print "\
03 0a 00 4c 00 00 00 00 ff ff ff 00 00 2a 00 00 \
00 01 00 0c 80 00 00 04 ff ff ff fe 00 00 00 00 \
00 00 ff ff ff ff ff ff 00 23 20 83 c1 5f 80 35 \
00 01 08 00 06 04 00 03 00 23 20 83 c1 5f 00 00 \
00 00 00 23 20 83 c1 5f 00 00 00 00 \
" 3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_IN (OF1.2) (xid=0x0): total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00
rarp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:23:20:83:c1:5f,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=3,arp_sha=00:23:20:83:c1:5f,arp_tha=00:23:20:83:c1:5f
00000000  ff ff ff ff ff ff 00 23-20 83 c1 5f 80 35 00 01
00000010  08 00 06 04 00 03 00 23-20 83 c1 5f 00 00 00 00
00000020  00 23 20 83 c1 5f 00 00-00 00
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:488"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_119
#AT_START_120
at_fn_group_banner 120 'ofp-print.at:503' \
  "OFPT_PACKET_IN - OF1.3" "                         " 13
at_xfail=no
(
  $as_echo "120. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:505: ovs-ofctl ofp-print \"\\
04 0a 00 54 00 00 00 00 ff ff ff 00 00 2a 00 00 \\
01 02 03 04 05 06 07 08 00 01 00 0c 80 00 00 04 \\
ff ff ff fe 00 00 00 00 00 00 ff ff ff ff ff ff \\
00 23 20 83 c1 5f 80 35 00 01 08 00 06 04 00 03 \\
00 23 20 83 c1 5f 00 00 00 00 00 23 20 83 c1 5f \\
00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:505"
( $at_check_trace; ovs-ofctl ofp-print "\
04 0a 00 54 00 00 00 00 ff ff ff 00 00 2a 00 00 \
01 02 03 04 05 06 07 08 00 01 00 0c 80 00 00 04 \
ff ff ff fe 00 00 00 00 00 00 ff ff ff ff ff ff \
00 23 20 83 c1 5f 80 35 00 01 08 00 06 04 00 03 \
00 23 20 83 c1 5f 00 00 00 00 00 23 20 83 c1 5f \
00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_IN (OF1.3) (xid=0x0): cookie=0x102030405060708 total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00
rarp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:23:20:83:c1:5f,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=3,arp_sha=00:23:20:83:c1:5f,arp_tha=00:23:20:83:c1:5f
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:505"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_120
#AT_START_121
at_fn_group_banner 121 'ofp-print.at:518' \
  "OFPT_PACKET_IN - OF1.3, with hex output of packet data" "" 13
at_xfail=no
(
  $as_echo "121. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:520: ovs-ofctl ofp-print \"\\
04 0a 00 54 00 00 00 00 ff ff ff 00 00 2a 00 00 \\
01 02 03 04 05 06 07 08 00 01 00 0c 80 00 00 04 \\
ff ff ff fe 00 00 00 00 00 00 ff ff ff ff ff ff \\
00 23 20 83 c1 5f 80 35 00 01 08 00 06 04 00 03 \\
00 23 20 83 c1 5f 00 00 00 00 00 23 20 83 c1 5f \\
00 00 00 00 \\
\" 3"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:520"
( $at_check_trace; ovs-ofctl ofp-print "\
04 0a 00 54 00 00 00 00 ff ff ff 00 00 2a 00 00 \
01 02 03 04 05 06 07 08 00 01 00 0c 80 00 00 04 \
ff ff ff fe 00 00 00 00 00 00 ff ff ff ff ff ff \
00 23 20 83 c1 5f 80 35 00 01 08 00 06 04 00 03 \
00 23 20 83 c1 5f 00 00 00 00 00 23 20 83 c1 5f \
00 00 00 00 \
" 3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_IN (OF1.3) (xid=0x0): cookie=0x102030405060708 total_len=42 in_port=LOCAL (via no_match) data_len=42 buffer=0xffffff00
rarp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:23:20:83:c1:5f,dl_dst=ff:ff:ff:ff:ff:ff,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_op=3,arp_sha=00:23:20:83:c1:5f,arp_tha=00:23:20:83:c1:5f
00000000  ff ff ff ff ff ff 00 23-20 83 c1 5f 80 35 00 01
00000010  08 00 06 04 00 03 00 23-20 83 c1 5f 00 00 00 00
00000020  00 23 20 83 c1 5f 00 00-00 00
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:520"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_121
#AT_START_122
at_fn_group_banner 122 'ofp-print.at:536' \
  "OFPT_FLOW_REMOVED - OF1.0" "                      " 13
at_xfail=no
(
  $as_echo "122. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:538: ovs-ofctl ofp-print \"\\
01 0b 00 58 00 00 00 00 00 00 00 00 00 03 50 54 \\
00 00 00 05 50 54 00 00 00 06 ff ff 00 00 08 06 \\
00 02 00 00 c0 a8 00 01 c0 a8 00 02 00 00 00 00 \\
00 00 00 00 00 00 00 00 ff ff 00 00 00 00 00 05 \\
30 e0 35 00 00 05 00 00 00 00 00 00 00 00 00 01 \\
00 00 00 00 00 00 00 3c \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:538"
( $at_check_trace; ovs-ofctl ofp-print "\
01 0b 00 58 00 00 00 00 00 00 00 00 00 03 50 54 \
00 00 00 05 50 54 00 00 00 06 ff ff 00 00 08 06 \
00 02 00 00 c0 a8 00 01 c0 a8 00 02 00 00 00 00 \
00 00 00 00 00 00 00 00 ff ff 00 00 00 00 00 05 \
30 e0 35 00 00 05 00 00 00 00 00 00 00 00 00 01 \
00 00 00 00 00 00 00 3c \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FLOW_REMOVED (xid=0x0): priority=65535,arp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,arp_spa=192.168.0.1,arp_tpa=192.168.0.2,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0 reason=idle duration5.82s idle5 pkts1 bytes60
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:538"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_122
#AT_START_123
at_fn_group_banner 123 'ofp-print.at:550' \
  "OFPT_FLOW_REMOVED - OF1.2" "                      " 13
at_xfail=no
(
  $as_echo "123. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:552: ovs-ofctl ofp-print \"\\
03 0b 00 40 00 00 00 00 fe dc ba 98 76 54 32 10 \\
80 00 01 05 00 00 00 01 00 98 96 80 00 3c 00 78 \\
00 00 00 00 00 12 d6 87 00 00 00 00 6f 68 ba 66 \\
00 01 00 0a 80 00 0c 02 10 09 00 00 00 00 00 00\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:552"
( $at_check_trace; ovs-ofctl ofp-print "\
03 0b 00 40 00 00 00 00 fe dc ba 98 76 54 32 10 \
80 00 01 05 00 00 00 01 00 98 96 80 00 3c 00 78 \
00 00 00 00 00 12 d6 87 00 00 00 00 6f 68 ba 66 \
00 01 00 0a 80 00 0c 02 10 09 00 00 00 00 00 00"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FLOW_REMOVED (OF1.2) (xid=0x0): dl_vlan=9 reason=hard table_id=5 cookie:0xfedcba9876543210 duration1.01s idle60 hard120 pkts1234567 bytes1869134438
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:552"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_123
#AT_START_124
at_fn_group_banner 124 'ofp-print.at:561' \
  "OFPT_FLOW_REMOVED - OF1.3" "                      " 13
at_xfail=no
(
  $as_echo "124. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:563: ovs-ofctl ofp-print \"\\
04 0b 00 40 00 00 00 00 fe dc ba 98 76 54 32 10 \\
80 00 01 05 00 00 00 01 00 98 96 80 00 3c 00 78 \\
00 00 00 00 00 12 d6 87 00 00 00 00 6f 68 ba 66 \\
00 01 00 0a 80 00 0c 02 10 09 00 00 00 00 00 00\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:563"
( $at_check_trace; ovs-ofctl ofp-print "\
04 0b 00 40 00 00 00 00 fe dc ba 98 76 54 32 10 \
80 00 01 05 00 00 00 01 00 98 96 80 00 3c 00 78 \
00 00 00 00 00 12 d6 87 00 00 00 00 6f 68 ba 66 \
00 01 00 0a 80 00 0c 02 10 09 00 00 00 00 00 00"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FLOW_REMOVED (OF1.3) (xid=0x0): dl_vlan=9 reason=hard table_id=5 cookie:0xfedcba9876543210 duration1.01s idle60 hard120 pkts1234567 bytes1869134438
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:563"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_124
#AT_START_125
at_fn_group_banner 125 'ofp-print.at:572' \
  "OFPT_PORT_STATUS - OF1.0" "                       " 13
at_xfail=no
(
  $as_echo "125. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:574: ovs-ofctl ofp-print \"\\
01 0c 00 40 00 00 00 00 02 00 00 00 00 00 00 00 \\
00 03 50 54 00 00 00 01 65 74 68 30 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 \\
00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:574"
( $at_check_trace; ovs-ofctl ofp-print "\
01 0c 00 40 00 00 00 00 02 00 00 00 00 00 00 00 \
00 03 50 54 00 00 00 01 65 74 68 30 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 \
00 00 02 08 00 00 02 8f 00 00 02 8f 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PORT_STATUS (xid=0x0): MOD: 3(eth0): addr:50:54:00:00:00:01
     config:     PORT_DOWN
     state:      LINK_DOWN
     current:    100MB-FD AUTO_NEG
     advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
     supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
     speed: 100 Mbps now, 100 Mbps max
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:574"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_125
#AT_START_126
at_fn_group_banner 126 'ofp-print.at:590' \
  "OFPT_PORT_STATUS - OF1.1" "                       " 13
at_xfail=no
(
  $as_echo "126. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:592: ovs-ofctl ofp-print \"\\
02 0c 00 50 00 00 00 00 02 00 00 00 00 00 00 00 \\
00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \\
65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \\
00 00 28 0f 00 00 00 00 00 01 86 a0 00 01 86 a0 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:592"
( $at_check_trace; ovs-ofctl ofp-print "\
02 0c 00 50 00 00 00 00 02 00 00 00 00 00 00 00 \
00 00 00 03 00 00 00 00 50 54 00 00 00 01 00 00 \
65 74 68 30 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 20 08 00 00 28 0f \
00 00 28 0f 00 00 00 00 00 01 86 a0 00 01 86 a0 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PORT_STATUS (OF1.1) (xid=0x0): MOD: 3(eth0): addr:50:54:00:00:00:01
     config:     0
     state:      0
     current:    100MB-FD AUTO_NEG
     advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
     supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
     speed: 100 Mbps now, 100 Mbps max
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:592"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_126
#AT_START_127
at_fn_group_banner 127 'ofp-print.at:609' \
  "OFPT_PACKET_OUT - OF1.0" "                        " 13
at_xfail=no
(
  $as_echo "127. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:611: ovs-ofctl ofp-print \"\\
01 0d 00 54 00 00 00 00 00 00 01 14 00 01 00 08 \\
00 00 00 08 00 03 00 00 50 54 00 00 00 05 50 54 \\
00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \\
b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \\
00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \\
00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:611"
( $at_check_trace; ovs-ofctl ofp-print "\
01 0d 00 54 00 00 00 00 00 00 01 14 00 01 00 08 \
00 00 00 08 00 03 00 00 50 54 00 00 00 05 50 54 \
00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \
b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \
00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \
00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_OUT (xid=0x0): in_port=1 actions=output:3 buffer=0x00000114
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:611"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_127
#AT_START_128
at_fn_group_banner 128 'ofp-print.at:623' \
  "OFPT_PACKET_OUT - OF1.0, with packet" "           " 13
at_xfail=no
(
  $as_echo "128. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:625: ovs-ofctl ofp-print \"\\
01 0d 00 54 00 00 00 00 ff ff ff ff 00 01 00 08 \\
00 00 00 08 00 03 00 00 50 54 00 00 00 05 50 54 \\
00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \\
b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \\
00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \\
00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:625"
( $at_check_trace; ovs-ofctl ofp-print "\
01 0d 00 54 00 00 00 00 ff ff ff ff 00 01 00 08 \
00 00 00 08 00 03 00 00 50 54 00 00 00 05 50 54 \
00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \
b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \
00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \
00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_OUT (xid=0x0): in_port=1 actions=output:3 data_len=60
tcp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=0,tp_dst=11104 tcp_csum:6d75
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:625"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_128
#AT_START_129
at_fn_group_banner 129 'ofp-print.at:638' \
  "OFPT_PACKET_OUT - OF1.0, with hex output of packet data" "" 13
at_xfail=no
(
  $as_echo "129. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:640: ovs-ofctl ofp-print \"\\
01 0d 00 54 00 00 00 00 ff ff ff ff 00 01 00 08 \\
00 00 00 08 00 03 00 00 50 54 00 00 00 05 50 54 \\
00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \\
b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \\
00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \\
00 00 00 00 \\
\" 3"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:640"
( $at_check_trace; ovs-ofctl ofp-print "\
01 0d 00 54 00 00 00 00 ff ff ff ff 00 01 00 08 \
00 00 00 08 00 03 00 00 50 54 00 00 00 05 50 54 \
00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \
b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \
00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \
00 00 00 00 \
" 3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_OUT (xid=0x0): in_port=1 actions=output:3 data_len=60
tcp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=0,tp_dst=11104 tcp_csum:6d75
00000000  50 54 00 00 00 05 50 54-00 00 00 06 08 00 45 00
00000010  00 28 00 00 40 00 40 06-b9 7c c0 a8 00 02 c0 a8
00000020  00 01 00 00 2b 60 00 00-00 00 6a 4f 2b 58 50 14
00000030  00 00 6d 75 00 00 00 00-00 00 00 00
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:640"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_129
#AT_START_130
at_fn_group_banner 130 'ofp-print.at:657' \
  "OFPT_PACKET_OUT - OF1.1" "                        " 13
at_xfail=no
(
  $as_echo "130. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:659: ovs-ofctl ofp-print \"\\
03 0d 00 28 88 58 df c5 ff ff ff 00 ff ff ff fe \\
00 10 00 00 00 00 00 00 00 00 00 10 ff ff ff fb \\
05 dc 00 00 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:659"
( $at_check_trace; ovs-ofctl ofp-print "\
03 0d 00 28 88 58 df c5 ff ff ff 00 ff ff ff fe \
00 10 00 00 00 00 00 00 00 00 00 10 ff ff ff fb \
05 dc 00 00 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_OUT (OF1.2) (xid=0x8858dfc5): in_port=LOCAL actions=FLOOD buffer=0xffffff00
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:659"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_130
#AT_START_131
at_fn_group_banner 131 'ofp-print.at:668' \
  "OFPT_PACKET_OUT - OF1.1, with packet" "           " 13
at_xfail=no
(
  $as_echo "131. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:670: ovs-ofctl ofp-print \"\\
03 0d 00 64 88 58 df c5 ff ff ff ff ff ff ff fe \\
00 10 00 00 00 00 00 00 00 00 00 10 ff ff ff fb \\
05 dc 00 00 00 00 00 00 50 54 00 00 00 05 50 54 \\
00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \\
b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \\
00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \\
00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:670"
( $at_check_trace; ovs-ofctl ofp-print "\
03 0d 00 64 88 58 df c5 ff ff ff ff ff ff ff fe \
00 10 00 00 00 00 00 00 00 00 00 10 ff ff ff fb \
05 dc 00 00 00 00 00 00 50 54 00 00 00 05 50 54 \
00 00 00 06 08 00 45 00 00 28 00 00 40 00 40 06 \
b9 7c c0 a8 00 02 c0 a8 00 01 00 00 2b 60 00 00 \
00 00 6a 4f 2b 58 50 14 00 00 6d 75 00 00 00 00 \
00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_OUT (OF1.2) (xid=0x8858dfc5): in_port=LOCAL actions=FLOOD data_len=60
tcp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=0,tp_dst=11104 tcp_csum:6d75
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:670"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_131
#AT_START_132
at_fn_group_banner 132 'ofp-print.at:685' \
  "OFPT_FLOW_MOD - OF1.0 - low verbosity" "          " 13
at_xfail=no
(
  $as_echo "132. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:687: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"\\
01 0e 00 50 00 00 00 00 00 00 00 00 00 01 50 54 \\
00 00 00 06 50 54 00 00 00 05 ff ff 00 00 08 06 \\
00 02 00 00 c0 a8 00 02 c0 a8 00 01 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 \\
00 00 01 0e 00 00 00 00 00 00 00 08 00 03 00 00 \\
\" 2"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:687"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
01 0e 00 50 00 00 00 00 00 00 00 00 00 01 50 54 \
00 00 00 06 50 54 00 00 00 05 ff ff 00 00 08 06 \
00 02 00 00 c0 a8 00 02 c0 a8 00 01 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 \
00 00 01 0e 00 00 00 00 00 00 00 08 00 03 00 00 \
" 2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ofp_util|INFO|normalization changed ofp_match, details:
ofp_util|INFO| pre: arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0
ofp_util|INFO|post: arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FLOW_MOD (xid=0x0): ADD priority=65535,arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2 idle:5 buf:0x10e out_port:0 actions=output:3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:687"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_132
#AT_START_133
at_fn_group_banner 133 'ofp-print.at:703' \
  "OFPT_FLOW_MOD - OF1.1 - low verbosity" "          " 13
at_xfail=no
(
  $as_echo "133. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:705: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"\\
020e 0090 01020304 \\
da1aa3e035d87158 ffffffffffffffff \\
02 01 003c 0078 9c40 ffffffff ffffffff ffffffff 0003 \\
0000 \\
\\
0000 0058 00000000 000003f7 \\
000000000000ffffffffffff 000000000000ffffffffffff \\
0000 00 00 0806 00 00 c0a88000000000ff 00000000ffffffff 0000 0000 \\
00000000 00 000000 0000000000000000ffffffffffffffff \\
\\
0001 0008 03 000000 \\
\" 2"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:705"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
020e 0090 01020304 \
da1aa3e035d87158 ffffffffffffffff \
02 01 003c 0078 9c40 ffffffff ffffffff ffffffff 0003 \
0000 \
\
0000 0058 00000000 000003f7 \
000000000000ffffffffffff 000000000000ffffffffffff \
0000 00 00 0806 00 00 c0a88000000000ff 00000000ffffffff 0000 0000 \
00000000 00 000000 0000000000000000ffffffffffffffff \
\
0001 0008 03 000000 \
" 2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FLOW_MOD (OF1.1) (xid=0x1020304): MOD table:2 priority=40000,arp,arp_spa=192.168.128.0/24 cookie:0xda1aa3e035d87158/0xffffffffffffffff idle:60 hard:120 send_flow_rem check_overlap actions=goto_table:3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:705"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_133
#AT_START_134
at_fn_group_banner 134 'ofp-print.at:723' \
  "OFPT_FLOW_MOD - OF1.2 - low verbosity" "          " 13
at_xfail=no
(
  $as_echo "134. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:725: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"\\
03 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 ff 00 00 00 00 00 ff ff \\
ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \\
00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \\
50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \\
80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \\
00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \\
00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \\
00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \\
\" 2"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:725"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
03 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 ff 00 00 00 00 00 ff ff \
ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \
50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \
80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \
00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \
00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \
00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
" 2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FLOW_MOD (OF1.2) (xid=0x2): ADD table:255 priority=65535,arp,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2 actions=output:3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:725"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_134
#AT_START_135
at_fn_group_banner 135 'ofp-print.at:743' \
  "OFPT_FLOW_MOD - OF1.0 - high verbosity" "         " 13
at_xfail=no
(
  $as_echo "135. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:745: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"\\
01 0e 00 50 00 00 00 00 00 00 00 00 00 01 50 54 \\
00 00 00 06 50 54 00 00 00 05 ff ff 00 00 08 06 \\
00 02 00 00 c0 a8 00 02 c0 a8 00 01 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 \\
00 00 01 0e 00 00 00 00 00 00 00 08 00 03 00 00 \\
\" 3"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:745"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
01 0e 00 50 00 00 00 00 00 00 00 00 00 01 50 54 \
00 00 00 06 50 54 00 00 00 05 ff ff 00 00 08 06 \
00 02 00 00 c0 a8 00 02 c0 a8 00 01 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 \
00 00 01 0e 00 00 00 00 00 00 00 08 00 03 00 00 \
" 3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ofp_util|INFO|normalization changed ofp_match, details:
ofp_util|INFO| pre: arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0
ofp_util|INFO|post: arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FLOW_MOD (xid=0x0): ADD arp,in_port=1,dl_vlan=65535,dl_vlan_pcp=0,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0 idle:5 pri:65535 buf:0x10e out_port:0 actions=output:3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:745"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_135
#AT_START_136
at_fn_group_banner 136 'ofp-print.at:761' \
  "OFPT_FLOW_MOD - OF1.2 - low verbosity" "          " 13
at_xfail=no
(
  $as_echo "136. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:763: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"\\
03 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 ff 00 00 00 00 00 ff ff \\
ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \\
00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \\
50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \\
80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \\
00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \\
00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \\
00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \\
\" 2"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:763"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
03 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 ff 00 00 00 00 00 ff ff \
ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \
50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \
80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \
00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \
00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \
00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
" 2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FLOW_MOD (OF1.2) (xid=0x2): ADD table:255 priority=65535,arp,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2 actions=output:3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:763"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_136
#AT_START_137
at_fn_group_banner 137 'ofp-print.at:780' \
  "OFPT_FLOW_MOD - OF1.3 - flags - low verbosity" "  " 13
at_xfail=no
(
  $as_echo "137. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:782: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"\\
04 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 ff 00 00 00 00 00 ff ff \\
ff ff ff ff ff ff ff ff ff ff ff ff 00 1f 00 00 \\
00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \\
50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \\
80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \\
00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \\
00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \\
00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \\
\" 2"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:782"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
04 0e 00 90 00 00 00 02 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 ff 00 00 00 00 00 ff ff \
ff ff ff ff ff ff ff ff ff ff ff ff 00 1f 00 00 \
00 01 00 42 80 00 00 04 00 00 00 01 80 00 08 06 \
50 54 00 00 00 06 80 00 06 06 50 54 00 00 00 05 \
80 00 0a 02 08 06 80 00 0c 02 00 00 80 00 2a 02 \
00 02 80 00 2c 04 c0 a8 00 02 80 00 2e 04 c0 a8 \
00 01 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \
00 00 00 10 00 00 00 03 00 00 00 00 00 00 00 00 \
" 2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FLOW_MOD (OF1.3) (xid=0x2): ADD table:255 priority=65535,arp,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=2 send_flow_rem check_overlap reset_counts no_packet_counts no_byte_counts actions=output:3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:782"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_137
#AT_START_138
at_fn_group_banner 138 'ofp-print.at:798' \
  "OFPT_FLOW_MOD - OF1.2 - set-field ip_src" "       " 13
at_xfail=no
(
  $as_echo "138. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:800: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"\\
03 0e 00 58 52 33 45 02 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \\
ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \\
00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \\
00 04 00 18 00 00 00 00 00 19 00 10 80 00 16 04 \\
c0 a8 03 5c 00 00 00 00                         \\
\" 2"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:800"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
03 0e 00 58 52 33 45 02 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \
ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \
00 04 00 18 00 00 00 00 00 19 00 10 80 00 16 04 \
c0 a8 03 5c 00 00 00 00                         \
" 2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FLOW_MOD (OF1.2) (xid=0x52334502): ADD priority=255,ip actions=set_field:192.168.3.92->ip_src
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:800"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_138
#AT_START_139
at_fn_group_banner 139 'ofp-print.at:813' \
  "OFPT_FLOW_MOD - OF1.2 - set-field ip_dst" "       " 13
at_xfail=no
(
  $as_echo "139. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:815: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"\\
03 0e 00 58 52 33 45 07 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \\
ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \\
00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \\
00 04 00 18 00 00 00 00 00 19 00 10 80 00 18 04 \\
c0 a8 4a 7a 00 00 00 00                         \\
\" 2"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:815"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
03 0e 00 58 52 33 45 07 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \
ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \
00 04 00 18 00 00 00 00 00 19 00 10 80 00 18 04 \
c0 a8 4a 7a 00 00 00 00                         \
" 2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FLOW_MOD (OF1.2) (xid=0x52334507): ADD priority=255,ip actions=set_field:192.168.74.122->ip_dst
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:815"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_139
#AT_START_140
at_fn_group_banner 140 'ofp-print.at:828' \
  "OFPT_FLOW_MOD - OF1.2 - set-field sctp_src" "     " 13
at_xfail=no
(
  $as_echo "140. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:830: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"\\
03 0e 00 58 52 33 45 07 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \\
ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \\
00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \\
00 04 00 18 00 00 00 00 00 19 00 10 80 00 22 02 \\
0d 06 00 00 00 00 00 00                         \\
\" 2"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:830"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
03 0e 00 58 52 33 45 07 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \
ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \
00 04 00 18 00 00 00 00 00 19 00 10 80 00 22 02 \
0d 06 00 00 00 00 00 00                         \
" 2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FLOW_MOD (OF1.2) (xid=0x52334507): ADD priority=255,sctp actions=set_field:3334->sctp_src
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:830"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_140
#AT_START_141
at_fn_group_banner 141 'ofp-print.at:843' \
  "OFPT_FLOW_MOD - OF1.2 - set-field sctp_dst" "     " 13
at_xfail=no
(
  $as_echo "141. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:845: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"\\
03 0e 00 58 52 33 45 07 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \\
ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \\
00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \\
00 04 00 18 00 00 00 00 00 19 00 10 80 00 24 02 \\
11 5d 00 00 00 00 00 00                         \\
\" 2"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:845"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
03 0e 00 58 52 33 45 07 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff \
ff ff ff ff ff ff ff ff ff ff ff ff 00 00 00 00 \
00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \
00 04 00 18 00 00 00 00 00 19 00 10 80 00 24 02 \
11 5d 00 00 00 00 00 00                         \
" 2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FLOW_MOD (OF1.2) (xid=0x52334507): ADD priority=255,sctp actions=set_field:4445->sctp_dst
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:845"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_141
#AT_START_142
at_fn_group_banner 142 'ofp-print.at:858' \
  "OFPT_FLOW reply - OF1.2 - set-field ip_src" "     " 13
at_xfail=no
(
  $as_echo "142. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:860: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"\\
03 13 00 68 52 33 45 04 00 01 00 00 00 00 00 00 \\
00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \\
00 04 00 18 00 00 00 00 00 19 00 10 80 00 16 04 \\
c0 a8 03 5c 00 00 00 00                         \\
\" 2"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:860"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
03 13 00 68 52 33 45 04 00 01 00 00 00 00 00 00 \
00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \
00 04 00 18 00 00 00 00 00 19 00 10 80 00 16 04 \
c0 a8 03 5c 00 00 00 00                         \
" 2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (OF1.2) (xid=0x52334504):
 cookie=0x0, duration=0s, table=0, n_packets=0, n_bytes=0, priority=255,ip actions=set_field:192.168.3.92->ip_src
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:860"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_142
#AT_START_143
at_fn_group_banner 143 'ofp-print.at:875' \
  "OFPT_FLOW reply - OF1.2 - set-field ip_dst" "     " 13
at_xfail=no
(
  $as_echo "143. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:877: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"\\
03 13 00 68 52 33 45 09 00 01 00 00 00 00 00 00 \\
00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \\
00 04 00 18 00 00 00 00 00 19 00 10 80 00 18 04 \\
c0 a8 4a 7a 00 00 00 00                         \\
\" 2"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:877"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
03 13 00 68 52 33 45 09 00 01 00 00 00 00 00 00 \
00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 01 00 0a 80 00 0a 02 08 00 00 00 00 00 00 00 \
00 04 00 18 00 00 00 00 00 19 00 10 80 00 18 04 \
c0 a8 4a 7a 00 00 00 00                         \
" 2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (OF1.2) (xid=0x52334509):
 cookie=0x0, duration=0s, table=0, n_packets=0, n_bytes=0, priority=255,ip actions=set_field:192.168.74.122->ip_dst
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:877"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_143
#AT_START_144
at_fn_group_banner 144 'ofp-print.at:892' \
  "OFPT_FLOW reply - OF1.2 - set-field sctp_src" "   " 13
at_xfail=no
(
  $as_echo "144. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:894: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"\\
03 13 00 68 52 33 45 04 00 01 00 00 00 00 00 00 \\
00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \\
00 04 00 18 00 00 00 00 00 19 00 10 80 00 22 02 \\
0d 06 00 00 00 00 00 00                         \\
\" 2"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:894"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
03 13 00 68 52 33 45 04 00 01 00 00 00 00 00 00 \
00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \
00 04 00 18 00 00 00 00 00 19 00 10 80 00 22 02 \
0d 06 00 00 00 00 00 00                         \
" 2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (OF1.2) (xid=0x52334504):
 cookie=0x0, duration=0s, table=0, n_packets=0, n_bytes=0, priority=255,sctp actions=set_field:3334->sctp_src
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:894"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_144
#AT_START_145
at_fn_group_banner 145 'ofp-print.at:909' \
  "OFPT_FLOW reply - OF1.2 - set-field sctp_dst" "   " 13
at_xfail=no
(
  $as_echo "145. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:911: ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print \"\\
03 13 00 68 52 33 45 09 00 01 00 00 00 00 00 00 \\
00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \\
00 04 00 18 00 00 00 00 00 19 00 10 80 00 24 02 \\
11 5d 00 00 00 00 00 00                         \\
\" 2"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:911"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' ofp-print "\
03 13 00 68 52 33 45 09 00 01 00 00 00 00 00 00 \
00 58 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 01 00 0f 80 00 0a 02 08 00 80 00 14 01 84 00 \
00 04 00 18 00 00 00 00 00 19 00 10 80 00 24 02 \
11 5d 00 00 00 00 00 00                         \
" 2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (OF1.2) (xid=0x52334509):
 cookie=0x0, duration=0s, table=0, n_packets=0, n_bytes=0, priority=255,sctp actions=set_field:4445->sctp_dst
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:911"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_145
#AT_START_146
at_fn_group_banner 146 'ofp-print.at:926' \
  "OFPT_PORT_MOD - OF1.0" "                          " 13
at_xfail=no
(
  $as_echo "146. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:928: ovs-ofctl ofp-print \"\\
01 0f 00 20 00 00 00 03 00 03 50 54 00 00 00 01 \\
00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \\
\" 3"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:928"
( $at_check_trace; ovs-ofctl ofp-print "\
01 0f 00 20 00 00 00 03 00 03 50 54 00 00 00 01 \
00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
" 3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PORT_MOD (xid=0x3):port: 3: addr:50:54:00:00:00:01
     config: PORT_DOWN
     mask:   PORT_DOWN
     advertise: UNCHANGED
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:928"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_146
#AT_START_147
at_fn_group_banner 147 'ofp-print.at:939' \
  "OFPT_PORT_MOD - OF1.1" "                          " 13
at_xfail=no
(
  $as_echo "147. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:941: ovs-ofctl ofp-print \"\\
02 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \\
50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \\
00 00 00 00 00 00 00 00 \\
\" 3"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:941"
( $at_check_trace; ovs-ofctl ofp-print "\
02 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \
50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \
00 00 00 00 00 00 00 00 \
" 3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PORT_MOD (OF1.1) (xid=0x3):port: 3: addr:50:54:00:00:00:01
     config: PORT_DOWN
     mask:   PORT_DOWN
     advertise: UNCHANGED
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:941"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_147
#AT_START_148
at_fn_group_banner 148 'ofp-print.at:953' \
  "OFPT_PORT_MOD - OF1.2" "                          " 13
at_xfail=no
(
  $as_echo "148. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:955: ovs-ofctl ofp-print \"\\
03 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \\
50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \\
00 00 00 00 00 00 00 00 \\
\" 3"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:955"
( $at_check_trace; ovs-ofctl ofp-print "\
03 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \
50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \
00 00 00 00 00 00 00 00 \
" 3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PORT_MOD (OF1.2) (xid=0x3):port: 3: addr:50:54:00:00:00:01
     config: PORT_DOWN
     mask:   PORT_DOWN
     advertise: UNCHANGED
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:955"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_148
#AT_START_149
at_fn_group_banner 149 'ofp-print.at:967' \
  "OFPT_PORT_MOD - OF1.3" "                          " 13
at_xfail=no
(
  $as_echo "149. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:969: ovs-ofctl ofp-print \"\\
04 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \\
50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \\
00 00 00 00 00 00 00 00 \\
\" 3"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:969"
( $at_check_trace; ovs-ofctl ofp-print "\
04 10 00 28 00 00 00 03 00 00 00 03 00 00 00 00 \
50 54 00 00 00 01 00 00 00 00 00 01 00 00 00 01 \
00 00 00 00 00 00 00 00 \
" 3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PORT_MOD (OF1.3) (xid=0x3):port: 3: addr:50:54:00:00:00:01
     config: PORT_DOWN
     mask:   PORT_DOWN
     advertise: UNCHANGED
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:969"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_149
#AT_START_150
at_fn_group_banner 150 'ofp-print.at:981' \
  "OFPST_DESC request" "                             " 13
at_xfail=no
(
  $as_echo "150. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:983: ovs-ofctl ofp-print \"0110000c0000000100000000\""
at_fn_check_prepare_trace "ofp-print.at:983"
( $at_check_trace; ovs-ofctl ofp-print "0110000c0000000100000000"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_DESC request (xid=0x1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:983"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_150
#AT_START_151
at_fn_group_banner 151 'ofp-print.at:988' \
  "OFPST_DESC reply" "                               " 13
at_xfail=no
(
  $as_echo "151. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:990: ovs-ofctl ofp-print \"\\
01 11 04 2c 00 00 00 01 00 00 00 00 4e 69 63 69 \\
72 61 2c 20 49 6e 63 2e 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 4f 70 65 6e \\
20 76 53 77 69 74 63 68 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 31 2e 31 2e \\
30 70 72 65 32 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 4e 6f 6e 65 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 4e 6f 6e 65 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:990"
( $at_check_trace; ovs-ofctl ofp-print "\
01 11 04 2c 00 00 00 01 00 00 00 00 4e 69 63 69 \
72 61 2c 20 49 6e 63 2e 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 4f 70 65 6e \
20 76 53 77 69 74 63 68 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 31 2e 31 2e \
30 70 72 65 32 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 4e 6f 6e 65 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 4e 6f 6e 65 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_DESC reply (xid=0x1):
Manufacturer: Nicira, Inc.
Hardware: Open vSwitch
Software: 1.1.0pre2
Serial Num: None
DP Description: None
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:990"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_151
#AT_START_152
at_fn_group_banner 152 'ofp-print.at:1068' \
  "OFPST_FLOW request - OF1.0" "                     " 13
at_xfail=no
(
  $as_echo "152. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1070: ovs-ofctl ofp-print \"\\
01 10 00 38 00 00 00 04 00 01 00 00 00 38 20 ff \\
ff fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 ff 00 ff ff \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1070"
( $at_check_trace; ovs-ofctl ofp-print "\
01 10 00 38 00 00 00 04 00 01 00 00 00 38 20 ff \
ff fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 ff 00 ff ff \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW request (xid=0x4): 
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1070"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_152
#AT_START_153
at_fn_group_banner 153 'ofp-print.at:1080' \
  "OFPST_FLOW request - OF1.2" "                     " 13
at_xfail=no
(
  $as_echo "153. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1082: ovs-ofctl ofp-print \"\\
03 12 00 38 00 00 00 02 00 01 00 00 00 00 00 00 \\
ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 01 00 04 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1082"
( $at_check_trace; ovs-ofctl ofp-print "\
03 12 00 38 00 00 00 02 00 01 00 00 00 00 00 00 \
ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 01 00 04 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW request (OF1.2) (xid=0x2): 
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1082"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_153
#AT_START_154
at_fn_group_banner 154 'ofp-print.at:1092' \
  "OFPST_FLOW request - OF1.3" "                     " 13
at_xfail=no
(
  $as_echo "154. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1094: ovs-ofctl ofp-print \"\\
04 12 00 38 00 00 00 02 00 01 00 00 00 00 00 00 \\
ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 01 00 04 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1094"
( $at_check_trace; ovs-ofctl ofp-print "\
04 12 00 38 00 00 00 02 00 01 00 00 00 00 00 00 \
ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 01 00 04 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW request (OF1.3) (xid=0x2): 
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1094"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_154
#AT_START_155
at_fn_group_banner 155 'ofp-print.at:1104' \
  "OFPST_FLOW reply - OF1.0" "                       " 13
at_xfail=no
(
  $as_echo "155. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1106: ovs-ofctl ofp-print \"\\
01 11 01 e4 00 00 00 04 00 01 00 00 00 60 00 00 \\
00 00 00 00 00 03 50 54 00 00 00 05 50 54 00 00 \\
00 06 ff ff 00 00 08 06 00 02 00 00 c0 a8 00 01 \\
c0 a8 00 02 00 00 00 00 00 00 00 04 0b eb c2 00 \\
ff ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 \\
00 00 00 3c 00 00 00 08 00 01 00 00 00 60 00 00 \\
00 00 00 00 00 01 50 54 00 00 00 06 50 54 00 00 \\
00 05 ff ff 00 00 08 00 00 01 00 00 c0 a8 00 02 \\
c0 a8 00 01 00 00 00 00 00 00 00 08 35 a4 e9 00 \\
ff ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 00 \\
00 00 04 fa 00 00 00 08 00 03 00 00 00 60 00 00 \\
00 00 00 00 00 01 50 54 00 00 00 06 50 54 00 00 \\
00 05 ff ff 00 00 08 06 00 01 00 00 c0 a8 00 02 \\
c0 a8 00 01 00 00 00 00 00 00 00 04 10 b0 76 00 \\
ff ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 \\
00 00 00 3c 00 00 00 08 00 03 00 00 00 60 00 00 \\
00 00 00 01 00 03 50 54 00 00 00 05 50 54 00 00 \\
00 06 ff ff 00 00 08 00 00 01 00 00 c0 a8 00 01 \\
c0 a8 00 02 00 08 00 00 00 00 00 09 05 b8 d8 00 \\
80 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 00 \\
00 00 04 fa 00 00 00 08 00 01 00 00 \\
00 58 02 00 00 3f ff ff 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1106"
( $at_check_trace; ovs-ofctl ofp-print "\
01 11 01 e4 00 00 00 04 00 01 00 00 00 60 00 00 \
00 00 00 00 00 03 50 54 00 00 00 05 50 54 00 00 \
00 06 ff ff 00 00 08 06 00 02 00 00 c0 a8 00 01 \
c0 a8 00 02 00 00 00 00 00 00 00 04 0b eb c2 00 \
ff ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 \
00 00 00 3c 00 00 00 08 00 01 00 00 00 60 00 00 \
00 00 00 00 00 01 50 54 00 00 00 06 50 54 00 00 \
00 05 ff ff 00 00 08 00 00 01 00 00 c0 a8 00 02 \
c0 a8 00 01 00 00 00 00 00 00 00 08 35 a4 e9 00 \
ff ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 00 \
00 00 04 fa 00 00 00 08 00 03 00 00 00 60 00 00 \
00 00 00 00 00 01 50 54 00 00 00 06 50 54 00 00 \
00 05 ff ff 00 00 08 06 00 01 00 00 c0 a8 00 02 \
c0 a8 00 01 00 00 00 00 00 00 00 04 10 b0 76 00 \
ff ff 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 \
00 00 00 3c 00 00 00 08 00 03 00 00 00 60 00 00 \
00 00 00 01 00 03 50 54 00 00 00 05 50 54 00 00 \
00 06 ff ff 00 00 08 00 00 01 00 00 c0 a8 00 01 \
c0 a8 00 02 00 08 00 00 00 00 00 09 05 b8 d8 00 \
80 00 00 05 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 0d 00 00 00 00 \
00 00 04 fa 00 00 00 08 00 01 00 00 \
00 58 02 00 00 3f ff ff 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (xid=0x4):
 cookie=0x0, duration=4.2s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,arp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,arp_spa=192.168.0.1,arp_tpa=192.168.0.2,arp_op=2,nw_tos=0,tp_src=0,tp_dst=0 actions=output:1
 cookie=0x0, duration=8.9s, table=0, n_packets=13, n_bytes=1274, idle_timeout=5, priority=65535,icmp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,icmp_type=0,icmp_code=0 actions=output:3
 cookie=0x0, duration=4.28s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,arp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,arp_spa=192.168.0.2,arp_tpa=192.168.0.1,arp_op=1,nw_tos=0,tp_src=0,tp_dst=0 actions=output:3
 cookie=0x0, duration=9.096s, table=0, n_packets=13, n_bytes=1274, idle_timeout=5, icmp,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,icmp_type=8,icmp_code=0 actions=output:1
 cookie=0x0, duration=0s, table=2, n_packets=0, n_bytes=0, actions=drop
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1106"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_155
#AT_START_156
at_fn_group_banner 156 'ofp-print.at:1148' \
  "OFPST_FLOW reply - OF1.2" "                       " 13
at_xfail=no
(
  $as_echo "156. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1150: ovs-ofctl ofp-print \"\\
03 13 01 78 00 00 00 02 00 01 00 00 00 00 00 00 \\
00 78 00 00 00 00 00 03 01 5e f3 c0 80 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 62 \\
00 01 00 2d 80 00 00 04 00 00 00 02 80 00 06 06 \\
ca da ad d6 0d 37 80 00 0a 02 08 00 80 00 10 01 \\
00 80 00 04 08 00 00 00 00 00 00 00 00 00 00 00 \\
00 04 00 18 00 00 00 00 00 00 00 10 00 00 00 02 \\
05 dc 00 00 00 00 00 00 00 78 00 00 00 00 00 04 \\
20 7c 0a 40 80 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 \\
00 00 00 00 00 00 00 8c 00 01 00 2d 80 00 00 04 \\
00 00 00 02 80 00 06 06 52 54 00 c3 00 89 80 00 \\
0a 02 08 00 80 00 10 01 00 80 00 04 08 00 00 00 \\
00 00 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \\
00 00 00 10 00 00 00 02 05 dc 00 00 00 00 00 00 \\
00 78 00 00 00 00 00 04 20 a9 d1 00 80 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 2a \\
00 01 00 2d 80 00 00 04 00 00 00 02 80 00 06 06 \\
52 54 00 97 00 69 80 00 0a 02 08 00 80 00 10 01 \\
00 80 00 04 08 00 00 00 00 00 00 00 00 00 00 00 \\
00 04 00 18 00 00 00 00 00 00 00 10 00 00 00 02 \\
05 dc 00 00 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1150"
( $at_check_trace; ovs-ofctl ofp-print "\
03 13 01 78 00 00 00 02 00 01 00 00 00 00 00 00 \
00 78 00 00 00 00 00 03 01 5e f3 c0 80 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 62 \
00 01 00 2d 80 00 00 04 00 00 00 02 80 00 06 06 \
ca da ad d6 0d 37 80 00 0a 02 08 00 80 00 10 01 \
00 80 00 04 08 00 00 00 00 00 00 00 00 00 00 00 \
00 04 00 18 00 00 00 00 00 00 00 10 00 00 00 02 \
05 dc 00 00 00 00 00 00 00 78 00 00 00 00 00 04 \
20 7c 0a 40 80 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 \
00 00 00 00 00 00 00 8c 00 01 00 2d 80 00 00 04 \
00 00 00 02 80 00 06 06 52 54 00 c3 00 89 80 00 \
0a 02 08 00 80 00 10 01 00 80 00 04 08 00 00 00 \
00 00 00 00 00 00 00 00 00 04 00 18 00 00 00 00 \
00 00 00 10 00 00 00 02 05 dc 00 00 00 00 00 00 \
00 78 00 00 00 00 00 04 20 a9 d1 00 80 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 2a \
00 01 00 2d 80 00 00 04 00 00 00 02 80 00 06 06 \
52 54 00 97 00 69 80 00 0a 02 08 00 80 00 10 01 \
00 80 00 04 08 00 00 00 00 00 00 00 00 00 00 00 \
00 04 00 18 00 00 00 00 00 00 00 10 00 00 00 02 \
05 dc 00 00 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (OF1.2) (xid=0x2):
 cookie=0x0, duration=3.023s, table=0, n_packets=1, n_bytes=98, ip,metadata=0,in_port=2,dl_dst=ca:da:ad:d6:0d:37,nw_tos=0 actions=output:2
 cookie=0x0, duration=4.545s, table=0, n_packets=2, n_bytes=140, ip,metadata=0,in_port=2,dl_dst=52:54:00:c3:00:89,nw_tos=0 actions=output:2
 cookie=0x0, duration=4.548s, table=0, n_packets=1, n_bytes=42, ip,metadata=0,in_port=2,dl_dst=52:54:00:97:00:69,nw_tos=0 actions=output:2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1150"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_156
#AT_START_157
at_fn_group_banner 157 'ofp-print.at:1183' \
  "OFPST_AGGREGATE request - OF1.0" "                " 13
at_xfail=no
(
  $as_echo "157. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1185: ovs-ofctl ofp-print \"\\
01 10 00 38 00 00 00 04 00 02 00 00 00 38 20 ff \\
ff fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 ff 00 ff ff \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1185"
( $at_check_trace; ovs-ofctl ofp-print "\
01 10 00 38 00 00 00 04 00 02 00 00 00 38 20 ff \
ff fe 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 ff 00 ff ff \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_AGGREGATE request (xid=0x4): 
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1185"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_157
#AT_START_158
at_fn_group_banner 158 'ofp-print.at:1195' \
  "OFPST_AGGREGATE request - OF1.2" "                " 13
at_xfail=no
(
  $as_echo "158. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1197: ovs-ofctl ofp-print \"\\
03 12 00 38 00 00 00 02 00 02 00 00 00 00 00 00 \\
ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 01 00 04 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1197"
( $at_check_trace; ovs-ofctl ofp-print "\
03 12 00 38 00 00 00 02 00 02 00 00 00 00 00 00 \
ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 01 00 04 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_AGGREGATE request (OF1.2) (xid=0x2): 
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1197"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_158
#AT_START_159
at_fn_group_banner 159 'ofp-print.at:1207' \
  "OFPST_AGGREGATE request - OF1.3" "                " 13
at_xfail=no
(
  $as_echo "159. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1209: ovs-ofctl ofp-print \"\\
04 12 00 38 00 00 00 02 00 02 00 00 00 00 00 00 \\
ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 01 00 04 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1209"
( $at_check_trace; ovs-ofctl ofp-print "\
04 12 00 38 00 00 00 02 00 02 00 00 00 00 00 00 \
ff 00 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 01 00 04 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_AGGREGATE request (OF1.3) (xid=0x2): 
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1209"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_159
#AT_START_160
at_fn_group_banner 160 'ofp-print.at:1219' \
  "OFPST_AGGREGATE reply - OF1.0" "                  " 13
at_xfail=no
(
  $as_echo "160. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1221: ovs-ofctl ofp-print \"\\
01 11 00 24 00 00 00 04 00 02 00 00 00 00 00 00 \\
00 00 01 82 00 00 00 00 00 00 93 78 00 00 00 04 \\
00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1221"
( $at_check_trace; ovs-ofctl ofp-print "\
01 11 00 24 00 00 00 04 00 02 00 00 00 00 00 00 \
00 00 01 82 00 00 00 00 00 00 93 78 00 00 00 04 \
00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_AGGREGATE reply (xid=0x4): packet_count=386 byte_count=37752 flow_count=4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1221"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_160
#AT_START_161
at_fn_group_banner 161 'ofp-print.at:1230' \
  "OFPST_AGGREGATE reply - OF1.2" "                  " 13
at_xfail=no
(
  $as_echo "161. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1232: ovs-ofctl ofp-print \"\\
03 13 00 28 00 00 00 02 00 02 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 79 00 00 00 00 00 00 4b 4f \\
00 00 00 03 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1232"
( $at_check_trace; ovs-ofctl ofp-print "\
03 13 00 28 00 00 00 02 00 02 00 00 00 00 00 00 \
00 00 00 00 00 00 00 79 00 00 00 00 00 00 4b 4f \
00 00 00 03 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_AGGREGATE reply (OF1.2) (xid=0x2): packet_count=121 byte_count=19279 flow_count=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1232"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_161
#AT_START_162
at_fn_group_banner 162 'ofp-print.at:1241' \
  "OFPST_AGGREGATE reply - OF1.3" "                  " 13
at_xfail=no
(
  $as_echo "162. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1243: ovs-ofctl ofp-print \"\\
04 13 00 28 00 00 00 02 00 02 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 79 00 00 00 00 00 00 4b 4f \\
00 00 00 03 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1243"
( $at_check_trace; ovs-ofctl ofp-print "\
04 13 00 28 00 00 00 02 00 02 00 00 00 00 00 00 \
00 00 00 00 00 00 00 79 00 00 00 00 00 00 4b 4f \
00 00 00 03 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_AGGREGATE reply (OF1.3) (xid=0x2): packet_count=121 byte_count=19279 flow_count=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1243"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_162
#AT_START_163
at_fn_group_banner 163 'ofp-print.at:1252' \
  "OFPST_TABLE request - OF1.0" "                    " 13
at_xfail=no
(
  $as_echo "163. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1254: ovs-ofctl ofp-print \"0110000c0000000100030000\""
at_fn_check_prepare_trace "ofp-print.at:1254"
( $at_check_trace; ovs-ofctl ofp-print "0110000c0000000100030000"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_TABLE request (xid=0x1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1254"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_163
#AT_START_164
at_fn_group_banner 164 'ofp-print.at:1259' \
  "OFPST_TABLE request - OF1.1" "                    " 13
at_xfail=no
(
  $as_echo "164. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1261: ovs-ofctl ofp-print \"02120010000000020003000000000000\""
at_fn_check_prepare_trace "ofp-print.at:1261"
( $at_check_trace; ovs-ofctl ofp-print "02120010000000020003000000000000"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_TABLE request (OF1.1) (xid=0x2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1261"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_164
#AT_START_165
at_fn_group_banner 165 'ofp-print.at:1266' \
  "OFPST_TABLE request - OF1.2" "                    " 13
at_xfail=no
(
  $as_echo "165. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1268: ovs-ofctl ofp-print \"03120010000000020003000000000000\""
at_fn_check_prepare_trace "ofp-print.at:1268"
( $at_check_trace; ovs-ofctl ofp-print "03120010000000020003000000000000"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_TABLE request (OF1.2) (xid=0x2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1268"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_165
#AT_START_166
at_fn_group_banner 166 'ofp-print.at:1273' \
  "OFPST_TABLE request - OF1.3" "                    " 13
at_xfail=no
(
  $as_echo "166. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1275: ovs-ofctl ofp-print \"04120010000000020003000000000000\""
at_fn_check_prepare_trace "ofp-print.at:1275"
( $at_check_trace; ovs-ofctl ofp-print "04120010000000020003000000000000"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_TABLE request (OF1.3) (xid=0x2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1275"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_166
#AT_START_167
at_fn_group_banner 167 'ofp-print.at:1280' \
  "OFPST_TABLE reply - OF1.0" "                      " 13
at_xfail=no
(
  $as_echo "167. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1282: ovs-ofctl ofp-print \"\\
01 11 00 4c 00 00 00 01 00 03 00 00 00 00 00 00 \\
63 6c 61 73 73 69 66 69 65 72 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 3f ff ff 00 10 00 00 00 00 00 0b 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1282"
( $at_check_trace; ovs-ofctl ofp-print "\
01 11 00 4c 00 00 00 01 00 03 00 00 00 00 00 00 \
63 6c 61 73 73 69 66 69 65 72 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 3f ff ff 00 10 00 00 00 00 00 0b 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_TABLE reply (xid=0x1): 1 tables
  0: classifier: wild=0x3fffff, max=1048576, active=11
               lookup=0, matched=0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1282"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_167
#AT_START_168
at_fn_group_banner 168 'ofp-print.at:1295' \
  "OFPST_TABLE reply - OF1.2" "                      " 13
at_xfail=no
(
  $as_echo "168. $at_setup_line: testing $at_desc ..."
  $at_traceon


(mid="wild=0xfffffffff, max=1000000,"
 tail="
               match=0xfffffffff, instructions=0x00000007, config=0x00000000
               write_actions=0x00000000, apply_actions=0x00000000
               write_setfields=0x0000000fffffffff
               apply_setfields=0x0000000fffffffff
               metadata_match=0x0000000000000000
               metadata_write=0x0000000000000000"
 echo "OFPST_TABLE reply (OF1.2) (xid=0x2): 255 tables
  0: classifier: $mid active=1
               lookup=74614, matched=106024$tail"
 x=1
 while test $x -lt 254; do
   printf "  %d: %-8s: $mid active=0
               lookup=0, matched=0$tail
" $x table$x
   x=`expr $x + 1`
 done
 echo "  254: table254: $mid active=2
               lookup=0, matched=0$tail") > expout

(pad32="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
 pad7="00 00 00 00 00 00 00 "
 mid="00 00 00 0f ff ff ff ff \
00 00 00 0f ff ff ff ff 00 00 00 00 00 00 00 00 \
00 00 00 0f ff ff ff ff 00 00 00 0f ff ff ff ff \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 07 00 00 00 00 00 0f 42 40 "
 tail="00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00"

 echo -n "03 13 7f 90 00 00 00 02 00 03 00 00 00 00 00 00 "

 x=0
 printf "%02x $pad7" $x
 printf "%s$pad32" "classifier" | od -A n -t x1 -v -N 32 | tr '\n' ' '
 echo -n "$mid 00 00 00 01  "
 echo -n "00 00 00 00 00 01 23 76 00 00 00 00 00 01 9e 28 "

 x=1
 while test $x -lt 254; do
   printf "%02x $pad7" $x
   printf "%s$pad32" "table$x" | od -A n -t x1 -v -N 32 | tr '\n' ' '
   echo -n "$mid 00 00 00 00 $tail "
   x=`expr $x + 1`
 done

 x=254
 printf "%02x $pad7" $x
 printf "%s$pad32" "table$x" | od -A n -t x1 -v -N 32 | tr '\n' ' '
 echo -n "$mid 00 00 00 02 $tail") > in
{ set +x
$as_echo "$at_srcdir/ofp-print.at:1347: ovs-ofctl ofp-print \"\$(cat in)\""
at_fn_check_prepare_notrace 'a $(...) command substitution' "ofp-print.at:1347"
( $at_check_trace; ovs-ofctl ofp-print "$(cat in)"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1347"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_168
#AT_START_169
at_fn_group_banner 169 'ofp-print.at:1350' \
  "OFPST_TABLE reply - OF1.3" "                      " 13
at_xfail=no
(
  $as_echo "169. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1352: ovs-ofctl ofp-print \"\\
04 13 00 40 00 00 00 01 00 03 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 0b 00 00 00 00 00 00 02 00 \\
00 00 00 00 00 00 01 00 01 00 00 00 00 00 00 0c \\
00 00 00 00 00 00 02 01 00 00 00 00 00 00 01 01 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1352"
( $at_check_trace; ovs-ofctl ofp-print "\
04 13 00 40 00 00 00 01 00 03 00 00 00 00 00 00 \
00 00 00 00 00 00 00 0b 00 00 00 00 00 00 02 00 \
00 00 00 00 00 00 01 00 01 00 00 00 00 00 00 0c \
00 00 00 00 00 00 02 01 00 00 00 00 00 00 01 01 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_TABLE reply (OF1.3) (xid=0x1): 2 tables
  0: active=11, lookup=512, matched=256
  1: active=12, lookup=513, matched=257
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1352"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_169
#AT_START_170
at_fn_group_banner 170 'ofp-print.at:1364' \
  "OFPST_PORT request - 1.0" "                       " 13
at_xfail=no
(
  $as_echo "170. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1366: ovs-ofctl ofp-print \"\\
01 10 00 14 00 00 00 01 00 04 00 00 ff ff 00 00 \\
00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1366"
( $at_check_trace; ovs-ofctl ofp-print "\
01 10 00 14 00 00 00 01 00 04 00 00 ff ff 00 00 \
00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT request (xid=0x1): port_no=ANY
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1366"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_170
#AT_START_171
at_fn_group_banner 171 'ofp-print.at:1374' \
  "OFPST_PORT request - 1.1" "                       " 13
at_xfail=no
(
  $as_echo "171. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1376: ovs-ofctl ofp-print \"\\
02 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \\
ff ff ff ff 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1376"
( $at_check_trace; ovs-ofctl ofp-print "\
02 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \
ff ff ff ff 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT request (OF1.1) (xid=0x2): port_no=ANY
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1376"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_171
#AT_START_172
at_fn_group_banner 172 'ofp-print.at:1384' \
  "OFPST_PORT request - 1.2" "                       " 13
at_xfail=no
(
  $as_echo "172. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1386: ovs-ofctl ofp-print \"\\
03 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \\
ff ff ff ff 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1386"
( $at_check_trace; ovs-ofctl ofp-print "\
03 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \
ff ff ff ff 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT request (OF1.2) (xid=0x2): port_no=ANY
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1386"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_172
#AT_START_173
at_fn_group_banner 173 'ofp-print.at:1394' \
  "OFPST_PORT request - 1.3" "                       " 13
at_xfail=no
(
  $as_echo "173. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1396: ovs-ofctl ofp-print \"\\
04 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \\
ff ff ff ff 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1396"
( $at_check_trace; ovs-ofctl ofp-print "\
04 12 00 18 00 00 00 02 00 04 00 00 00 00 00 00 \
ff ff ff ff 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT request (OF1.3) (xid=0x2): port_no=ANY
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1396"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_173
#AT_START_174
at_fn_group_banner 174 'ofp-print.at:1404' \
  "OFPST_PORT reply - OF1.0" "                       " 13
at_xfail=no
(
  $as_echo "174. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1406: ovs-ofctl ofp-print \"\\
01 11 01 ac 00 00 00 01 00 04 00 00 00 03 00 00 \\
00 00 00 00 00 00 00 00 00 00 4d 20 00 00 00 00 \\
00 00 14 32 00 00 00 00 00 0f 60 4e 00 00 00 00 \\
00 05 71 bc 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 ff fe 00 00 00 00 00 00 00 00 00 00 \\
00 00 02 ac 00 00 00 00 00 00 01 f5 00 00 00 00 \\
00 01 0c 8c 00 00 00 00 00 00 db 1c 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 \\
00 00 00 00 00 00 00 00 00 00 06 be 00 00 00 00 \\
00 00 05 84 00 00 00 00 00 02 34 b4 00 00 00 00 \\
00 02 23 d4 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 \\
00 00 14 12 00 00 00 00 00 00 14 66 00 00 00 00 \\
00 04 a2 54 00 00 00 00 00 05 8a 1e 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1406"
( $at_check_trace; ovs-ofctl ofp-print "\
01 11 01 ac 00 00 00 01 00 04 00 00 00 03 00 00 \
00 00 00 00 00 00 00 00 00 00 4d 20 00 00 00 00 \
00 00 14 32 00 00 00 00 00 0f 60 4e 00 00 00 00 \
00 05 71 bc 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 ff fe 00 00 00 00 00 00 00 00 00 00 \
00 00 02 ac 00 00 00 00 00 00 01 f5 00 00 00 00 \
00 01 0c 8c 00 00 00 00 00 00 db 1c 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 \
00 00 00 00 00 00 00 00 00 00 06 be 00 00 00 00 \
00 00 05 84 00 00 00 00 00 02 34 b4 00 00 00 00 \
00 02 23 d4 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 \
00 00 14 12 00 00 00 00 00 00 14 66 00 00 00 00 \
00 04 a2 54 00 00 00 00 00 05 8a 1e 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT reply (xid=0x1): 4 ports
  port  3: rx pkts=19744, bytes=1007694, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=5170, bytes=356796, drop=0, errs=0, coll=0
  port LOCAL: rx pkts=684, bytes=68748, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=501, bytes=56092, drop=0, errs=0, coll=0
  port  2: rx pkts=1726, bytes=144564, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=1412, bytes=140244, drop=0, errs=0, coll=0
  port  1: rx pkts=5138, bytes=303700, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=5222, bytes=363038, drop=0, errs=0, coll=0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1406"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_174
#AT_START_175
at_fn_group_banner 175 'ofp-print.at:1447' \
  "OFPST_PORT reply - OF1.2" "                       " 13
at_xfail=no
(
  $as_echo "175. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1449: ovs-ofctl ofp-print \"\\
03 13 01 48 00 00 00 02 00 04 00 00 00 00 00 00 \\
00 00 00 02 00 00 00 00 00 00 00 00 00 01 95 56 \\
00 00 00 00 00 00 00 88 00 00 00 00 02 5d 08 98 \\
00 00 00 00 00 00 2c f8 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 ff ff ff fe 00 00 00 00 \\
00 00 00 00 00 00 00 44 00 00 00 00 00 00 9d 2c \\
00 00 00 00 00 00 16 7c 00 00 00 00 01 1e 36 44 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 44 \\
00 00 00 00 00 00 9d 2c 00 00 00 00 00 00 16 7c \\
00 00 00 00 01 1e 36 44 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1449"
( $at_check_trace; ovs-ofctl ofp-print "\
03 13 01 48 00 00 00 02 00 04 00 00 00 00 00 00 \
00 00 00 02 00 00 00 00 00 00 00 00 00 01 95 56 \
00 00 00 00 00 00 00 88 00 00 00 00 02 5d 08 98 \
00 00 00 00 00 00 2c f8 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 ff ff ff fe 00 00 00 00 \
00 00 00 00 00 00 00 44 00 00 00 00 00 00 9d 2c \
00 00 00 00 00 00 16 7c 00 00 00 00 01 1e 36 44 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 44 \
00 00 00 00 00 00 9d 2c 00 00 00 00 00 00 16 7c \
00 00 00 00 01 1e 36 44 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT reply (OF1.2) (xid=0x2): 3 ports
  port  2: rx pkts=103766, bytes=39651480, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=136, bytes=11512, drop=0, errs=0, coll=0
  port LOCAL: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0
  port  1: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1449"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_175
#AT_START_176
at_fn_group_banner 176 'ofp-print.at:1482' \
  "OFPST_PORT reply - OF1.3" "                       " 13
at_xfail=no
(
  $as_echo "176. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1484: ovs-ofctl ofp-print \"\\
04 13 01 60 00 00 00 02 00 04 00 00 00 00 00 00 \\
00 00 00 02 00 00 00 00 00 00 00 00 00 01 95 56 \\
00 00 00 00 00 00 00 88 00 00 00 00 02 5d 08 98 \\
00 00 00 00 00 00 2c f8 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 01 00 0f 42 40 \\
ff ff ff fe 00 00 00 00 \\
00 00 00 00 00 00 00 44 00 00 00 00 00 00 9d 2c \\
00 00 00 00 00 00 16 7c 00 00 00 00 01 1e 36 44 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
ff ff ff ff ff ff ff ff \\
00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 44 \\
00 00 00 00 00 00 9d 2c 00 00 00 00 00 00 16 7c \\
00 00 00 00 01 1e 36 44 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 07 54 d4 c0 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1484"
( $at_check_trace; ovs-ofctl ofp-print "\
04 13 01 60 00 00 00 02 00 04 00 00 00 00 00 00 \
00 00 00 02 00 00 00 00 00 00 00 00 00 01 95 56 \
00 00 00 00 00 00 00 88 00 00 00 00 02 5d 08 98 \
00 00 00 00 00 00 2c f8 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 01 00 0f 42 40 \
ff ff ff fe 00 00 00 00 \
00 00 00 00 00 00 00 44 00 00 00 00 00 00 9d 2c \
00 00 00 00 00 00 16 7c 00 00 00 00 01 1e 36 44 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
ff ff ff ff ff ff ff ff \
00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 44 \
00 00 00 00 00 00 9d 2c 00 00 00 00 00 00 16 7c \
00 00 00 00 01 1e 36 44 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 07 54 d4 c0 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT reply (OF1.3) (xid=0x2): 3 ports
  port  2: rx pkts=103766, bytes=39651480, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=136, bytes=11512, drop=0, errs=0, coll=0
           duration=1.001s
  port LOCAL: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0
  port  1: rx pkts=68, bytes=5756, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=40236, bytes=18757188, drop=0, errs=0, coll=0
           duration=0.123s
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1484"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_176
#AT_START_177
at_fn_group_banner 177 'ofp-print.at:1521' \
  "OFPST_QUEUE request - OF1.0" "                    " 13
at_xfail=no
(
  $as_echo "177. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1523: ovs-ofctl ofp-print \"\\
01 10 00 14 00 00 00 01 00 05 00 00 ff fc 00 00 \\
ff ff ff ff \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1523"
( $at_check_trace; ovs-ofctl ofp-print "\
01 10 00 14 00 00 00 01 00 05 00 00 ff fc 00 00 \
ff ff ff ff \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_QUEUE request (xid=0x1):port=ANY queue=ALL
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1523"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_177
#AT_START_178
at_fn_group_banner 178 'ofp-print.at:1531' \
  "OFPST_QUEUE request - OF1.1" "                    " 13
at_xfail=no
(
  $as_echo "178. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1533: ovs-ofctl ofp-print \"\\
02 12 00 18 00 00 00 02 00 05 00 00 00 00 00 00 \\
ff ff ff ff ff ff ff ff \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1533"
( $at_check_trace; ovs-ofctl ofp-print "\
02 12 00 18 00 00 00 02 00 05 00 00 00 00 00 00 \
ff ff ff ff ff ff ff ff \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_QUEUE request (OF1.1) (xid=0x2):port=ANY queue=ALL
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1533"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_178
#AT_START_179
at_fn_group_banner 179 'ofp-print.at:1541' \
  "OFPST_QUEUE request - OF1.2" "                    " 13
at_xfail=no
(
  $as_echo "179. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1543: ovs-ofctl ofp-print \"\\
03 12 00 18 00 00 00 02 00 05 00 00 00 00 00 00 \\
ff ff ff ff ff ff ff ff \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1543"
( $at_check_trace; ovs-ofctl ofp-print "\
03 12 00 18 00 00 00 02 00 05 00 00 00 00 00 00 \
ff ff ff ff ff ff ff ff \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_QUEUE request (OF1.2) (xid=0x2):port=ANY queue=ALL
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1543"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_179
#AT_START_180
at_fn_group_banner 180 'ofp-print.at:1551' \
  "OFPST_QUEUE request - OF1.3" "                    " 13
at_xfail=no
(
  $as_echo "180. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1553: ovs-ofctl ofp-print \"\\
04 12 00 18 00 00 00 02 00 05 00 00 00 00 00 00 \\
ff ff ff ff ff ff ff ff \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1553"
( $at_check_trace; ovs-ofctl ofp-print "\
04 12 00 18 00 00 00 02 00 05 00 00 00 00 00 00 \
ff ff ff ff ff ff ff ff \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_QUEUE request (OF1.3) (xid=0x2):port=ANY queue=ALL
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1553"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_180
#AT_START_181
at_fn_group_banner 181 'ofp-print.at:1561' \
  "OFPST_QUEUE reply - OF1.0" "                      " 13
at_xfail=no
(
  $as_echo "181. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1563: ovs-ofctl ofp-print \"\\
01 11 00 cc 00 00 00 01 00 05 00 00 00 03 00 00 \\
00 00 00 01 00 00 00 00 00 00 01 2e 00 00 00 00 \\
00 00 00 01 00 00 00 00 00 00 00 00 00 03 00 00 \\
00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 \\
00 00 00 01 00 00 00 00 00 00 08 34 00 00 00 00 \\
00 00 00 14 00 00 00 00 00 00 00 00 00 02 00 00 \\
00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 \\
00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 \\
00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1563"
( $at_check_trace; ovs-ofctl ofp-print "\
01 11 00 cc 00 00 00 01 00 05 00 00 00 03 00 00 \
00 00 00 01 00 00 00 00 00 00 01 2e 00 00 00 00 \
00 00 00 01 00 00 00 00 00 00 00 00 00 03 00 00 \
00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 \
00 00 00 01 00 00 00 00 00 00 08 34 00 00 00 00 \
00 00 00 14 00 00 00 00 00 00 00 00 00 02 00 00 \
00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 \
00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 \
00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_QUEUE reply (xid=0x1): 6 queues
  port 3 queue 1: bytes=302, pkts=1, errors=0, duration=?
  port 3 queue 2: bytes=0, pkts=0, errors=0, duration=?
  port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=?
  port 2 queue 2: bytes=0, pkts=0, errors=0, duration=?
  port 1 queue 1: bytes=0, pkts=0, errors=0, duration=?
  port 1 queue 2: bytes=0, pkts=0, errors=0, duration=?
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1563"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_181
#AT_START_182
at_fn_group_banner 182 'ofp-print.at:1588' \
  "OFPST_PORT_DESC request - OF1.0" "                " 13
at_xfail=no
(
  $as_echo "182. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1590: ovs-ofctl ofp-print \"0110000c00000001000d0000\""
at_fn_check_prepare_trace "ofp-print.at:1590"
( $at_check_trace; ovs-ofctl ofp-print "0110000c00000001000d0000"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT_DESC request (xid=0x1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1590"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_182
#AT_START_183
at_fn_group_banner 183 'ofp-print.at:1595' \
  "OFPST_QUEUE reply - OF1.1" "                      " 13
at_xfail=no
(
  $as_echo "183. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1597: ovs-ofctl ofp-print \"\\
02 13 00 d0 00 00 00 01 00 05 00 00 00 00 00 00 \\
00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \\
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \\
00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \\
00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \\
00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1597"
( $at_check_trace; ovs-ofctl ofp-print "\
02 13 00 d0 00 00 00 01 00 05 00 00 00 00 00 00 \
00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \
00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \
00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \
00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_QUEUE reply (OF1.1) (xid=0x1): 6 queues
  port 3 queue 1: bytes=302, pkts=1, errors=0, duration=?
  port 3 queue 2: bytes=0, pkts=0, errors=0, duration=?
  port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=?
  port 2 queue 2: bytes=0, pkts=0, errors=0, duration=?
  port 1 queue 1: bytes=0, pkts=0, errors=0, duration=?
  port 1 queue 2: bytes=0, pkts=0, errors=0, duration=?
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1597"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_183
#AT_START_184
at_fn_group_banner 184 'ofp-print.at:1622' \
  "OFPST_QUEUE reply - OF1.2" "                      " 13
at_xfail=no
(
  $as_echo "184. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1624: ovs-ofctl ofp-print \"\\
03 13 00 d0 00 00 00 01 00 05 00 00 00 00 00 00 \\
00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \\
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \\
00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \\
00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \\
00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1624"
( $at_check_trace; ovs-ofctl ofp-print "\
03 13 00 d0 00 00 00 01 00 05 00 00 00 00 00 00 \
00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \
00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \
00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \
00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_QUEUE reply (OF1.2) (xid=0x1): 6 queues
  port 3 queue 1: bytes=302, pkts=1, errors=0, duration=?
  port 3 queue 2: bytes=0, pkts=0, errors=0, duration=?
  port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=?
  port 2 queue 2: bytes=0, pkts=0, errors=0, duration=?
  port 1 queue 1: bytes=0, pkts=0, errors=0, duration=?
  port 1 queue 2: bytes=0, pkts=0, errors=0, duration=?
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1624"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_184
#AT_START_185
at_fn_group_banner 185 'ofp-print.at:1649' \
  "OFPST_QUEUE reply - OF1.3" "                      " 13
at_xfail=no
(
  $as_echo "185. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1651: ovs-ofctl ofp-print \"\\
04 13 01 00 00 00 00 01 00 05 00 00 00 00 00 00 \\
00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \\
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \\
00 00 00 64 1d cd 65 00 \\
00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 64 1d cd 65 00 \\
00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \\
00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \\
00 00 00 64 1d cd 65 00 \\
00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 64 1d cd 65 00 \\
00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 64 1d cd 65 00 \\
00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
ff ff ff ff ff ff ff ff \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1651"
( $at_check_trace; ovs-ofctl ofp-print "\
04 13 01 00 00 00 00 01 00 05 00 00 00 00 00 00 \
00 00 00 03 00 00 00 01 00 00 00 00 00 00 01 2e \
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 \
00 00 00 64 1d cd 65 00 \
00 00 00 03 00 00 00 02 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 64 1d cd 65 00 \
00 00 00 02 00 00 00 01 00 00 00 00 00 00 08 34 \
00 00 00 00 00 00 00 14 00 00 00 00 00 00 00 00 \
00 00 00 64 1d cd 65 00 \
00 00 00 02 00 00 00 02 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 64 1d cd 65 00 \
00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 64 1d cd 65 00 \
00 00 00 01 00 00 00 02 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
ff ff ff ff ff ff ff ff \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_QUEUE reply (OF1.3) (xid=0x1): 6 queues
  port 3 queue 1: bytes=302, pkts=1, errors=0, duration=100.5s
  port 3 queue 2: bytes=0, pkts=0, errors=0, duration=100.5s
  port 2 queue 1: bytes=2100, pkts=20, errors=0, duration=100.5s
  port 2 queue 2: bytes=0, pkts=0, errors=0, duration=100.5s
  port 1 queue 1: bytes=0, pkts=0, errors=0, duration=100.5s
  port 1 queue 2: bytes=0, pkts=0, errors=0, duration=?
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1651"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_185
#AT_START_186
at_fn_group_banner 186 'ofp-print.at:1682' \
  "OFPST_PORT_DESC reply - OF1.0" "                  " 13
at_xfail=no
(
  $as_echo "186. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1684: ovs-ofctl ofp-print \"\\
01 11 00 3c 00 00 00 00 00 0d 00 00 00 03 50 54 \\
00 00 00 01 65 74 68 30 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 01 00 00 00 01 00 00 02 08 \\
00 00 02 8f 00 00 02 8f 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1684"
( $at_check_trace; ovs-ofctl ofp-print "\
01 11 00 3c 00 00 00 00 00 0d 00 00 00 03 50 54 \
00 00 00 01 65 74 68 30 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 01 00 00 00 01 00 00 02 08 \
00 00 02 8f 00 00 02 8f 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT_DESC reply (xid=0x0):
 3(eth0): addr:50:54:00:00:00:01
     config:     PORT_DOWN
     state:      LINK_DOWN
     current:    100MB-FD AUTO_NEG
     advertised: 10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
     supported:  10MB-HD 10MB-FD 100MB-HD 100MB-FD COPPER AUTO_NEG
     speed: 100 Mbps now, 100 Mbps max
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1684"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_186
#AT_START_187
at_fn_group_banner 187 'ofp-print.at:1701' \
  "OFPT_METER_MOD request - OF1.3" "                 " 13
at_xfail=no
(
  $as_echo "187. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1703: ovs-ofctl ofp-print \"\\
04 1d 00 20 00 00 00 02 00 00 00 0d 00 00 00 05 \\
00 01 00 10 00 00 04 00 00 00 00 80 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1703"
( $at_check_trace; ovs-ofctl ofp-print "\
04 1d 00 20 00 00 00 02 00 00 00 0d 00 00 00 05 \
00 01 00 10 00 00 04 00 00 00 00 80 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_METER_MOD (OF1.3) (xid=0x2): ADD meter=5 kbps burst stats bands=
type=drop rate=1024 burst_size=128
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1703"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_187
#AT_START_188
at_fn_group_banner 188 'ofp-print.at:1712' \
  "OFPST_METER request - OF1.3" "                    " 13
at_xfail=no
(
  $as_echo "188. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1714: ovs-ofctl ofp-print \"041200180000000200090000000000000000000100000000\""
at_fn_check_prepare_trace "ofp-print.at:1714"
( $at_check_trace; ovs-ofctl ofp-print "041200180000000200090000000000000000000100000000"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_METER request (OF1.3) (xid=0x2): meter=1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1714"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_188
#AT_START_189
at_fn_group_banner 189 'ofp-print.at:1719' \
  "OFPST_METER_CONFIG request - OF1.3" "             " 13
at_xfail=no
(
  $as_echo "189. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1721: ovs-ofctl ofp-print \"0412001800000002000a0000000000000000000100000000\""
at_fn_check_prepare_trace "ofp-print.at:1721"
( $at_check_trace; ovs-ofctl ofp-print "0412001800000002000a0000000000000000000100000000"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_METER_CONFIG request (OF1.3) (xid=0x2): meter=1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1721"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_189
#AT_START_190
at_fn_group_banner 190 'ofp-print.at:1726' \
  "OFPST_METER_FEATURES request - OF1.3" "           " 13
at_xfail=no
(
  $as_echo "190. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1728: ovs-ofctl ofp-print \"0412001000000002000b000000000000\""
at_fn_check_prepare_trace "ofp-print.at:1728"
( $at_check_trace; ovs-ofctl ofp-print "0412001000000002000b000000000000"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_METER_FEATURES request (OF1.3) (xid=0x2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1728"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_190
#AT_START_191
at_fn_group_banner 191 'ofp-print.at:1733' \
  "OFPST_METER_FEATURES reply - OF1.3" "             " 13
at_xfail=no
(
  $as_echo "191. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1735: ovs-ofctl ofp-print \"\\
04 13 00 20 00 00 00 02 00 0b 00 00 00 00 00 00 \\
00 01 00 00 00 00 00 06 00 00 00 0F 10 02 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1735"
( $at_check_trace; ovs-ofctl ofp-print "\
04 13 00 20 00 00 00 02 00 0b 00 00 00 00 00 00 \
00 01 00 00 00 00 00 06 00 00 00 0F 10 02 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_METER_FEATURES reply (OF1.3) (xid=0x2):
max_meter:65536 max_bands:16 max_color:2
band_types: drop dscp_remark
capabilities: kbps pktps burst stats
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1735"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_191
#AT_START_192
at_fn_group_banner 192 'ofp-print.at:1746' \
  "OFPST_METER_CONFIG reply - OF1.3" "               " 13
at_xfail=no
(
  $as_echo "192. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1748: ovs-ofctl ofp-print \"\\
04 13 00 50 00 00 00 02 00 0a 00 00 00 00 00 00 \\
00 28 00 05 00 00 00 01 \\
00 01 00 10 00 01 00 00 00 00 05 00 00 00 00 00 \\
00 02 00 10 00 10 00 00 00 00 f0 00 00 00 00 00 \\
00 18 00 09 00 00 00 02 \\
00 01 00 10 00 02 00 00 00 00 00 00 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1748"
( $at_check_trace; ovs-ofctl ofp-print "\
04 13 00 50 00 00 00 02 00 0a 00 00 00 00 00 00 \
00 28 00 05 00 00 00 01 \
00 01 00 10 00 01 00 00 00 00 05 00 00 00 00 00 \
00 02 00 10 00 10 00 00 00 00 f0 00 00 00 00 00 \
00 18 00 09 00 00 00 02 \
00 01 00 10 00 02 00 00 00 00 00 00 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_METER_CONFIG reply (OF1.3) (xid=0x2):
meter=1 kbps burst bands=
type=drop rate=65536 burst_size=1280
type=dscp_remark rate=1048576 burst_size=61440 prec_level=0

meter=2 kbps stats bands=
type=drop rate=131072
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1748"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_192
#AT_START_193
at_fn_group_banner 193 'ofp-print.at:1766' \
  "OFPST_METER reply - OF1.3" "                      " 13
at_xfail=no
(
  $as_echo "193. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1768: ovs-ofctl ofp-print \"\\
04 13 00 90 00 00 00 02 00 09 00 00 00 00 00 00 \\
00 00 00 01 00 48 00 00 00 00 00 00 00 00 00 05 \\
00 00 00 00 00 00 10 00 00 00 00 00 00 02 30 00 \\
00 00 01 8a 0a 6e 23 44 \\
00 00 00 00 00 00 00 7e 00 00 00 00 00 00 34 33 \\
00 00 00 00 00 00 00 e7 00 00 00 00 00 00 94 2e \\
00 00 00 02 00 38 00 00 00 00 00 00 00 00 00 02 \\
00 00 00 00 00 00 02 00 00 00 00 00 00 00 30 00 \\
00 00 01 87 0a 23 6e 44 \\
00 00 00 00 00 00 00 2a 00 00 00 00 00 00 04 33 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1768"
( $at_check_trace; ovs-ofctl ofp-print "\
04 13 00 90 00 00 00 02 00 09 00 00 00 00 00 00 \
00 00 00 01 00 48 00 00 00 00 00 00 00 00 00 05 \
00 00 00 00 00 00 10 00 00 00 00 00 00 02 30 00 \
00 00 01 8a 0a 6e 23 44 \
00 00 00 00 00 00 00 7e 00 00 00 00 00 00 34 33 \
00 00 00 00 00 00 00 e7 00 00 00 00 00 00 94 2e \
00 00 00 02 00 38 00 00 00 00 00 00 00 00 00 02 \
00 00 00 00 00 00 02 00 00 00 00 00 00 00 30 00 \
00 00 01 87 0a 23 6e 44 \
00 00 00 00 00 00 00 2a 00 00 00 00 00 00 04 33 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_METER reply (OF1.3) (xid=0x2):
meter:1 flow_count:5 packet_in_count:4096 byte_in_count:143360 duration:394.174990148s bands:
0: packet_count:126 byte_count:13363
1: packet_count:231 byte_count:37934

meter:2 flow_count:2 packet_in_count:512 byte_in_count:12288 duration:391.170094148s bands:
0: packet_count:42 byte_count:1075
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1768"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_193
#AT_START_194
at_fn_group_banner 194 'ofp-print.at:1790' \
  "OFPT_BARRIER_REQUEST - OF1.0" "                   " 13
at_xfail=no
(
  $as_echo "194. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1792: ovs-ofctl ofp-print '01 12 00 08 00 00 00 01'"
at_fn_check_prepare_trace "ofp-print.at:1792"
( $at_check_trace; ovs-ofctl ofp-print '01 12 00 08 00 00 00 01'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_BARRIER_REQUEST (xid=0x1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1792"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_194
#AT_START_195
at_fn_group_banner 195 'ofp-print.at:1797' \
  "OFPT_BARRIER_REQUEST - OF1.1" "                   " 13
at_xfail=no
(
  $as_echo "195. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1799: ovs-ofctl ofp-print '02 14 00 08 00 00 00 01'"
at_fn_check_prepare_trace "ofp-print.at:1799"
( $at_check_trace; ovs-ofctl ofp-print '02 14 00 08 00 00 00 01'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_BARRIER_REQUEST (OF1.1) (xid=0x1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1799"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_195
#AT_START_196
at_fn_group_banner 196 'ofp-print.at:1804' \
  "OFPT_BARRIER_REQUEST - OF1.2" "                   " 13
at_xfail=no
(
  $as_echo "196. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1806: ovs-ofctl ofp-print '03 14 00 08 00 00 00 01'"
at_fn_check_prepare_trace "ofp-print.at:1806"
( $at_check_trace; ovs-ofctl ofp-print '03 14 00 08 00 00 00 01'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_BARRIER_REQUEST (OF1.2) (xid=0x1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1806"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_196
#AT_START_197
at_fn_group_banner 197 'ofp-print.at:1811' \
  "OFPT_BARRIER_REQUEST - OF1.3" "                   " 13
at_xfail=no
(
  $as_echo "197. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1813: ovs-ofctl ofp-print '04 14 00 08 00 00 00 01'"
at_fn_check_prepare_trace "ofp-print.at:1813"
( $at_check_trace; ovs-ofctl ofp-print '04 14 00 08 00 00 00 01'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_BARRIER_REQUEST (OF1.3) (xid=0x1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1813"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_197
#AT_START_198
at_fn_group_banner 198 'ofp-print.at:1818' \
  "OFPT_BARRIER_REPLY - OF1.0" "                     " 13
at_xfail=no
(
  $as_echo "198. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1820: ovs-ofctl ofp-print '01 13 00 08 00 00 00 01'"
at_fn_check_prepare_trace "ofp-print.at:1820"
( $at_check_trace; ovs-ofctl ofp-print '01 13 00 08 00 00 00 01'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_BARRIER_REPLY (xid=0x1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1820"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_198
#AT_START_199
at_fn_group_banner 199 'ofp-print.at:1825' \
  "OFPT_BARRIER_REPLY - OF1.1" "                     " 13
at_xfail=no
(
  $as_echo "199. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1827: ovs-ofctl ofp-print '02 15 00 08 00 00 00 01'"
at_fn_check_prepare_trace "ofp-print.at:1827"
( $at_check_trace; ovs-ofctl ofp-print '02 15 00 08 00 00 00 01'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_BARRIER_REPLY (OF1.1) (xid=0x1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1827"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_199
#AT_START_200
at_fn_group_banner 200 'ofp-print.at:1832' \
  "OFPT_BARRIER_REPLY - OF1.2" "                     " 13
at_xfail=no
(
  $as_echo "200. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1834: ovs-ofctl ofp-print '03 15 00 08 00 00 00 01'"
at_fn_check_prepare_trace "ofp-print.at:1834"
( $at_check_trace; ovs-ofctl ofp-print '03 15 00 08 00 00 00 01'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_BARRIER_REPLY (OF1.2) (xid=0x1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1834"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_200
#AT_START_201
at_fn_group_banner 201 'ofp-print.at:1839' \
  "OFPT_BARRIER_REPLY - OF1.3" "                     " 13
at_xfail=no
(
  $as_echo "201. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1841: ovs-ofctl ofp-print '04 15 00 08 00 00 00 01'"
at_fn_check_prepare_trace "ofp-print.at:1841"
( $at_check_trace; ovs-ofctl ofp-print '04 15 00 08 00 00 00 01'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_BARRIER_REPLY (OF1.3) (xid=0x1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1841"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_201
#AT_START_202
at_fn_group_banner 202 'ofp-print.at:1847' \
  "OFPT_SET_ASYNC - OF1.3" "                         " 13
at_xfail=no
(
  $as_echo "202. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1849: ovs-ofctl ofp-print \"\\
04 1c 00 20 00 00 00 00 00 00 10 05 00 00 10 07 \\
00 00 00 03 00 00 00 07 00 00 00 00 00 00 00 03 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1849"
( $at_check_trace; ovs-ofctl ofp-print "\
04 1c 00 20 00 00 00 00 00 00 10 05 00 00 10 07 \
00 00 00 03 00 00 00 07 00 00 00 00 00 00 00 03 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_SET_ASYNC (OF1.3) (xid=0x0):
 master:
       PACKET_IN: no_match invalid_ttl 12
     PORT_STATUS: add delete
    FLOW_REMOVED: (off)

 slave:
       PACKET_IN: no_match action invalid_ttl 12
     PORT_STATUS: add delete modify
    FLOW_REMOVED: idle hard
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1849"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_202
#AT_START_203
at_fn_group_banner 203 'ofp-print.at:1866' \
  "OFPT_ROLE_REQUEST - OF1.2" "                      " 13
at_xfail=no
(
  $as_echo "203. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1868: ovs-ofctl ofp-print \"\\
03 18 00 18 00 00 00 02 00 00 00 02 00 00 00 00 \\
00 00 00 00 00 00 00 03 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1868"
( $at_check_trace; ovs-ofctl ofp-print "\
03 18 00 18 00 00 00 02 00 00 00 02 00 00 00 00 \
00 00 00 00 00 00 00 03 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ROLE_REQUEST (OF1.2) (xid=0x2): role=master generation_id=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1868"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_203
#AT_START_204
at_fn_group_banner 204 'ofp-print.at:1876' \
  "OFPT_ROLE_REQUEST - nochange - OF1.2" "           " 13
at_xfail=no
(
  $as_echo "204. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1878: ovs-ofctl ofp-print \"\\
03 18 00 18 00 00 00 02 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1878"
( $at_check_trace; ovs-ofctl ofp-print "\
03 18 00 18 00 00 00 02 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ROLE_REQUEST (OF1.2) (xid=0x2): role=nochange
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1878"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_204
#AT_START_205
at_fn_group_banner 205 'ofp-print.at:1886' \
  "NXT_ROLE_REQUEST" "                               " 13
at_xfail=no
(
  $as_echo "205. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1888: ovs-ofctl ofp-print \"\\
01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 0a \\
00 00 00 01 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1888"
( $at_check_trace; ovs-ofctl ofp-print "\
01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 0a \
00 00 00 01 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_ROLE_REQUEST (xid=0x2): role=master
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1888"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_205
#AT_START_206
at_fn_group_banner 206 'ofp-print.at:1896' \
  "OFPT_ROLE_REPLY - OF1.2" "                        " 13
at_xfail=no
(
  $as_echo "206. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1898: ovs-ofctl ofp-print \"\\
03 19 00 18 00 00 00 02 00 00 00 03 00 00 00 00 \\
12 34 56 78 ab cd ef 90 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1898"
( $at_check_trace; ovs-ofctl ofp-print "\
03 19 00 18 00 00 00 02 00 00 00 03 00 00 00 00 \
12 34 56 78 ab cd ef 90 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ROLE_REPLY (OF1.2) (xid=0x2): role=slave generation_id=1311768467750121360
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1898"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_206
#AT_START_207
at_fn_group_banner 207 'ofp-print.at:1906' \
  "NXT_ROLE_REPLY" "                                 " 13
at_xfail=no
(
  $as_echo "207. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1908: ovs-ofctl ofp-print \"\\
01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 0b \\
00 00 00 02 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1908"
( $at_check_trace; ovs-ofctl ofp-print "\
01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 0b \
00 00 00 02 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_ROLE_REPLY (xid=0x2): role=slave
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1908"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_207
#AT_START_208
at_fn_group_banner 208 'ofp-print.at:1916' \
  "NXT_SET_PACKET_IN" "                              " 13
at_xfail=no
(
  $as_echo "208. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1918: ovs-ofctl ofp-print \"\\
01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 10 \\
00 00 00 01 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1918"
( $at_check_trace; ovs-ofctl ofp-print "\
01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 10 \
00 00 00 01 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_SET_PACKET_IN_FORMAT (xid=0x2): format=nxm
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1918"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_208
#AT_START_209
at_fn_group_banner 209 'ofp-print.at:1926' \
  "NXT_PACKET_IN" "                                  " 13
at_xfail=no
(
  $as_echo "209. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1928: ovs-ofctl ofp-print \"\\
01 04 00 ba 00 00 00 00 00 00 23 20 00 00 00 11 \\
ff ff ff ff 00 40 01 07 00 00 00 00 00 00 00 09 \\
00 4e 00 00 00 00 00 00 00 00 00 02 00 01 00 01 \\
20 08 00 00 00 00 00 00 00 06 00 01 00 04 00 00 \\
00 01 00 01 02 04 00 00 00 02 00 01 04 04 00 00 \\
00 03 00 01 06 04 00 00 00 04 00 01 08 04 00 00 \\
00 05 80 00 05 10 5a 5a 5a 5a 5a 5a 5a 5a ff ff \\
ff ff ff ff ff ff 00 00 00 00 82 82 82 82 82 82 \\
80 81 81 81 81 81 81 00 00 50 08 00 45 00 00 28 \\
00 00 00 00 00 06 32 05 53 53 53 53 54 54 54 54 \\
00 55 00 56 00 00 00 00 00 00 00 00 50 00 00 00 \\
31 6d 00 00 00 00 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1928"
( $at_check_trace; ovs-ofctl ofp-print "\
01 04 00 ba 00 00 00 00 00 00 23 20 00 00 00 11 \
ff ff ff ff 00 40 01 07 00 00 00 00 00 00 00 09 \
00 4e 00 00 00 00 00 00 00 00 00 02 00 01 00 01 \
20 08 00 00 00 00 00 00 00 06 00 01 00 04 00 00 \
00 01 00 01 02 04 00 00 00 02 00 01 04 04 00 00 \
00 03 00 01 06 04 00 00 00 04 00 01 08 04 00 00 \
00 05 80 00 05 10 5a 5a 5a 5a 5a 5a 5a 5a ff ff \
ff ff ff ff ff ff 00 00 00 00 82 82 82 82 82 82 \
80 81 81 81 81 81 81 00 00 50 08 00 45 00 00 28 \
00 00 00 00 00 06 32 05 53 53 53 53 54 54 54 54 \
00 55 00 56 00 00 00 00 00 00 00 00 50 00 00 00 \
31 6d 00 00 00 00 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): table_id=7 cookie=0x9 total_len=64 in_port=1 tun_id=0x6 metadata=0x5a5a5a5a5a5a5a5a reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 reg4=0x5 (via action) data_len=64 (unbuffered)
tcp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=85,tp_dst=86 tcp_csum:316d
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1928"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_209
#AT_START_210
at_fn_group_banner 210 'ofp-print.at:1947' \
  "NXT_PACKET_IN, with hex output of packet data" "  " 13
at_xfail=no
(
  $as_echo "210. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1949: ovs-ofctl ofp-print \"\\
01 04 00 ba 00 00 00 00 00 00 23 20 00 00 00 11 \\
ff ff ff ff 00 40 01 07 00 00 00 00 00 00 00 09 \\
00 4e 00 00 00 00 00 00 00 00 00 02 00 01 00 01 \\
20 08 00 00 00 00 00 00 00 06 00 01 00 04 00 00 \\
00 01 00 01 02 04 00 00 00 02 00 01 04 04 00 00 \\
00 03 00 01 06 04 00 00 00 04 00 01 08 04 00 00 \\
00 05 80 00 05 10 5a 5a 5a 5a 5a 5a 5a 5a ff ff \\
ff ff ff ff ff ff 00 00 00 00 82 82 82 82 82 82 \\
80 81 81 81 81 81 81 00 00 50 08 00 45 00 00 28 \\
00 00 00 00 00 06 32 05 53 53 53 53 54 54 54 54 \\
00 55 00 56 00 00 00 00 00 00 00 00 50 00 00 00 \\
31 6d 00 00 00 00 00 00 00 00 \\
\" 3"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1949"
( $at_check_trace; ovs-ofctl ofp-print "\
01 04 00 ba 00 00 00 00 00 00 23 20 00 00 00 11 \
ff ff ff ff 00 40 01 07 00 00 00 00 00 00 00 09 \
00 4e 00 00 00 00 00 00 00 00 00 02 00 01 00 01 \
20 08 00 00 00 00 00 00 00 06 00 01 00 04 00 00 \
00 01 00 01 02 04 00 00 00 02 00 01 04 04 00 00 \
00 03 00 01 06 04 00 00 00 04 00 01 08 04 00 00 \
00 05 80 00 05 10 5a 5a 5a 5a 5a 5a 5a 5a ff ff \
ff ff ff ff ff ff 00 00 00 00 82 82 82 82 82 82 \
80 81 81 81 81 81 81 00 00 50 08 00 45 00 00 28 \
00 00 00 00 00 06 32 05 53 53 53 53 54 54 54 54 \
00 55 00 56 00 00 00 00 00 00 00 00 50 00 00 00 \
31 6d 00 00 00 00 00 00 00 00 \
" 3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): table_id=7 cookie=0x9 total_len=64 in_port=1 tun_id=0x6 metadata=0x5a5a5a5a5a5a5a5a reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 reg4=0x5 (via action) data_len=64 (unbuffered)
tcp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=85,tp_dst=86 tcp_csum:316d
00000000  82 82 82 82 82 82 80 81-81 81 81 81 81 00 00 50
00000010  08 00 45 00 00 28 00 00-00 00 00 06 32 05 53 53
00000020  53 53 54 54 54 54 00 55-00 56 00 00 00 00 00 00
00000030  00 00 50 00 00 00 31 6d-00 00 00 00 00 00 00 00
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1949"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_210
#AT_START_211
at_fn_group_banner 211 'ofp-print.at:1972' \
  "NXT_SET_ASYNC_CONFIG" "                           " 13
at_xfail=no
(
  $as_echo "211. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1974: ovs-ofctl ofp-print \"\\
01 04 00 28 00 00 00 00 00 00 23 20 00 00 00 13 \\
00 00 10 05 00 00 10 07 00 00 00 03 00 00 00 07 \\
00 00 00 00 00 00 00 03 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1974"
( $at_check_trace; ovs-ofctl ofp-print "\
01 04 00 28 00 00 00 00 00 00 23 20 00 00 00 13 \
00 00 10 05 00 00 10 07 00 00 00 03 00 00 00 07 \
00 00 00 00 00 00 00 03 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_SET_ASYNC_CONFIG (xid=0x0):
 master:
       PACKET_IN: no_match invalid_ttl 12
     PORT_STATUS: add delete
    FLOW_REMOVED: (off)

 slave:
       PACKET_IN: no_match action invalid_ttl 12
     PORT_STATUS: add delete modify
    FLOW_REMOVED: idle hard
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1974"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_211
#AT_START_212
at_fn_group_banner 212 'ofp-print.at:1992' \
  "NXT_SET_CONTROLLER_ID" "                          " 13
at_xfail=no
(
  $as_echo "212. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:1994: ovs-ofctl ofp-print \"\\
01 04 00 18 00 00 00 03 00 00 23 20 00 00 00 14 \\
00 00 00 00 00 00 00 7b \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:1994"
( $at_check_trace; ovs-ofctl ofp-print "\
01 04 00 18 00 00 00 03 00 00 23 20 00 00 00 14 \
00 00 00 00 00 00 00 7b \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_SET_CONTROLLER_ID (xid=0x3): id=123
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:1994"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_212
#AT_START_213
at_fn_group_banner 213 'ofp-print.at:2002' \
  "NXT_FLOW_MONITOR_CANCEL" "                        " 13
at_xfail=no
(
  $as_echo "213. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:2004: ovs-ofctl ofp-print \"\\
01 04 00 14 00 00 00 03 00 00 23 20 00 00 00 15 \\
01 02 30 40 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:2004"
( $at_check_trace; ovs-ofctl ofp-print "\
01 04 00 14 00 00 00 03 00 00 23 20 00 00 00 15 \
01 02 30 40 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_FLOW_MONITOR_CANCEL (xid=0x3): id=16920640
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:2004"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_213
#AT_START_214
at_fn_group_banner 214 'ofp-print.at:2012' \
  "NXT_FLOW_MONITOR_PAUSED" "                        " 13
at_xfail=no
(
  $as_echo "214. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:2014: ovs-ofctl ofp-print \"\\
01 04 00 10 00 00 00 03 00 00 23 20 00 00 00 16 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:2014"
( $at_check_trace; ovs-ofctl ofp-print "\
01 04 00 10 00 00 00 03 00 00 23 20 00 00 00 16 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_FLOW_MONITOR_PAUSED (xid=0x3):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:2014"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_214
#AT_START_215
at_fn_group_banner 215 'ofp-print.at:2021' \
  "NXT_FLOW_MONITOR_RESUMED" "                       " 13
at_xfail=no
(
  $as_echo "215. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:2023: ovs-ofctl ofp-print \"\\
01 04 00 10 00 00 00 03 00 00 23 20 00 00 00 17 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:2023"
( $at_check_trace; ovs-ofctl ofp-print "\
01 04 00 10 00 00 00 03 00 00 23 20 00 00 00 17 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_FLOW_MONITOR_RESUMED (xid=0x3):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:2023"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_215
#AT_START_216
at_fn_group_banner 216 'ofp-print.at:2030' \
  "NXT_SET_FLOW_FORMAT" "                            " 13
at_xfail=no
(
  $as_echo "216. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:2032: ovs-ofctl ofp-print \"\\
01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 0c \\
00 00 00 02 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:2032"
( $at_check_trace; ovs-ofctl ofp-print "\
01 04 00 14 00 00 00 02 00 00 23 20 00 00 00 0c \
00 00 00 02 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_SET_FLOW_FORMAT (xid=0x2): format=nxm
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:2032"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_216
#AT_START_217
at_fn_group_banner 217 'ofp-print.at:2041' \
  "NXT_FLOW_MOD, low verbosity" "                    " 13
at_xfail=no
(
  $as_echo "217. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:2043: ovs-ofctl ofp-print \"\\
01 04 00 60 00 00 00 02 00 00 23 20 00 00 00 0d \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 \\
ff ff ff ff 00 10 00 00 00 14 00 00 00 00 00 00 \\
00 01 20 08 00 00 00 00 00 00 01 c8 00 01 00 04 \\
00 00 00 7b 00 00 00 00 ff ff 00 18 00 00 23 20 \\
00 07 00 1f 00 01 00 04 00 00 00 00 00 00 00 05 \\
\" 2"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:2043"
( $at_check_trace; ovs-ofctl ofp-print "\
01 04 00 60 00 00 00 02 00 00 23 20 00 00 00 0d \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 \
ff ff ff ff 00 10 00 00 00 14 00 00 00 00 00 00 \
00 01 20 08 00 00 00 00 00 00 01 c8 00 01 00 04 \
00 00 00 7b 00 00 00 00 ff ff 00 18 00 00 23 20 \
00 07 00 1f 00 01 00 04 00 00 00 00 00 00 00 05 \
" 2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_FLOW_MOD (xid=0x2): ADD reg0=0x7b,tun_id=0x1c8 out_port:16 actions=load:0x5->NXM_NX_REG0[]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:2043"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_217
#AT_START_218
at_fn_group_banner 218 'ofp-print.at:2057' \
  "NXT_FLOW_MOD, high verbosity" "                   " 13
at_xfail=no
(
  $as_echo "218. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:2059: ovs-ofctl ofp-print \"\\
01 04 00 60 00 00 00 02 00 00 23 20 00 00 00 0d \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 \\
ff ff ff ff 01 00 00 00 00 14 00 00 00 00 00 00 \\
00 01 20 08 00 00 00 00 00 00 01 c8 00 01 00 04 \\
00 00 00 7b 00 00 00 00 ff ff 00 18 00 00 23 20 \\
00 07 00 1f 00 01 00 04 00 00 00 00 00 00 00 05 \\
\" 3"
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:2059"
( $at_check_trace; ovs-ofctl ofp-print "\
01 04 00 60 00 00 00 02 00 00 23 20 00 00 00 0d \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 \
ff ff ff ff 01 00 00 00 00 14 00 00 00 00 00 00 \
00 01 20 08 00 00 00 00 00 00 01 c8 00 01 00 04 \
00 00 00 7b 00 00 00 00 ff ff 00 18 00 00 23 20 \
00 07 00 1f 00 01 00 04 00 00 00 00 00 00 00 05 \
" 3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_FLOW_MOD (xid=0x2): ADD NXM_NX_TUN_ID(00000000000001c8), NXM_NX_REG0(0000007b) out_port:256 actions=load:0x5->NXM_NX_REG0[]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:2059"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_218
#AT_START_219
at_fn_group_banner 219 'ofp-print.at:2071' \
  "NXT_FLOW_REMOVED" "                               " 13
at_xfail=no
(
  $as_echo "219. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:2073: ovs-ofctl ofp-print \"\\
01 04 00 78 00 00 00 00 00 00 23 20 00 00 00 0e \\
00 00 00 00 00 00 00 00 ff ff 00 02 00 00 00 06 \\
01 6e 36 00 00 05 00 3c 00 00 00 00 00 00 00 01 \\
00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \\
02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \\
00 05 00 00 06 02 08 06 00 00 08 02 00 00 00 00 \\
1e 02 00 02 00 00 20 04 c0 a8 00 01 00 00 22 04 \\
c0 a8 00 02 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:2073"
( $at_check_trace; ovs-ofctl ofp-print "\
01 04 00 78 00 00 00 00 00 00 23 20 00 00 00 0e \
00 00 00 00 00 00 00 00 ff ff 00 02 00 00 00 06 \
01 6e 36 00 00 05 00 3c 00 00 00 00 00 00 00 01 \
00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \
02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \
00 05 00 00 06 02 08 06 00 00 08 02 00 00 00 00 \
1e 02 00 02 00 00 20 04 c0 a8 00 01 00 00 22 04 \
c0 a8 00 02 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_FLOW_REMOVED (xid=0x0): priority=65535,arp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,arp_spa=192.168.0.1,arp_tpa=192.168.0.2,arp_op=2 reason=idle table_id=1 duration6.024s idle5 pkts1 bytes60
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:2073"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_219
#AT_START_220
at_fn_group_banner 220 'ofp-print.at:2087' \
  "NXT_FLOW_MOD_TABLE_ID" "                          " 13
at_xfail=no
(
  $as_echo "220. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:2089: ovs-ofctl ofp-print \"\\
01 04 00 18 01 02 03 04 00 00 23 20 00 00 00 0f \\
01 00 00 00 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:2089"
( $at_check_trace; ovs-ofctl ofp-print "\
01 04 00 18 01 02 03 04 00 00 23 20 00 00 00 0f \
01 00 00 00 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_FLOW_MOD_TABLE_ID (xid=0x1020304): enable
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:2089"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_220
#AT_START_221
at_fn_group_banner 221 'ofp-print.at:2097' \
  "NXST_FLOW request" "                              " 13
at_xfail=no
(
  $as_echo "221. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:2099: ovs-ofctl ofp-print \"\\
01 10 00 20 00 00 00 04 ff ff 00 00 00 00 23 20 \\
00 00 00 00 00 00 00 00 ff ff 00 00 ff 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:2099"
( $at_check_trace; ovs-ofctl ofp-print "\
01 10 00 20 00 00 00 04 ff ff 00 00 00 00 23 20 \
00 00 00 00 00 00 00 00 ff ff 00 00 ff 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW request (xid=0x4): 
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:2099"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_221
#AT_START_222
at_fn_group_banner 222 'ofp-print.at:2107' \
  "NXST_FLOW reply" "                                " 13
at_xfail=no
(
  $as_echo "222. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:2109: ovs-ofctl ofp-print \"\\
01 11 08 18 00 00 00 04 ff ff 00 00 00 00 23 20 \\
00 00 00 00 00 00 00 00 00 88 00 00 00 00 00 01 \\
02 dc 6c 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \\
00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \\
02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \\
00 05 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \\
0a 01 00 00 00 0e 04 c0 a8 00 01 00 00 10 04 c0 \\
a8 00 02 00 00 0c 01 06 00 00 12 02 09 e7 00 00 \\
14 02 00 00 00 00 00 00 00 00 00 08 00 01 00 00 \\
00 88 00 00 00 00 00 03 32 11 62 00 ff ff 00 05 \\
00 00 00 4c 00 03 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \\
00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \\
00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \\
00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \\
a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \\
00 00 12 02 09 e4 00 00 14 02 00 00 00 00 00 00 \\
00 00 00 08 00 01 00 00 00 88 00 00 00 00 00 02 \\
33 f9 aa 00 ff ff 00 05 00 00 00 4c 00 05 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \\
00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \\
02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \\
00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \\
0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \\
a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \\
14 02 09 e5 00 00 00 00 00 00 00 08 00 03 00 00 \\
00 88 00 00 00 00 00 04 2d 0f a5 00 ff ff 00 05 \\
00 00 00 4c 00 01 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \\
00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \\
00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \\
00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \\
a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \\
00 00 12 02 09 e3 00 00 14 02 00 00 00 00 00 00 \\
00 00 00 08 00 01 00 00 00 88 00 00 00 00 00 02 \\
34 73 bc 00 ff ff 00 05 00 0a 00 4c 00 03 00 03 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \\
00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \\
02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \\
00 05 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \\
0a 01 00 00 00 0e 04 c0 a8 00 01 00 00 10 04 c0 \\
a8 00 02 00 00 0c 01 06 00 00 12 02 09 e5 00 00 \\
14 02 00 00 00 00 00 00 00 00 00 08 00 01 00 00 \\
00 88 00 00 00 00 00 05 28 0d e8 00 ff ff 00 05 \\
00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \\
00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \\
00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \\
00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \\
a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \\
00 00 12 02 09 e2 00 00 14 02 00 00 00 00 00 00 \\
00 00 00 08 00 01 00 00 00 88 00 00 00 00 00 01 \\
02 62 5a 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \\
00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \\
02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \\
00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \\
0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \\
a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \\
14 02 09 e7 00 00 00 00 00 00 00 08 00 03 00 00 \\
00 88 00 00 00 00 00 01 38 be 5e 00 ff ff 00 05 \\
00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \\
00 00 00 02 00 01 00 00 02 06 50 54 00 00 00 05 \\
00 00 04 06 50 54 00 00 00 06 00 00 06 02 08 00 \\
00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \\
a8 00 02 00 00 10 04 c0 a8 00 01 00 00 0c 01 06 \\
00 00 12 02 00 00 00 00 14 02 09 e6 00 00 00 00 \\
00 00 00 08 00 03 00 00 00 88 00 00 00 00 00 04 \\
27 d0 df 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \\
00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \\
02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \\
00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \\
0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \\
a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \\
14 02 09 e3 00 00 00 00 00 00 00 08 00 03 00 00 \\
00 88 00 00 00 00 00 03 2c d2 9c 00 ff ff 00 05 \\
00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \\
00 00 00 02 00 01 00 00 02 06 50 54 00 00 00 05 \\
00 00 04 06 50 54 00 00 00 06 00 00 06 02 08 00 \\
00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \\
a8 00 02 00 00 10 04 c0 a8 00 01 00 00 0c 01 06 \\
00 00 12 02 00 00 00 00 14 02 09 e4 00 00 00 00 \\
00 00 00 08 00 03 00 00 00 88 00 00 00 00 00 00 \\
0a 40 83 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \\
00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \\
02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \\
00 05 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \\
0a 01 00 00 00 0e 04 c0 a8 00 01 00 00 10 04 c0 \\
a8 00 02 00 00 0c 01 06 00 00 12 02 09 e8 00 00 \\
14 02 00 00 00 00 00 00 00 00 00 08 00 01 00 00 \\
00 88 00 00 00 00 00 05 25 31 7c 00 ff ff 00 05 \\
00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \\
00 00 00 02 00 01 00 00 02 06 50 54 00 00 00 05 \\
00 00 04 06 50 54 00 00 00 06 00 00 06 02 08 00 \\
00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \\
a8 00 02 00 00 10 04 c0 a8 00 01 00 00 0c 01 06 \\
00 00 12 02 00 00 00 00 14 02 09 e2 00 00 00 00 \\
00 00 00 08 00 03 00 00 00 88 00 00 00 00 00 00 \\
04 c4 b4 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \\
00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \\
02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \\
00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \\
0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \\
a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \\
14 02 09 e8 00 00 00 00 00 00 00 08 00 03 00 00 \\
00 88 00 00 00 00 00 01 39 38 70 00 ff ff 00 05 \\
00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \\
00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \\
00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \\
00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \\
a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \\
00 00 12 02 09 e6 00 00 14 02 00 00 00 00 00 00 \\
00 00 00 08 00 01 00 00 00 60 00 00 00 00 00 e4 \\
2e 7d db 00 80 00 00 00 00 00 00 14 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 01 20 08 00 00 00 00 \\
00 00 01 c8 00 01 00 04 00 00 00 7b 00 00 00 00 \\
ff ff 00 18 00 00 23 20 00 07 00 1f 00 01 00 04 \\
00 00 00 00 00 00 00 05 \\
00 30 01 00 00 00 0e 10 00 07 a1 20 80 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \\
00 00 00 00 00 00 00 64 00 00 00 00 00 00 19 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:2109"
( $at_check_trace; ovs-ofctl ofp-print "\
01 11 08 18 00 00 00 04 ff ff 00 00 00 00 23 20 \
00 00 00 00 00 00 00 00 00 88 00 00 00 00 00 01 \
02 dc 6c 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \
02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \
00 05 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
0a 01 00 00 00 0e 04 c0 a8 00 01 00 00 10 04 c0 \
a8 00 02 00 00 0c 01 06 00 00 12 02 09 e7 00 00 \
14 02 00 00 00 00 00 00 00 00 00 08 00 01 00 00 \
00 88 00 00 00 00 00 03 32 11 62 00 ff ff 00 05 \
00 00 00 4c 00 03 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \
00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \
00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \
00 00 12 02 09 e4 00 00 14 02 00 00 00 00 00 00 \
00 00 00 08 00 01 00 00 00 88 00 00 00 00 00 02 \
33 f9 aa 00 ff ff 00 05 00 00 00 4c 00 05 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \
02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \
00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \
a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \
14 02 09 e5 00 00 00 00 00 00 00 08 00 03 00 00 \
00 88 00 00 00 00 00 04 2d 0f a5 00 ff ff 00 05 \
00 00 00 4c 00 01 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \
00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \
00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \
00 00 12 02 09 e3 00 00 14 02 00 00 00 00 00 00 \
00 00 00 08 00 01 00 00 00 88 00 00 00 00 00 02 \
34 73 bc 00 ff ff 00 05 00 0a 00 4c 00 03 00 03 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \
02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \
00 05 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
0a 01 00 00 00 0e 04 c0 a8 00 01 00 00 10 04 c0 \
a8 00 02 00 00 0c 01 06 00 00 12 02 09 e5 00 00 \
14 02 00 00 00 00 00 00 00 00 00 08 00 01 00 00 \
00 88 00 00 00 00 00 05 28 0d e8 00 ff ff 00 05 \
00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \
00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \
00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \
00 00 12 02 09 e2 00 00 14 02 00 00 00 00 00 00 \
00 00 00 08 00 01 00 00 00 88 00 00 00 00 00 01 \
02 62 5a 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \
02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \
00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \
a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \
14 02 09 e7 00 00 00 00 00 00 00 08 00 03 00 00 \
00 88 00 00 00 00 00 01 38 be 5e 00 ff ff 00 05 \
00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
00 00 00 02 00 01 00 00 02 06 50 54 00 00 00 05 \
00 00 04 06 50 54 00 00 00 06 00 00 06 02 08 00 \
00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
a8 00 02 00 00 10 04 c0 a8 00 01 00 00 0c 01 06 \
00 00 12 02 00 00 00 00 14 02 09 e6 00 00 00 00 \
00 00 00 08 00 03 00 00 00 88 00 00 00 00 00 04 \
27 d0 df 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \
02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \
00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \
a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \
14 02 09 e3 00 00 00 00 00 00 00 08 00 03 00 00 \
00 88 00 00 00 00 00 03 2c d2 9c 00 ff ff 00 05 \
00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
00 00 00 02 00 01 00 00 02 06 50 54 00 00 00 05 \
00 00 04 06 50 54 00 00 00 06 00 00 06 02 08 00 \
00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
a8 00 02 00 00 10 04 c0 a8 00 01 00 00 0c 01 06 \
00 00 12 02 00 00 00 00 14 02 09 e4 00 00 00 00 \
00 00 00 08 00 03 00 00 00 88 00 00 00 00 00 00 \
0a 40 83 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
00 00 00 00 00 00 00 3c 00 00 00 02 00 03 00 00 \
02 06 50 54 00 00 00 06 00 00 04 06 50 54 00 00 \
00 05 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
0a 01 00 00 00 0e 04 c0 a8 00 01 00 00 10 04 c0 \
a8 00 02 00 00 0c 01 06 00 00 12 02 09 e8 00 00 \
14 02 00 00 00 00 00 00 00 00 00 08 00 01 00 00 \
00 88 00 00 00 00 00 05 25 31 7c 00 ff ff 00 05 \
00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
00 00 00 02 00 01 00 00 02 06 50 54 00 00 00 05 \
00 00 04 06 50 54 00 00 00 06 00 00 06 02 08 00 \
00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
a8 00 02 00 00 10 04 c0 a8 00 01 00 00 0c 01 06 \
00 00 12 02 00 00 00 00 14 02 09 e2 00 00 00 00 \
00 00 00 08 00 03 00 00 00 88 00 00 00 00 00 00 \
04 c4 b4 00 ff ff 00 05 00 00 00 4c 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 \
00 00 00 00 00 00 00 3c 00 00 00 02 00 01 00 00 \
02 06 50 54 00 00 00 05 00 00 04 06 50 54 00 00 \
00 06 00 00 06 02 08 00 00 00 08 02 00 00 00 00 \
0a 01 00 00 00 0e 04 c0 a8 00 02 00 00 10 04 c0 \
a8 00 01 00 00 0c 01 06 00 00 12 02 00 00 00 00 \
14 02 09 e8 00 00 00 00 00 00 00 08 00 03 00 00 \
00 88 00 00 00 00 00 01 39 38 70 00 ff ff 00 05 \
00 00 00 4c 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 3c \
00 00 00 02 00 03 00 00 02 06 50 54 00 00 00 06 \
00 00 04 06 50 54 00 00 00 05 00 00 06 02 08 00 \
00 00 08 02 00 00 00 00 0a 01 00 00 00 0e 04 c0 \
a8 00 01 00 00 10 04 c0 a8 00 02 00 00 0c 01 06 \
00 00 12 02 09 e6 00 00 14 02 00 00 00 00 00 00 \
00 00 00 08 00 01 00 00 00 60 00 00 00 00 00 e4 \
2e 7d db 00 80 00 00 00 00 00 00 14 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 01 20 08 00 00 00 00 \
00 00 01 c8 00 01 00 04 00 00 00 7b 00 00 00 00 \
ff ff 00 18 00 00 23 20 00 07 00 1f 00 01 00 04 \
00 00 00 00 00 00 00 05 \
00 30 01 00 00 00 0e 10 00 07 a1 20 80 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \
00 00 00 00 00 00 00 64 00 00 00 00 00 00 19 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=1.048s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2535,tp_dst=0 actions=output:1
 cookie=0x0, duration=3.84s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, idle_age=2, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2532,tp_dst=0 actions=output:1
 cookie=0x0, duration=2.872s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, idle_age=4, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2533 actions=output:3
 cookie=0x0, duration=4.756s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, idle_age=0, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2531,tp_dst=0 actions=output:1
 cookie=0x0, duration=2.88s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, hard_timeout=10, idle_age=2, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2533,tp_dst=0 actions=output:1
 cookie=0x0, duration=5.672s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2530,tp_dst=0 actions=output:1
 cookie=0x0, duration=1.04s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2535 actions=output:3
 cookie=0x0, duration=1.952s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2534 actions=output:3
 cookie=0x0, duration=4.668s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2531 actions=output:3
 cookie=0x0, duration=3.752s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2532 actions=output:3
 cookie=0x0, duration=0.172s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2536,tp_dst=0 actions=output:1
 cookie=0x0, duration=5.624s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2530 actions=output:3
 cookie=0x0, duration=0.08s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:06,dl_dst=50:54:00:00:00:05,nw_src=192.168.0.2,nw_dst=192.168.0.1,nw_tos=0,tp_src=0,tp_dst=2536 actions=output:3
 cookie=0x0, duration=1.96s, table=0, n_packets=1, n_bytes=60, idle_timeout=5, priority=65535,tcp,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:06,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,tp_src=2534,tp_dst=0 actions=output:1
 cookie=0x0, duration=228.78s, table=0, n_packets=0, n_bytes=0, reg0=0x7b,tun_id=0x1c8 actions=load:0x5->NXM_NX_REG0[]
 cookie=0x0, duration=3600.0005s, table=1, n_packets=100, n_bytes=6400, actions=drop
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:2109"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_222
#AT_START_223
at_fn_group_banner 223 'ofp-print.at:2261' \
  "NXST_AGGREGATE request" "                         " 13
at_xfail=no
(
  $as_echo "223. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:2263: ovs-ofctl ofp-print \"\\
01 10 00 20 00 00 00 04 ff ff 00 00 00 00 23 20 \\
00 00 00 01 00 00 00 00 ff ff 00 00 ff 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:2263"
( $at_check_trace; ovs-ofctl ofp-print "\
01 10 00 20 00 00 00 04 ff ff 00 00 00 00 23 20 \
00 00 00 01 00 00 00 00 ff ff 00 00 ff 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_AGGREGATE request (xid=0x4): 
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:2263"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_223
#AT_START_224
at_fn_group_banner 224 'ofp-print.at:2271' \
  "NXST_AGGREGATE reply" "                           " 13
at_xfail=no
(
  $as_echo "224. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:2273: ovs-ofctl ofp-print \"\\
01 11 00 30 00 00 00 04 ff ff 00 00 00 00 23 20 \\
00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 07 \\
00 00 00 00 00 00 01 a4 00 00 00 07 00 00 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:2273"
( $at_check_trace; ovs-ofctl ofp-print "\
01 11 00 30 00 00 00 04 ff ff 00 00 00 00 23 20 \
00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 07 \
00 00 00 00 00 00 01 a4 00 00 00 07 00 00 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_AGGREGATE reply (xid=0x4): packet_count=7 byte_count=420 flow_count=7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:2273"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_224
#AT_START_225
at_fn_group_banner 225 'ofp-print.at:2282' \
  "NXST_FLOW_MONITOR request" "                      " 13
at_xfail=no
(
  $as_echo "225. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:2284: ovs-ofctl ofp-print \"\\
01 10 00 40 00 00 00 04 ff ff 00 00 00 00 23 20 00 00 00 02 00 00 00 00 \\
00 00 40 00 00 3f ff fe 00 00 01 00 00 00 00 00 \\
00 00 20 00 00 04 ff ff 00 06 02 00 00 00 00 00 00 00 00 02 00 01 00 00 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:2284"
( $at_check_trace; ovs-ofctl ofp-print "\
01 10 00 40 00 00 00 04 ff ff 00 00 00 00 23 20 00 00 00 02 00 00 00 00 \
00 00 40 00 00 3f ff fe 00 00 01 00 00 00 00 00 \
00 00 20 00 00 04 ff ff 00 06 02 00 00 00 00 00 00 00 00 02 00 01 00 00 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW_MONITOR request (xid=0x4):
 id=16384 flags=initial,add,delete,modify,actions,own out_port=LOCAL table=1
 id=8192 flags=delete table=2 in_port=1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:2284"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_225
#AT_START_226
at_fn_group_banner 226 'ofp-print.at:2295' \
  "NXST_FLOW_MONITOR reply" "                        " 13
at_xfail=no
(
  $as_echo "226. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-print.at:2297: ovs-ofctl ofp-print \"\\
01 11 00 40 00 00 00 04 ff ff 00 00 00 00 23 20 00 00 00 02 00 00 00 00 \\
00 20 00 01 00 05 80 00 00 05 00 10 00 06 01 00 12 34 56 78 9a bc de f0 \\
00 00 00 02 00 01 00 00 \\
00 08 00 03 00 01 86 a0 \\
\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-print.at:2297"
( $at_check_trace; ovs-ofctl ofp-print "\
01 11 00 40 00 00 00 04 ff ff 00 00 00 00 23 20 00 00 00 02 00 00 00 00 \
00 20 00 01 00 05 80 00 00 05 00 10 00 06 01 00 12 34 56 78 9a bc de f0 \
00 00 00 02 00 01 00 00 \
00 08 00 03 00 01 86 a0 \
"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW_MONITOR reply (xid=0x4):
 event=DELETED reason=eviction table=1 idle_timeout=5 hard_timeout=16 cookie=0x123456789abcdef0 in_port=1
 event=ABBREV xid=0x186a0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-print.at:2297"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_226
#AT_START_227
at_fn_group_banner 227 'ofp-util.at:3' \
  "encoding hellos" "                                " 14
at_xfail=no
(
  $as_echo "227. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/ofp-util.at:5: ovs-ofctl encode-hello 0x2"
at_fn_check_prepare_trace "ofp-util.at:5"
( $at_check_trace; ovs-ofctl encode-hello 0x2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000000  01 00 00 08 00 00 00 01-
OFPT_HELLO (xid=0x1):
 version bitmap: 0x01
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-util.at:5"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-util.at:10: ovs-ofctl encode-hello 0x6"
at_fn_check_prepare_trace "ofp-util.at:10"
( $at_check_trace; ovs-ofctl encode-hello 0x6
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000000  02 00 00 08 00 00 00 01-
OFPT_HELLO (OF1.1) (xid=0x1):
 version bitmap: 0x01, 0x02
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-util.at:10"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-util.at:15: ovs-ofctl encode-hello 0xe"
at_fn_check_prepare_trace "ofp-util.at:15"
( $at_check_trace; ovs-ofctl encode-hello 0xe
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000000  03 00 00 08 00 00 00 01-
OFPT_HELLO (OF1.2) (xid=0x1):
 version bitmap: 0x01, 0x02, 0x03
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-util.at:15"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-util.at:20: ovs-ofctl encode-hello 0x1e"
at_fn_check_prepare_trace "ofp-util.at:20"
( $at_check_trace; ovs-ofctl encode-hello 0x1e
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000000  04 00 00 08 00 00 00 01-
OFPT_HELLO (OF1.3) (xid=0x1):
 version bitmap: 0x01, 0x02, 0x03, 0x04
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-util.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-util.at:25: ovs-ofctl encode-hello 0x3e"
at_fn_check_prepare_trace "ofp-util.at:25"
( $at_check_trace; ovs-ofctl encode-hello 0x3e
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000000  05 00 00 08 00 00 00 01-
OFPT_HELLO (OF 0x05) (xid=0x1):
 version bitmap: 0x01, 0x02, 0x03, 0x04, 0x05
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-util.at:25"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofp-util.at:32: ovs-ofctl encode-hello 0xc"
at_fn_check_prepare_trace "ofp-util.at:32"
( $at_check_trace; ovs-ofctl encode-hello 0xc
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000000  03 00 00 10 00 00 00 01-00 01 00 08 00 00 00 0c 
OFPT_HELLO (OF1.2) (xid=0x1):
 version bitmap: 0x02, 0x03
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-util.at:32"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-util.at:37: ovs-ofctl encode-hello 0xa"
at_fn_check_prepare_trace "ofp-util.at:37"
( $at_check_trace; ovs-ofctl encode-hello 0xa
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000000  03 00 00 10 00 00 00 01-00 01 00 08 00 00 00 0a 
OFPT_HELLO (OF1.2) (xid=0x1):
 version bitmap: 0x01, 0x03
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-util.at:37"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-util.at:42: ovs-ofctl encode-hello 0x8"
at_fn_check_prepare_trace "ofp-util.at:42"
( $at_check_trace; ovs-ofctl encode-hello 0x8
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000000  03 00 00 10 00 00 00 01-00 01 00 08 00 00 00 08 
OFPT_HELLO (OF1.2) (xid=0x1):
 version bitmap: 0x03
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-util.at:42"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-util.at:47: ovs-ofctl encode-hello 0x4"
at_fn_check_prepare_trace "ofp-util.at:47"
( $at_check_trace; ovs-ofctl encode-hello 0x4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000000  02 00 00 10 00 00 00 01-00 01 00 08 00 00 00 04 
OFPT_HELLO (OF1.1) (xid=0x1):
 version bitmap: 0x02
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-util.at:47"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_227
#AT_START_228
at_fn_group_banner 228 'ofp-errors.at:3' \
  "OFPT_ERROR with type OFPET_HELLO_FAILED - OF1.0" "" 15
at_xfail=no
(
  $as_echo "228. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-errors.at:5: ovs-ofctl ofp-print 010100170000000000000001657874726120646174610a"
at_fn_check_prepare_trace "ofp-errors.at:5"
( $at_check_trace; ovs-ofctl ofp-print 010100170000000000000001657874726120646174610a
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (xid=0x0): OFPHFC_EPERM
extra data\\012
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:5"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_228
#AT_START_229
at_fn_group_banner 229 'ofp-errors.at:11' \
  "OFPT_ERROR with type OFPET_HELLO_FAILED - OF1.1" "" 15
at_xfail=no
(
  $as_echo "229. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-errors.at:13: ovs-ofctl ofp-print 020100170000000000000001657874726120646174610a"
at_fn_check_prepare_trace "ofp-errors.at:13"
( $at_check_trace; ovs-ofctl ofp-print 020100170000000000000001657874726120646174610a
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (OF1.1) (xid=0x0): OFPHFC_EPERM
extra data\\012
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:13"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_229
#AT_START_230
at_fn_group_banner 230 'ofp-errors.at:19' \
  "OFPT_ERROR with type OFPET_BAD_REQUEST - OF1.0" " " 15
at_xfail=no
(
  $as_echo "230. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-errors.at:21: ovs-ofctl ofp-print 0101001400000000000100060105ccddeeff0011"
at_fn_check_prepare_trace "ofp-errors.at:21"
( $at_check_trace; ovs-ofctl ofp-print 0101001400000000000100060105ccddeeff0011
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (xid=0x0): OFPBRC_BAD_LEN
OFPT_FEATURES_REQUEST (xid=0xeeff0011):
(***truncated to 8 bytes from 52445***)
00000000  01 05 cc dd ee ff 00 11-                        |........        |
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:21"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_230
#AT_START_231
at_fn_group_banner 231 'ofp-errors.at:29' \
  "OFPT_ERROR prints type of truncated inner messages" "" 15
at_xfail=no
(
  $as_echo "231. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-errors.at:31: ovs-ofctl ofp-print \"0101004c092529d500010006 \\
01 06 00 e0 00 00 00 01 00 00 50 54 00 00 00 01 \\
00 00 01 00 02 00 00 00 00 00 00 87 00 00 0f ff \\
ff fe 50 54 00 00 00 01 62 72 30 00 00 00 00 00 \\
00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01\""
at_fn_check_prepare_notrace 'an embedded newline' "ofp-errors.at:31"
( $at_check_trace; ovs-ofctl ofp-print "0101004c092529d500010006 \
01 06 00 e0 00 00 00 01 00 00 50 54 00 00 00 01 \
00 00 01 00 02 00 00 00 00 00 00 87 00 00 0f ff \
ff fe 50 54 00 00 00 01 62 72 30 00 00 00 00 00 \
00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (xid=0x92529d5): OFPBRC_BAD_LEN
OFPT_FEATURES_REPLY (xid=0x1):
(***truncated to 64 bytes from 224***)
00000000  01 06 00 e0 00 00 00 01-00 00 50 54 00 00 00 01 |..........PT....|
00000010  00 00 01 00 02 00 00 00-00 00 00 87 00 00 0f ff |................|
00000020  ff fe 50 54 00 00 00 01-62 72 30 00 00 00 00 00 |..PT....br0.....|
00000030  00 00 00 00 00 00 00 00-00 00 00 01 00 00 00 01 |................|
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:31"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_231
#AT_START_232
at_fn_group_banner 232 'ofp-errors.at:46' \
  "OFPT_ERROR with code OFPBMC_BAD_PREREQ - OF1.0" " " 15
at_xfail=no
(
  $as_echo "232. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-errors.at:48: ovs-ofctl ofp-print '0101001c55555555 b0c20000 0000232000010104 0102000811111111'"
at_fn_check_prepare_trace "ofp-errors.at:48"
( $at_check_trace; ovs-ofctl ofp-print '0101001c55555555 b0c20000 0000232000010104 0102000811111111'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (xid=0x55555555): OFPBMC_BAD_PREREQ
OFPT_ECHO_REQUEST (xid=0x11111111): 0 bytes of payload
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:48"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_232
#AT_START_233
at_fn_group_banner 233 'ofp-errors.at:54' \
  "OFPT_ERROR with code OFPBMC_BAD_PREREQ - OF1.1" " " 15
at_xfail=no
(
  $as_echo "233. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-errors.at:56: ovs-ofctl ofp-print '0201001c55555555 b0c20000 0000232000010104 0102000811111111'"
at_fn_check_prepare_trace "ofp-errors.at:56"
( $at_check_trace; ovs-ofctl ofp-print '0201001c55555555 b0c20000 0000232000010104 0102000811111111'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (OF1.1) (xid=0x55555555): OFPBMC_BAD_PREREQ
OFPT_ECHO_REQUEST (xid=0x11111111): 0 bytes of payload
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:56"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_233
#AT_START_234
at_fn_group_banner 234 'ofp-errors.at:64' \
  "OFPT_ERROR with type OFPFMFC_OVERLAP - OF1.0" "   " 15
at_xfail=no
(
  $as_echo "234. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-errors.at:66: ovs-ofctl ofp-print 0101001400000000000300010106ccddeeff0011"
at_fn_check_prepare_trace "ofp-errors.at:66"
( $at_check_trace; ovs-ofctl ofp-print 0101001400000000000300010106ccddeeff0011
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (xid=0x0): OFPFMFC_OVERLAP
OFPT_FEATURES_REPLY (xid=0xeeff0011):
(***truncated to 8 bytes from 52445***)
00000000  01 06 cc dd ee ff 00 11-                        |........        |
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:66"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_234
#AT_START_235
at_fn_group_banner 235 'ofp-errors.at:73' \
  "OFPT_ERROR with type OFPBIC_UNSUP_INST - OF1.1" " " 15
at_xfail=no
(
  $as_echo "235. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-errors.at:75: ovs-ofctl ofp-print 0201001400000000000300010206ccddeeff0011"
at_fn_check_prepare_trace "ofp-errors.at:75"
( $at_check_trace; ovs-ofctl ofp-print 0201001400000000000300010206ccddeeff0011
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (OF1.1) (xid=0x0): OFPBIC_UNSUP_INST
OFPT_FEATURES_REPLY (OF1.1) (xid=0xeeff0011):
(***truncated to 8 bytes from 52445***)
00000000  02 06 cc dd ee ff 00 11-                        |........        |
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:75"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_235
#AT_START_236
at_fn_group_banner 236 'ofp-errors.at:87' \
  "encoding OFPBIC_* experimenter errors" "          " 15
at_xfail=no
(
  $as_echo "236. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-errors.at:89: ovs-ofctl print-error OFPBIC_BAD_EXPERIMENTER"
at_fn_check_prepare_trace "ofp-errors.at:89"
( $at_check_trace; ovs-ofctl print-error OFPBIC_BAD_EXPERIMENTER
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OpenFlow 1.1: vendor 0, type 3, code 5
OpenFlow 1.2: vendor 0, type 3, code 5
OpenFlow 1.3: vendor 0, type 3, code 5
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:89"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-errors.at:94: ovs-ofctl print-error OFPBIC_BAD_EXP_TYPE"
at_fn_check_prepare_trace "ofp-errors.at:94"
( $at_check_trace; ovs-ofctl print-error OFPBIC_BAD_EXP_TYPE
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OpenFlow 1.1: vendor 0, type 3, code 5
OpenFlow 1.2: vendor 0, type 3, code 6
OpenFlow 1.3: vendor 0, type 3, code 6
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:94"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_236
#AT_START_237
at_fn_group_banner 237 'ofp-errors.at:103' \
  "encoding errors extension that became official" " " 15
at_xfail=no
(
  $as_echo "237. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-errors.at:105: ovs-ofctl encode-error-reply OFPRRFC_BAD_ROLE 0100000812345678"
at_fn_check_prepare_trace "ofp-errors.at:105"
( $at_check_trace; ovs-ofctl encode-error-reply OFPRRFC_BAD_ROLE 0100000812345678
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000000  01 01 00 1c 12 34 56 78-b0 c2 00 00 00 00 23 20 
00000010  00 01 02 01 01 00 00 08-12 34 56 78 
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:105"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-errors.at:110: ovs-ofctl encode-error-reply OFPRRFC_BAD_ROLE 0200000812345678"
at_fn_check_prepare_trace "ofp-errors.at:110"
( $at_check_trace; ovs-ofctl encode-error-reply OFPRRFC_BAD_ROLE 0200000812345678
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000000  02 01 00 1c 12 34 56 78-b0 c2 00 00 00 00 23 20 
00000010  00 01 02 01 02 00 00 08-12 34 56 78 
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:110"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-errors.at:115: ovs-ofctl encode-error-reply OFPRRFC_BAD_ROLE 0300000812345678"
at_fn_check_prepare_trace "ofp-errors.at:115"
( $at_check_trace; ovs-ofctl encode-error-reply OFPRRFC_BAD_ROLE 0300000812345678
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000000  03 01 00 14 12 34 56 78-00 0b 00 02 03 00 00 08 
00000010  12 34 56 78 
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:115"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_237
#AT_START_238
at_fn_group_banner 238 'ofp-errors.at:122' \
  "decoding OFPBIC_* experimenter errors" "          " 15
at_xfail=no
(
  $as_echo "238. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-errors.at:124: ovs-ofctl ofp-print '0201001455555555 00030005 0102000811111111'"
at_fn_check_prepare_trace "ofp-errors.at:124"
( $at_check_trace; ovs-ofctl ofp-print '0201001455555555 00030005 0102000811111111'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (OF1.1) (xid=0x55555555): OFPBIC_BAD_EXPERIMENTER
OFPT_ECHO_REQUEST (xid=0x11111111): 0 bytes of payload
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:124"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-errors.at:128: ovs-ofctl ofp-print '0301001455555555 00030005 0102000811111111'"
at_fn_check_prepare_trace "ofp-errors.at:128"
( $at_check_trace; ovs-ofctl ofp-print '0301001455555555 00030005 0102000811111111'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (OF1.2) (xid=0x55555555): OFPBIC_BAD_EXPERIMENTER
OFPT_ECHO_REQUEST (xid=0x11111111): 0 bytes of payload
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:128"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-errors.at:132: ovs-ofctl ofp-print '0301001455555555 00030006 0102000811111111'"
at_fn_check_prepare_trace "ofp-errors.at:132"
( $at_check_trace; ovs-ofctl ofp-print '0301001455555555 00030006 0102000811111111'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (OF1.2) (xid=0x55555555): OFPBIC_BAD_EXP_TYPE
OFPT_ECHO_REQUEST (xid=0x11111111): 0 bytes of payload
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:132"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_238
#AT_START_239
at_fn_group_banner 239 'ofp-errors.at:138' \
  "decoding experimenter errors" "                   " 15
at_xfail=no
(
  $as_echo "239. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-errors.at:140: ovs-ofctl ofp-print '0101001c55555555 b0c20000 0000232000010203 0102000811111111'"
at_fn_check_prepare_trace "ofp-errors.at:140"
( $at_check_trace; ovs-ofctl ofp-print '0101001c55555555 b0c20000 0000232000010203 0102000811111111'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (xid=0x55555555): NXBRC_MUST_BE_ZERO
OFPT_ECHO_REQUEST (xid=0x11111111): 0 bytes of payload
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:140"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-errors.at:144: ovs-ofctl ofp-print '0201001c55555555 b0c20000 0000232000010203 0102000811111111'"
at_fn_check_prepare_trace "ofp-errors.at:144"
( $at_check_trace; ovs-ofctl ofp-print '0201001c55555555 b0c20000 0000232000010203 0102000811111111'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (OF1.1) (xid=0x55555555): NXBRC_MUST_BE_ZERO
OFPT_ECHO_REQUEST (xid=0x11111111): 0 bytes of payload
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:144"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-errors.at:148: ovs-ofctl ofp-print '0301001855555555 ffff0004 00002320 0102000811111111'"
at_fn_check_prepare_trace "ofp-errors.at:148"
( $at_check_trace; ovs-ofctl ofp-print '0301001855555555 ffff0004 00002320 0102000811111111'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (OF1.2) (xid=0x55555555): NXBRC_MUST_BE_ZERO
OFPT_ECHO_REQUEST (xid=0x11111111): 0 bytes of payload
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:148"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_239
#AT_START_240
at_fn_group_banner 240 'ofp-errors.at:154' \
  "encoding experimenter errors" "                   " 15
at_xfail=no
(
  $as_echo "240. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ofp-errors.at:156: ovs-ofctl encode-error-reply NXBRC_MUST_BE_ZERO 0100000812345678"
at_fn_check_prepare_trace "ofp-errors.at:156"
( $at_check_trace; ovs-ofctl encode-error-reply NXBRC_MUST_BE_ZERO 0100000812345678
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000000  01 01 00 1c 12 34 56 78-b0 c2 00 00 00 00 23 20 
00000010  00 01 02 03 01 00 00 08-12 34 56 78 
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:156"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-errors.at:161: ovs-ofctl encode-error-reply NXBRC_MUST_BE_ZERO 0200000812345678"
at_fn_check_prepare_trace "ofp-errors.at:161"
( $at_check_trace; ovs-ofctl encode-error-reply NXBRC_MUST_BE_ZERO 0200000812345678
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000000  02 01 00 1c 12 34 56 78-b0 c2 00 00 00 00 23 20 
00000010  00 01 02 03 02 00 00 08-12 34 56 78 
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:161"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofp-errors.at:166: ovs-ofctl encode-error-reply NXBRC_MUST_BE_ZERO 0300000812345678"
at_fn_check_prepare_trace "ofp-errors.at:166"
( $at_check_trace; ovs-ofctl encode-error-reply NXBRC_MUST_BE_ZERO 0300000812345678
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00000000  03 01 00 18 12 34 56 78-ff ff 00 04 00 00 23 20 
00000010  03 00 00 08 12 34 56 78-
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofp-errors.at:166"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_240
#AT_START_241
at_fn_group_banner 241 'ovs-ofctl.at:3' \
  "ovs-ofctl parse-flows choice of protocol" "       " 16
at_xfail=no
(
  $as_echo "241. $at_setup_line: testing $at_desc ..."
  $at_traceon

# This doesn't cover some potential vlan_tci test cases.
for test_case in \
    'tun_id=0                                    NXM,OXM' \
    'tun_src=1.2.3.4                             NXM,OXM' \
    'tun_dst=1.2.3.4                             NXM,OXM' \
    'tun_flags=0                                 none' \
    'tun_tos=0                                   none' \
    'tun_ttl=0                                   none' \
    'metadata=0                                  NXM,OXM,OpenFlow11' \
    'in_port=1                                   any' \
    'skb_priority=0                              none' \
    'pkt_mark=1                                  NXM,OXM' \
    'reg0=0                                      NXM,OXM' \
    'reg1=1                                      NXM,OXM' \
    'reg2=2                                      NXM,OXM' \
    'reg3=3                                      NXM,OXM' \
    'reg4=4                                      NXM,OXM' \
    'reg5=5                                      NXM,OXM' \
    'reg6=6                                      NXM,OXM' \
    'reg7=7                                      NXM,OXM' \
    'dl_src=00:11:22:33:44:55                    any' \
    'dl_src=00:11:22:33:44:55/00:ff:ff:ff:ff:ff  NXM,OXM,OpenFlow11' \
    'dl_dst=00:11:22:33:44:55                    any' \
    'dl_dst=00:11:22:33:44:55/00:ff:ff:ff:ff:ff  NXM,OXM,OpenFlow11' \
    'dl_type=0x1234                              any' \
    'dl_type=0x0800                              any' \
    'dl_type=0x0806                              any' \
    'dl_type=0x86dd                              any' \
    'vlan_tci=0                                  any' \
    'vlan_tci=0x1009                             any' \
    'dl_vlan=9                                   any' \
    'vlan_vid=11                                 any' \
    'dl_vlan_pcp=6                               any' \
    'vlan_pcp=5                                  any' \
    'mpls,mpls_label=5                           NXM,OXM,OpenFlow11' \
    'mpls,mpls_tc=1                              NXM,OXM,OpenFlow11' \
    'mpls,mpls_bos=0                             NXM,OXM' \
    'ip,ip_src=1.2.3.4                           any' \
    'ip,ip_src=192.168.0.0/24                    any' \
    'ip,ip_src=192.0.168.0/255.0.255.0           NXM,OXM,OpenFlow11' \
    'ip,ip_dst=1.2.3.4                           any' \
    'ip,ip_dst=192.168.0.0/24                    any' \
    'ip,ip_dst=192.0.168.0/255.0.255.0           NXM,OXM,OpenFlow11' \
    'ipv6,ipv6_src=::1                           NXM,OXM' \
    'ipv6,ipv6_dst=::1                           NXM,OXM' \
    'ipv6,ipv6_label=5                           NXM,OXM' \
    'ip,nw_proto=1                               any' \
    'ipv6,nw_proto=1                             NXM,OXM' \
    'ip,nw_tos=0xf0                              any' \
    'ipv6,nw_tos=0xf0                            NXM,OXM' \
    'ip,nw_tos_shifted=0x3c                      any' \
    'ipv6,nw_tos_shifted=0x3c                    NXM,OXM' \
    'ip,nw_ecn=1                                 NXM,OXM' \
    'ipv6,nw_ecn=1                               NXM,OXM' \
    'ip,nw_ttl=5                                 NXM,OXM' \
    'ipv6,nw_ttl=5                               NXM,OXM' \
    'ip,ip_frag=no                               NXM,OXM' \
    'ipv6,ip_frag=no                             NXM,OXM' \
    'arp,arp_op=0                                any' \
    'arp,arp_spa=1.2.3.4                         any' \
    'arp,arp_tpa=1.2.3.4                         any' \
    'arp,arp_sha=00:11:22:33:44:55               NXM,OXM' \
    'arp,arp_tha=00:11:22:33:44:55               NXM,OXM' \
    'tcp,tcp_src=80                              any' \
    'tcp,tcp_src=0x1000/0x1000                   NXM,OXM' \
    'tcp6,tcp_src=80                             NXM,OXM' \
    'tcp6,tcp_src=0x1000/0x1000                  NXM,OXM' \
    'tcp,tcp_dst=80                              any' \
    'tcp,tcp_dst=0x1000/0x1000                   NXM,OXM' \
    'tcp6,tcp_dst=80                             NXM,OXM' \
    'tcp6,tcp_dst=0x1000/0x1000                  NXM,OXM' \
    'udp,udp_src=80                              any' \
    'udp,udp_src=0x1000/0x1000                   NXM,OXM' \
    'udp6,udp_src=80                             NXM,OXM' \
    'udp6,udp_src=0x1000/0x1000                  NXM,OXM' \
    'udp,udp_dst=80                              any' \
    'udp,udp_dst=0x1000/0x1000                   NXM,OXM' \
    'udp6,udp_dst=80                             NXM,OXM' \
    'udp6,udp_dst=0x1000/0x1000                  NXM,OXM' \
    'icmp,icmp_type=1                            any' \
    'icmp,icmp_type=1                            any' \
    'icmp6,icmpv6_type=1                         NXM,OXM' \
    'icmp6,icmpv6_code=2                         NXM,OXM'
do
    set $test_case
    echo
    echo "### test case: '$1' should have usable protocols '$2'"
    if test "$2" = none; then
      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:92: ovs-ofctl parse-flow \"\$1,actions=drop\""
at_fn_check_prepare_dynamic "ovs-ofctl parse-flow \"$1,actions=drop\"" "ovs-ofctl.at:92"
( $at_check_trace; ovs-ofctl parse-flow "$1,actions=drop"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: no usable protocol
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "usable protocols: none
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-ofctl.at:92"
$at_failed && at_fn_log_failure
$at_traceon; }

    else
      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:98: ovs-ofctl parse-flow \"\$1,actions=drop\" | sed 1q"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:98"
( $at_check_trace; ovs-ofctl parse-flow "$1,actions=drop" | sed 1q
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "usable protocols: $2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:98"
$at_failed && at_fn_log_failure
$at_traceon; }

    fi
done
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_241
#AT_START_242
at_fn_group_banner 242 'ovs-ofctl.at:105' \
  "ovs-ofctl parse-flows (OpenFlow 1.0)" "           " 16
at_xfail=no
(
  $as_echo "242. $at_setup_line: testing $at_desc ..."
  $at_traceon

cat >flows.txt <<'_ATEOF'

# comment
tcp,tp_src=123,out_port=5,actions=flood
in_port=LOCAL dl_vlan=9 dl_src=00:0A:E4:25:6B:B0 actions=drop
udp dl_vlan_pcp=7 idle_timeout=5 actions=strip_vlan output:0
tcp,nw_src=192.168.0.3,tp_dst=80 actions=set_queue:37,output:1
udp,nw_src=192.168.0.3,tp_dst=53 actions=pop_queue,output:1
cookie=0x123456789abcdef hard_timeout=10 priority=60000 actions=controller
actions=note:41.42.43,note:00.01.02.03.04.05.06.07,note
ip,actions=set_field:10.4.3.77->ip_src
sctp actions=drop
sctp actions=drop
in_port=0 actions=resubmit:0
actions=sample(probability=12345,collector_set_id=23456,obs_domain_id=34567,obs_point_id=45678)
_ATEOF


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:122: ovs-ofctl parse-flows flows.txt
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:122"
( $at_check_trace; ovs-ofctl parse-flows flows.txt

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:122"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:124: sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout"
at_fn_check_prepare_trace "ovs-ofctl.at:124"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "usable protocols: any
chosen protocol: OpenFlow10-table_id
OFPT_FLOW_MOD: ADD tcp,tp_src=123 out_port:5 actions=FLOOD
OFPT_FLOW_MOD: ADD in_port=LOCAL,dl_vlan=9,dl_src=00:0a:e4:25:6b:b0 actions=drop
OFPT_FLOW_MOD: ADD udp,dl_vlan_pcp=7 idle:5 actions=strip_vlan,output:0
OFPT_FLOW_MOD: ADD tcp,nw_src=192.168.0.3,tp_dst=80 actions=set_queue:37,output:1
OFPT_FLOW_MOD: ADD udp,nw_src=192.168.0.3,tp_dst=53 actions=pop_queue,output:1
OFPT_FLOW_MOD: ADD priority=60000 cookie:0x123456789abcdef hard:10 actions=CONTROLLER:65535
OFPT_FLOW_MOD: ADD actions=note:41.42.43.00.00.00,note:00.01.02.03.04.05.06.07.00.00.00.00.00.00,note:00.00.00.00.00.00
OFPT_FLOW_MOD: ADD ip actions=load:0xa04034d->NXM_OF_IP_SRC[]
OFPT_FLOW_MOD: ADD sctp actions=drop
OFPT_FLOW_MOD: ADD sctp actions=drop
OFPT_FLOW_MOD: ADD in_port=0 actions=resubmit:0
OFPT_FLOW_MOD: ADD actions=sample(probability=12345,collector_set_id=23456,obs_domain_id=34567,obs_point_id=45678)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:124"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_242
#AT_START_243
at_fn_group_banner 243 'ovs-ofctl.at:142' \
  "ovs-ofctl parse-flows (OpenFlow 1.2)" "           " 16
at_xfail=no
(
  $as_echo "243. $at_setup_line: testing $at_desc ..."
  $at_traceon

cat >flows.txt <<'_ATEOF'

# comment
tcp,tp_src=123,actions=flood
in_port=LOCAL dl_vlan=9 dl_src=00:0A:E4:25:6B:B0 actions=drop
udp dl_vlan_pcp=7 idle_timeout=5 actions=strip_vlan output:0
tcp,nw_src=192.168.0.3,tp_dst=80 actions=set_queue:37,output:1
udp,nw_src=192.168.0.3,tp_dst=53 actions=pop_queue,output:1
cookie=0x123456789abcdef hard_timeout=10 priority=60000 actions=controller
actions=note:41.42.43,note:00.01.02.03.04.05.06.07,note
ipv6,actions=set_field:fe80:0123:4567:890a:a6ba:dbff:fefe:59fa->ipv6_src
sctp actions=set_field:3334->sctp_src
sctp actions=set_field:4445->sctp_dst
in_port=0 actions=resubmit:0
actions=sample(probability=12345,collector_set_id=23456,obs_domain_id=34567,obs_point_id=45678)
_ATEOF


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:159: ovs-ofctl --protocols OpenFlow12 parse-flows flows.txt
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:159"
( $at_check_trace; ovs-ofctl --protocols OpenFlow12 parse-flows flows.txt

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:159"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:161: sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout"
at_fn_check_prepare_trace "ovs-ofctl.at:161"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "usable protocols: NXM,OXM
chosen protocol: OXM-OpenFlow12
OFPT_FLOW_MOD (OF1.2): ADD table:255 tcp,tp_src=123 actions=FLOOD
OFPT_FLOW_MOD (OF1.2): ADD table:255 in_port=LOCAL,dl_vlan=9,dl_src=00:0a:e4:25:6b:b0 actions=drop
OFPT_FLOW_MOD (OF1.2): ADD table:255 udp,dl_vlan_pcp=7 idle:5 actions=strip_vlan,output:0
OFPT_FLOW_MOD (OF1.2): ADD table:255 tcp,nw_src=192.168.0.3,tp_dst=80 actions=set_queue:37,output:1
OFPT_FLOW_MOD (OF1.2): ADD table:255 udp,nw_src=192.168.0.3,tp_dst=53 actions=pop_queue,output:1
OFPT_FLOW_MOD (OF1.2): ADD table:255 priority=60000 cookie:0x123456789abcdef hard:10 actions=CONTROLLER:65535
OFPT_FLOW_MOD (OF1.2): ADD table:255 actions=note:41.42.43.00.00.00,note:00.01.02.03.04.05.06.07.00.00.00.00.00.00,note:00.00.00.00.00.00
OFPT_FLOW_MOD (OF1.2): ADD table:255 ipv6 actions=set_field:fe80:123:4567:890a:a6ba:dbff:fefe:59fa->ipv6_src
OFPT_FLOW_MOD (OF1.2): ADD table:255 sctp actions=set_field:3334->sctp_src
OFPT_FLOW_MOD (OF1.2): ADD table:255 sctp actions=set_field:4445->sctp_dst
OFPT_FLOW_MOD (OF1.2): ADD table:255 in_port=0 actions=resubmit:0
OFPT_FLOW_MOD (OF1.2): ADD table:255 actions=sample(probability=12345,collector_set_id=23456,obs_domain_id=34567,obs_point_id=45678)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:161"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_243
#AT_START_244
at_fn_group_banner 244 'ovs-ofctl.at:179' \
  "ovs-ofctl parse-flows (With Tunnel-Parameters)" " " 16
at_xfail=no
(
  $as_echo "244. $at_setup_line: testing $at_desc ..."
  $at_traceon

cat >flows.txt <<'_ATEOF'

tun_id=0x1234000056780000/0xffff0000ffff0000,tun_src=1.1.1.1,tun_dst=2.2.2.2,tun_tos=0x3,tun_ttl=20,tun_flags=key|csum actions=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:184: ovs-ofctl parse-flows flows.txt
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:184"
( $at_check_trace; ovs-ofctl parse-flows flows.txt

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "usable protocols: none
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-ofctl.at:184"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_244
#AT_START_245
at_fn_group_banner 245 'ovs-ofctl.at:191' \
  "ovs-ofctl parse-flows (skb_priority)" "           " 16
at_xfail=no
(
  $as_echo "245. $at_setup_line: testing $at_desc ..."
  $at_traceon

cat >flows.txt <<'_ATEOF'

skb_priority=0x12341234,tcp,tp_src=123,actions=flood
_ATEOF


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:196: ovs-ofctl parse-flows flows.txt
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:196"
( $at_check_trace; ovs-ofctl parse-flows flows.txt

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "usable protocols: none
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-ofctl.at:196"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_245
#AT_START_246
at_fn_group_banner 246 'ovs-ofctl.at:203' \
  "ovs-ofctl parse-flows (NXM)" "                    " 16
at_xfail=no
(
  $as_echo "246. $at_setup_line: testing $at_desc ..."
  $at_traceon

cat >flows.txt <<'_ATEOF'

# comment
tcp,tp_src=123,actions=flood
in_port=LOCAL dl_vlan=9 dl_src=00:0A:E4:25:6B:B0 actions=drop
pkt_mark=0xbb,actions=set_field:0xaa->pkt_mark
udp dl_vlan_pcp=7 idle_timeout=5 actions=strip_vlan output:0
tcp,nw_src=192.168.0.3,tp_dst=80 actions=set_queue:37,output:1
udp,nw_src=192.168.0.3,tp_dst=53 actions=pop_queue,output:1
cookie=0x123456789abcdef hard_timeout=10 priority=60000 actions=controller
actions=note:41.42.43,note:00.01.02.03.04.05.06.07,note
tcp,tp_src=0x1230/0xfff0,tun_id=0x1234,cookie=0x5678,actions=flood
actions=set_tunnel:0x1234,set_tunnel64:0x9876,set_tunnel:0x123456789
actions=multipath(eth_src, 50, hrw, 12, 0, NXM_NX_REG0[0..3]),multipath(symmetric_l4, 1024, iter_hash, 5000, 5050, NXM_NX_REG0[0..12])
table=1,actions=drop
tun_id=0x1234000056780000/0xffff0000ffff0000,actions=drop
metadata=0x1234ffff5678ffff/0xffff0000ffff0000,actions=drop
actions=bundle(eth_src,50,active_backup,ofport,slaves:1)
actions=bundle(symmetric_l4,60,hrw,ofport,slaves:2,3)
actions=bundle(symmetric_l4,60,hrw,ofport,slaves:)
actions=output:1,bundle(eth_src,0,hrw,ofport,slaves:1),output:2
actions=bundle_load(eth_src,50,active_backup,ofport,NXM_NX_REG0[],slaves:1)
actions=bundle_load(symmetric_l4,60,hrw,ofport,NXM_NX_REG0[0..15],slaves:2,3)
actions=bundle_load(symmetric_l4,60,hrw,ofport,NXM_NX_REG0[0..15],slaves:[2,3])
actions=bundle_load(symmetric_l4,60,hrw,ofport,NXM_NX_REG0[0..30],slaves:)
actions=output:1,bundle_load(eth_src,0,hrw,ofport,NXM_NX_REG0[16..31],slaves:1),output:2
actions=resubmit:1,resubmit(2),resubmit(,3),resubmit(2,3)
send_flow_rem,actions=output:1,output:NXM_NX_REG0[],output:2,output:NXM_NX_REG1[16..31],output:3
check_overlap,actions=output:1,exit,output:2
actions=fin_timeout(idle_timeout=5,hard_timeout=15)
actions=controller(max_len=123,reason=invalid_ttl,id=555)
actions=sample(probability=12345,collector_set_id=23456,obs_domain_id=34567,obs_point_id=45678)
_ATEOF


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:237: ovs-ofctl parse-flows flows.txt
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:237"
( $at_check_trace; ovs-ofctl parse-flows flows.txt

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:237"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:239: sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout"
at_fn_check_prepare_trace "ovs-ofctl.at:239"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "usable protocols: OXM,NXM+table_id
chosen protocol: NXM+table_id
NXT_FLOW_MOD: ADD table:255 tcp,tp_src=123 actions=FLOOD
NXT_FLOW_MOD: ADD table:255 in_port=LOCAL,dl_vlan=9,dl_src=00:0a:e4:25:6b:b0 actions=drop
NXT_FLOW_MOD: ADD table:255 pkt_mark=0xbb actions=load:0xaa->NXM_NX_PKT_MARK[]
NXT_FLOW_MOD: ADD table:255 udp,dl_vlan_pcp=7 idle:5 actions=strip_vlan,output:0
NXT_FLOW_MOD: ADD table:255 tcp,nw_src=192.168.0.3,tp_dst=80 actions=set_queue:37,output:1
NXT_FLOW_MOD: ADD table:255 udp,nw_src=192.168.0.3,tp_dst=53 actions=pop_queue,output:1
NXT_FLOW_MOD: ADD table:255 priority=60000 cookie:0x123456789abcdef hard:10 actions=CONTROLLER:65535
NXT_FLOW_MOD: ADD table:255 actions=note:41.42.43.00.00.00,note:00.01.02.03.04.05.06.07.00.00.00.00.00.00,note:00.00.00.00.00.00
NXT_FLOW_MOD: ADD table:255 tcp,tun_id=0x1234,tp_src=0x1230/0xfff0 cookie:0x5678 actions=FLOOD
NXT_FLOW_MOD: ADD table:255 actions=set_tunnel:0x1234,set_tunnel64:0x9876,set_tunnel64:0x123456789
NXT_FLOW_MOD: ADD table:255 actions=multipath(eth_src,50,hrw,12,0,NXM_NX_REG0[0..3]),multipath(symmetric_l4,1024,iter_hash,5000,5050,NXM_NX_REG0[0..12])
NXT_FLOW_MOD: ADD table:1 actions=drop
NXT_FLOW_MOD: ADD table:255 tun_id=0x1234000056780000/0xffff0000ffff0000 actions=drop
NXT_FLOW_MOD: ADD table:255 metadata=0x1234000056780000/0xffff0000ffff0000 actions=drop
NXT_FLOW_MOD: ADD table:255 actions=bundle(eth_src,50,active_backup,ofport,slaves:1)
NXT_FLOW_MOD: ADD table:255 actions=bundle(symmetric_l4,60,hrw,ofport,slaves:2,3)
NXT_FLOW_MOD: ADD table:255 actions=bundle(symmetric_l4,60,hrw,ofport,slaves:)
NXT_FLOW_MOD: ADD table:255 actions=output:1,bundle(eth_src,0,hrw,ofport,slaves:1),output:2
NXT_FLOW_MOD: ADD table:255 actions=bundle_load(eth_src,50,active_backup,ofport,NXM_NX_REG0[],slaves:1)
NXT_FLOW_MOD: ADD table:255 actions=bundle_load(symmetric_l4,60,hrw,ofport,NXM_NX_REG0[0..15],slaves:2,3)
NXT_FLOW_MOD: ADD table:255 actions=bundle_load(symmetric_l4,60,hrw,ofport,NXM_NX_REG0[0..15],slaves:2,3)
NXT_FLOW_MOD: ADD table:255 actions=bundle_load(symmetric_l4,60,hrw,ofport,NXM_NX_REG0[0..30],slaves:)
NXT_FLOW_MOD: ADD table:255 actions=output:1,bundle_load(eth_src,0,hrw,ofport,NXM_NX_REG0[16..31],slaves:1),output:2
NXT_FLOW_MOD: ADD table:255 actions=resubmit:1,resubmit:2,resubmit(,3),resubmit(2,3)
NXT_FLOW_MOD: ADD table:255 send_flow_rem actions=output:1,output:NXM_NX_REG0[],output:2,output:NXM_NX_REG1[16..31],output:3
NXT_FLOW_MOD: ADD table:255 check_overlap actions=output:1,exit,output:2
NXT_FLOW_MOD: ADD table:255 actions=fin_timeout(idle_timeout=5,hard_timeout=15)
NXT_FLOW_MOD: ADD table:255 actions=controller(reason=invalid_ttl,max_len=123,id=555)
NXT_FLOW_MOD: ADD table:255 actions=sample(probability=12345,collector_set_id=23456,obs_domain_id=34567,obs_point_id=45678)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:239"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_246
#AT_START_247
at_fn_group_banner 247 'ovs-ofctl.at:274' \
  "ovs-ofctl -F nxm parse-flows" "                   " 16
at_xfail=no
(
  $as_echo "247. $at_setup_line: testing $at_desc ..."
  $at_traceon

cat >flows.txt <<'_ATEOF'

# comment
tcp,tp_src=123,actions=flood
in_port=LOCAL dl_vlan=9 dl_src=00:0A:E4:25:6B:B0 actions=drop
arp,dl_src=00:0A:E4:25:6B:B0,arp_sha=00:0A:E4:25:6B:B0 actions=drop
ipv6,ipv6_label=0x12345 actions=2
ipv6,ipv6_src=2001:db8:3c4d:1:2:3:4:5 actions=3
ipv6,ipv6_src=2001:db8:3c4d:1:2:3:4:5/64 actions=4
ipv6,ipv6_dst=2001:db8:3c4d:1:2:3:4:5/127 actions=5
tcp6,ipv6_src=2001:db8:3c4d:1::1,tp_dst=80 actions=drop
udp6,ipv6_src=2001:db8:3c4d:1::3,tp_dst=53 actions=drop
in_port=3 icmp6,ipv6_src=2001:db8:3c4d:1::1,icmp_type=134 actions=drop
udp dl_vlan_pcp=7 idle_timeout=5 actions=strip_vlan output:0
tcp,nw_src=192.168.0.3,tp_dst=80 actions=set_queue:37,output:1
udp,nw_src=192.168.0.3,tp_dst=53 actions=pop_queue,output:1
icmp6,icmp_type=135,nd_target=FEC0::1234:F045:8FFF:1111:FE4E:0571 actions=drop
icmp6,icmp_type=135,nd_target=FEC0::1234:F045:8FFF:1111:FE4F:0571/112 actions=drop
icmp6,icmp_type=135,nd_sll=00:0A:E4:25:6B:B0 actions=drop
icmp6,icmp_type=136,nd_target=FEC0::1234:F045:8FFF:1111:FE4E:0571,nd_tll=00:0A:E4:25:6B:B1 actions=drop
icmp6,icmp_type=136,nd_target=FEC0::1234:F045:8FFF:1111:FE00:0000/96,nd_tll=00:0A:E4:25:6B:B1 actions=drop
cookie=0x123456789abcdef hard_timeout=10 priority=60000 actions=controller
actions=note:41.42.43,note:00.01.02.03.04.05.06.07,note
tun_id=0x1234,cookie=0x5678,actions=flood
actions=drop
tun_id=0x1234000056780000/0xffff0000ffff0000,actions=drop
dl_dst=01:00:00:00:00:00/01:00:00:00:00:00,actions=drop
dl_dst=00:00:00:00:00:00/01:00:00:00:00:00,actions=drop
dl_dst=aa:bb:cc:dd:ee:ff/fe:ff:ff:ff:ff:ff,actions=drop
dl_dst=aa:bb:cc:dd:ee:ff/00:00:00:00:00:00,actions=drop
actions=sample(probability=12345,collector_set_id=23456,obs_domain_id=34567,obs_point_id=45678)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:306: ovs-ofctl -F nxm parse-flows flows.txt"
at_fn_check_prepare_trace "ovs-ofctl.at:306"
( $at_check_trace; ovs-ofctl -F nxm parse-flows flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:306"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:307: sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout"
at_fn_check_prepare_trace "ovs-ofctl.at:307"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "usable protocols: NXM,OXM
chosen protocol: NXM-table_id
NXT_FLOW_MOD: ADD tcp,tp_src=123 actions=FLOOD
NXT_FLOW_MOD: ADD in_port=LOCAL,dl_vlan=9,dl_src=00:0a:e4:25:6b:b0 actions=drop
NXT_FLOW_MOD: ADD arp,dl_src=00:0a:e4:25:6b:b0,arp_sha=00:0a:e4:25:6b:b0 actions=drop
NXT_FLOW_MOD: ADD ipv6,ipv6_label=0x12345 actions=output:2
NXT_FLOW_MOD: ADD ipv6,ipv6_src=2001:db8:3c4d:1:2:3:4:5 actions=output:3
NXT_FLOW_MOD: ADD ipv6,ipv6_src=2001:db8:3c4d:1::/64 actions=output:4
NXT_FLOW_MOD: ADD ipv6,ipv6_dst=2001:db8:3c4d:1:2:3:4:4/127 actions=output:5
NXT_FLOW_MOD: ADD tcp6,ipv6_src=2001:db8:3c4d:1::1,tp_dst=80 actions=drop
NXT_FLOW_MOD: ADD udp6,ipv6_src=2001:db8:3c4d:1::3,tp_dst=53 actions=drop
NXT_FLOW_MOD: ADD icmp6,in_port=3,ipv6_src=2001:db8:3c4d:1::1,icmp_type=134 actions=drop
NXT_FLOW_MOD: ADD udp,dl_vlan_pcp=7 idle:5 actions=strip_vlan,output:0
NXT_FLOW_MOD: ADD tcp,nw_src=192.168.0.3,tp_dst=80 actions=set_queue:37,output:1
NXT_FLOW_MOD: ADD udp,nw_src=192.168.0.3,tp_dst=53 actions=pop_queue,output:1
NXT_FLOW_MOD: ADD icmp6,icmp_type=135,nd_target=fec0:0:1234:f045:8fff:1111:fe4e:571 actions=drop
NXT_FLOW_MOD: ADD icmp6,icmp_type=135,nd_target=fec0:0:1234:f045:8fff:1111:fe4f:0/112 actions=drop
NXT_FLOW_MOD: ADD icmp6,icmp_type=135,nd_sll=00:0a:e4:25:6b:b0 actions=drop
NXT_FLOW_MOD: ADD icmp6,icmp_type=136,nd_target=fec0:0:1234:f045:8fff:1111:fe4e:571,nd_tll=00:0a:e4:25:6b:b1 actions=drop
NXT_FLOW_MOD: ADD icmp6,icmp_type=136,nd_target=fec0:0:1234:f045:8fff:1111::/96,nd_tll=00:0a:e4:25:6b:b1 actions=drop
NXT_FLOW_MOD: ADD priority=60000 cookie:0x123456789abcdef hard:10 actions=CONTROLLER:65535
NXT_FLOW_MOD: ADD actions=note:41.42.43.00.00.00,note:00.01.02.03.04.05.06.07.00.00.00.00.00.00,note:00.00.00.00.00.00
NXT_FLOW_MOD: ADD tun_id=0x1234 cookie:0x5678 actions=FLOOD
NXT_FLOW_MOD: ADD actions=drop
NXT_FLOW_MOD: ADD tun_id=0x1234000056780000/0xffff0000ffff0000 actions=drop
NXT_FLOW_MOD: ADD dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 actions=drop
NXT_FLOW_MOD: ADD dl_dst=00:00:00:00:00:00/01:00:00:00:00:00 actions=drop
NXT_FLOW_MOD: ADD dl_dst=aa:bb:cc:dd:ee:ff/fe:ff:ff:ff:ff:ff actions=drop
NXT_FLOW_MOD: ADD actions=drop
NXT_FLOW_MOD: ADD actions=sample(probability=12345,collector_set_id=23456,obs_domain_id=34567,obs_point_id=45678)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:307"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_247
#AT_START_248
at_fn_group_banner 248 'ovs-ofctl.at:341' \
  "ovs-ofctl -F nxm -mmm parse-flows" "              " 16
at_xfail=no
(
  $as_echo "248. $at_setup_line: testing $at_desc ..."
  $at_traceon

cat >flows.txt <<'_ATEOF'

# comment
tcp,tp_src=123,actions=flood
in_port=LOCAL dl_vlan=9 dl_src=00:0A:E4:25:6B:B0 actions=drop
arp,dl_src=00:0A:E4:25:6B:B0,arp_sha=00:0A:E4:25:6B:B0 actions=drop
ipv6,ipv6_label=0x12345 actions=2
ipv6,ipv6_src=2001:db8:3c4d:1:2:3:4:5 actions=3
ipv6,ipv6_src=2001:db8:3c4d:1:2:3:4:5/64 actions=4
ipv6,ipv6_dst=2001:db8:3c4d:1:2:3:4:5/127 actions=5
tcp6,ipv6_src=2001:db8:3c4d:1::1,tp_dst=80 actions=drop
udp6,ipv6_src=2001:db8:3c4d:1::3,tp_dst=53 actions=drop
sctp6,ipv6_src=2001:db8:3c4d:1::5,tp_dst=309 actions=drop
in_port=3 icmp6,ipv6_src=2001:db8:3c4d:1::1,icmp_type=134 actions=drop
udp dl_vlan_pcp=7 idle_timeout=5 actions=strip_vlan output:0
tcp,nw_src=192.168.0.3,tp_dst=80 actions=set_queue:37,output:1
udp,nw_src=192.168.0.3,tp_dst=53 actions=pop_queue,output:1
sctp,nw_src=192.168.0.3,tp_dst=309 actions=pop_queue,output:1
icmp6,icmp_type=135,nd_target=FEC0::1234:F045:8FFF:1111:FE4E:0571 actions=drop
icmp6,icmp_type=135,nd_sll=00:0A:E4:25:6B:B0 actions=drop
icmp6,icmp_type=136,nd_target=FEC0::1234:F045:8FFF:1111:FE4E:0571,nd_tll=00:0A:E4:25:6B:B1 actions=drop
cookie=0x123456789abcdef hard_timeout=10 priority=60000 actions=controller
actions=note:41.42.43,note:00.01.02.03.04.05.06.07,note
tun_id=0x1234,cookie=0x5678,actions=flood
actions=drop
reg0=123,actions=move:NXM_NX_REG0[0..5]->NXM_NX_REG1[26..31],load:55->NXM_NX_REG2[0..31],move:NXM_NX_REG0[0..31]->NXM_NX_TUN_ID[0..31],move:NXM_NX_REG0[0..15]->NXM_OF_VLAN_TCI[]
actions=move:OXM_OF_ETH_DST[]->OXM_OF_ETH_SRC[]
actions=push:NXM_NX_REG0[0..31],pop:NXM_NX_REG0[]
vlan_tci=0x1123/0x1fff,actions=drop
actions=sample(probability=12345,collector_set_id=23456,obs_domain_id=34567,obs_point_id=45678)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:372: ovs-ofctl -F nxm -mmm parse-flows flows.txt"
at_fn_check_prepare_trace "ovs-ofctl.at:372"
( $at_check_trace; ovs-ofctl -F nxm -mmm parse-flows flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:372"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:373: sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout"
at_fn_check_prepare_trace "ovs-ofctl.at:373"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "usable protocols: NXM,OXM
chosen protocol: NXM-table_id
NXT_FLOW_MOD: ADD NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(06), NXM_OF_TCP_SRC(007b) actions=FLOOD
NXT_FLOW_MOD: ADD NXM_OF_IN_PORT(fffe), NXM_OF_ETH_SRC(000ae4256bb0), NXM_OF_VLAN_TCI_W(1009/1fff) actions=drop
NXT_FLOW_MOD: ADD NXM_OF_ETH_SRC(000ae4256bb0), NXM_OF_ETH_TYPE(0806), NXM_NX_ARP_SHA(000ae4256bb0) actions=drop
NXT_FLOW_MOD: ADD NXM_OF_ETH_TYPE(86dd), NXM_NX_IPV6_LABEL(00012345) actions=output:2
NXT_FLOW_MOD: ADD NXM_OF_ETH_TYPE(86dd), NXM_NX_IPV6_SRC(20010db83c4d00010002000300040005) actions=output:3
NXT_FLOW_MOD: ADD NXM_OF_ETH_TYPE(86dd), NXM_NX_IPV6_SRC_W(20010db83c4d00010000000000000000/ffffffffffffffff0000000000000000) actions=output:4
NXT_FLOW_MOD: ADD NXM_OF_ETH_TYPE(86dd), NXM_NX_IPV6_DST_W(20010db83c4d00010002000300040004/fffffffffffffffffffffffffffffffe) actions=output:5
NXT_FLOW_MOD: ADD NXM_OF_ETH_TYPE(86dd), NXM_NX_IPV6_SRC(20010db83c4d00010000000000000001), NXM_OF_IP_PROTO(06), NXM_OF_TCP_DST(0050) actions=drop
NXT_FLOW_MOD: ADD NXM_OF_ETH_TYPE(86dd), NXM_NX_IPV6_SRC(20010db83c4d00010000000000000003), NXM_OF_IP_PROTO(11), NXM_OF_UDP_DST(0035) actions=drop
NXT_FLOW_MOD: ADD NXM_OF_ETH_TYPE(86dd), NXM_NX_IPV6_SRC(20010db83c4d00010000000000000005), NXM_OF_IP_PROTO(84), OXM_OF_SCTP_DST(0135) actions=drop
NXT_FLOW_MOD: ADD NXM_OF_IN_PORT(0003), NXM_OF_ETH_TYPE(86dd), NXM_NX_IPV6_SRC(20010db83c4d00010000000000000001), NXM_OF_IP_PROTO(3a), NXM_NX_ICMPV6_TYPE(86) actions=drop
NXT_FLOW_MOD: ADD NXM_OF_ETH_TYPE(0800), NXM_OF_VLAN_TCI_W(f000/f000), NXM_OF_IP_PROTO(11) idle:5 actions=strip_vlan,output:0
NXT_FLOW_MOD: ADD NXM_OF_ETH_TYPE(0800), NXM_OF_IP_SRC(c0a80003), NXM_OF_IP_PROTO(06), NXM_OF_TCP_DST(0050) actions=set_queue:37,output:1
NXT_FLOW_MOD: ADD NXM_OF_ETH_TYPE(0800), NXM_OF_IP_SRC(c0a80003), NXM_OF_IP_PROTO(11), NXM_OF_UDP_DST(0035) actions=pop_queue,output:1
NXT_FLOW_MOD: ADD NXM_OF_ETH_TYPE(0800), NXM_OF_IP_SRC(c0a80003), NXM_OF_IP_PROTO(84), OXM_OF_SCTP_DST(0135) actions=pop_queue,output:1
NXT_FLOW_MOD: ADD NXM_OF_ETH_TYPE(86dd), NXM_OF_IP_PROTO(3a), NXM_NX_ICMPV6_TYPE(87), NXM_NX_ND_TARGET(fec000001234f0458fff1111fe4e0571) actions=drop
NXT_FLOW_MOD: ADD NXM_OF_ETH_TYPE(86dd), NXM_OF_IP_PROTO(3a), NXM_NX_ICMPV6_TYPE(87), NXM_NX_ND_SLL(000ae4256bb0) actions=drop
NXT_FLOW_MOD: ADD NXM_OF_ETH_TYPE(86dd), NXM_OF_IP_PROTO(3a), NXM_NX_ICMPV6_TYPE(88), NXM_NX_ND_TARGET(fec000001234f0458fff1111fe4e0571), NXM_NX_ND_TLL(000ae4256bb1) actions=drop
NXT_FLOW_MOD: ADD <any> cookie:0x123456789abcdef hard:10 pri:60000 actions=CONTROLLER:65535
NXT_FLOW_MOD: ADD <any> actions=note:41.42.43.00.00.00,note:00.01.02.03.04.05.06.07.00.00.00.00.00.00,note:00.00.00.00.00.00
NXT_FLOW_MOD: ADD NXM_NX_TUN_ID(0000000000001234) cookie:0x5678 actions=FLOOD
NXT_FLOW_MOD: ADD <any> actions=drop
NXT_FLOW_MOD: ADD NXM_NX_REG0(0000007b) actions=move:NXM_NX_REG0[0..5]->NXM_NX_REG1[26..31],load:0x37->NXM_NX_REG2[],move:NXM_NX_REG0[]->NXM_NX_TUN_ID[0..31],move:NXM_NX_REG0[0..15]->NXM_OF_VLAN_TCI[]
NXT_FLOW_MOD: ADD <any> actions=move:NXM_OF_ETH_DST[]->NXM_OF_ETH_SRC[]
NXT_FLOW_MOD: ADD <any> actions=push:NXM_NX_REG0[],pop:NXM_NX_REG0[]
NXT_FLOW_MOD: ADD NXM_OF_VLAN_TCI_W(1123/1fff) actions=drop
NXT_FLOW_MOD: ADD <any> actions=sample(probability=12345,collector_set_id=23456,obs_domain_id=34567,obs_point_id=45678)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:373"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_248
#AT_START_249
at_fn_group_banner 249 'ovs-ofctl.at:406' \
  "ovs-ofctl parse-nx-match" "                       " 16
at_xfail=no
(
  $as_echo "249. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >nx-match.txt <<'_ATEOF'
<any>

# in port
NXM_OF_IN_PORT(0000)
NXM_OF_IN_PORT(fffe)

# eth dst
NXM_OF_ETH_DST(0002e30f80a4)
NXM_OF_ETH_DST_W(010000000000/010000000000)
NXM_OF_ETH_DST_W(000000000000/010000000000)
NXM_OF_ETH_DST_W(ffffffffffff/010000000000)
NXM_OF_ETH_DST_W(0002e30f80a4/ffffffffffff)
NXM_OF_ETH_DST_W(60175619848f/000000000000)
NXM_OF_ETH_DST_W(0002e30f80a4/feffffffffff)
NXM_OF_ETH_DST_W(60175619848f/5a5a5a5a5a5a)

# eth src
NXM_OF_ETH_SRC(020898456ddb)
NXM_OF_ETH_SRC_W(012345abcdef/ffffff555555)
NXM_OF_ETH_SRC_W(020898456ddb/ffffffffffff)
NXM_OF_ETH_SRC_W(020898456ddb/000000000000)

# eth type
NXM_OF_ETH_TYPE(0800)
NXM_OF_ETH_TYPE(0800) NXM_OF_IN_PORT(0012)

# vlan tci
NXM_OF_VLAN_TCI(f009)
NXM_OF_VLAN_TCI(f009) NXM_OF_VLAN_TCI(f009)
NXM_OF_VLAN_TCI(0000)           # Packets without 802.1Q header.
NXM_OF_VLAN_TCI(3123)           # Packets with VID=123, PCP=1.
NXM_OF_VLAN_TCI(0123)           # Does not make sense (but supported anyway)
NXM_OF_VLAN_TCI_W(1123/1fff)    # Packets with VID=123, any PCP.
NXM_OF_VLAN_TCI_W(1123/ffff)    # Packets with VID=123, PCP=0
NXM_OF_VLAN_TCI_W(1123/0000)    # Packets with or without 802.1Q header
NXM_OF_VLAN_TCI_W(f000/f000)    # Packets with any VID, PCP=7.
NXM_OF_VLAN_TCI_W(0000/e000)    # No 802.1Q or with VID=0

# IP TOS
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_TOS(f0)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_TOS(41)
NXM_OF_IP_TOS(f0)

# IP ECN
NXM_OF_ETH_TYPE(0800) NXM_NX_IP_ECN(03)
NXM_OF_ETH_TYPE(0800) NXM_NX_IP_ECN(06)
NXM_NX_IP_ECN(03)

# IP protocol
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(01)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(05)
NXM_OF_IP_PROTO(05)

# IP TTL
NXM_OF_ETH_TYPE(0800) NXM_NX_IP_TTL(80)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IP_TTL(ff)
NXM_NX_IP_TTL(80)

# IP source
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_SRC(ac100014)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_SRC_W(C0a80000/FFFF0000)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_SRC_W(C0a80000/5a5a5a5a)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_SRC_W(C0a80000/ffffffff)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_SRC_W(C0a80000/00000000)
NXM_OF_ETH_TYPE(0806) NXM_OF_IP_SRC(ac100014)
NXM_OF_IP_SRC_W(C0D80000/FFFF0000)

# IP destination
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_DST(ac100014)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_DST_W(C0a88012/FFFF0000)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_DST_W(C0a80000/5a5a5a5a)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_DST_W(C0a80000/ffffffff)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_DST_W(C0a80000/00000000)
NXM_OF_IP_DST(ac100014)
NXM_OF_ETH_TYPE(0806) NXM_OF_IP_DST_W(C0D80000/FFFF0000)

# TCP source port
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(06) NXM_OF_TCP_SRC(4231)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(06) NXM_OF_TCP_SRC_W(5050/F0F0)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(06) NXM_OF_TCP_SRC_W(5050/ffff)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(06) NXM_OF_TCP_SRC_W(5050/0000)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(07) NXM_OF_TCP_SRC(4231)

# TCP destination port
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(06) NXM_OF_TCP_DST(4231)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(06) NXM_OF_TCP_DST_W(FDE0/FFF0)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(06) NXM_OF_TCP_DST_W(FDE0/ffff)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(06) NXM_OF_TCP_DST_W(FDE0/0000)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(07) NXM_OF_TCP_DST(4231)

# UDP source port
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(11) NXM_OF_UDP_SRC(8732)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(11) NXM_OF_UDP_SRC_W(0132/01FF)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(11) NXM_OF_UDP_SRC_W(0132/ffff)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(11) NXM_OF_UDP_SRC_W(0132/0000)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(06) NXM_OF_UDP_SRC(7823)

# UDP destination port
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(11) NXM_OF_UDP_DST(1782)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(11) NXM_OF_UDP_DST_W(5005/F00F)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(11) NXM_OF_UDP_DST_W(5005/FFFF)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(11) NXM_OF_UDP_DST_W(5005/0000)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(02) NXM_OF_UDP_DST(1293)

# ICMP type
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(01) NXM_OF_ICMP_TYPE(12)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(00) NXM_OF_ICMP_TYPE(10)

# ICMP code
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(01) NXM_OF_ICMP_CODE(12)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(00) NXM_OF_ICMP_CODE(10)
NXM_OF_ETH_TYPE(0800) NXM_OF_ICMP_CODE(10)
NXM_OF_ICMP_CODE(00)

# ARP opcode
NXM_OF_ETH_TYPE(0806) NXM_OF_ARP_OP(0001)
NXM_OF_ETH_TYPE(0806) NXM_OF_ARP_OP(1111)
NXM_OF_ETH_TYPE(0000) NXM_OF_ARP_OP(0001)
NXM_OF_ARP_OP(0001)
NXM_OF_ETH_TYPE(0806) NXM_OF_ARP_OP(0001) NXM_OF_ARP_OP(0001)

# ARP source protocol address
NXM_OF_ETH_TYPE(0806) NXM_OF_ARP_SPA(ac100014)
NXM_OF_ETH_TYPE(0806) NXM_OF_ARP_SPA_W(C0a81234/FFFFFF00)
NXM_OF_ETH_TYPE(0806) NXM_OF_ARP_SPA_W(C0a81234/aaaaaa00)
NXM_OF_ETH_TYPE(0806) NXM_OF_ARP_SPA_W(C0a81234/ffffffff)
NXM_OF_ETH_TYPE(0806) NXM_OF_ARP_SPA_W(C0a81234/00000000)
NXM_OF_ETH_TYPE(0800) NXM_OF_ARP_SPA(ac100014)
NXM_OF_ARP_SPA_W(C0D8fedc/FFFF0000)

# ARP destination protocol address
NXM_OF_ETH_TYPE(0806) NXM_OF_ARP_TPA(ac100014)
NXM_OF_ETH_TYPE(0806) NXM_OF_ARP_TPA_W(C0a812fe/FFFFFF00)
NXM_OF_ETH_TYPE(0806) NXM_OF_ARP_TPA_W(C0a81234/77777777)
NXM_OF_ETH_TYPE(0806) NXM_OF_ARP_TPA_W(C0a81234/ffffffff)
NXM_OF_ETH_TYPE(0806) NXM_OF_ARP_TPA_W(C0a81234/00000000)
NXM_OF_ETH_TYPE(0800) NXM_OF_ARP_TPA(ac100014)
NXM_OF_ARP_TPA_W(C0D80000/FFFF0000)

# ARP source hardware address
NXM_OF_ETH_TYPE(0806) NXM_NX_ARP_SHA(0002e30f80a4)
NXM_OF_ETH_TYPE(0800) NXM_NX_ARP_SHA(0002e30f80a4)
NXM_NX_ARP_SHA(0002e30f80a4)

# ARP destination hardware address
NXM_OF_ETH_TYPE(0806) NXM_NX_ARP_THA(0002e30f80a4)
NXM_OF_ETH_TYPE(0800) NXM_NX_ARP_THA(0002e30f80a4)
NXM_NX_ARP_THA(0002e30f80a4)

# RARP opcode
NXM_OF_ETH_TYPE(8035) NXM_OF_ARP_OP(0003)
NXM_OF_ETH_TYPE(8035) NXM_OF_ARP_OP(1111)
NXM_OF_ETH_TYPE(0000) NXM_OF_ARP_OP(0003)
NXM_OF_ARP_OP(0003)
NXM_OF_ETH_TYPE(8035) NXM_OF_ARP_OP(0003) NXM_OF_ARP_OP(0003)

# RARP source protocol address
NXM_OF_ETH_TYPE(8035) NXM_OF_ARP_SPA(ac100014)
NXM_OF_ETH_TYPE(8035) NXM_OF_ARP_SPA_W(C0a81234/FFFFFF00)
NXM_OF_ETH_TYPE(8035) NXM_OF_ARP_SPA_W(C0a81234/aaaaaa00)
NXM_OF_ETH_TYPE(8035) NXM_OF_ARP_SPA_W(C0a81234/ffffffff)
NXM_OF_ETH_TYPE(8035) NXM_OF_ARP_SPA_W(C0a81234/00000000)
NXM_OF_ETH_TYPE(0800) NXM_OF_ARP_SPA(ac100014)
NXM_OF_ARP_SPA_W(C0D8fedc/FFFF0000)

# RARP destination protocol address
NXM_OF_ETH_TYPE(8035) NXM_OF_ARP_TPA(ac100014)
NXM_OF_ETH_TYPE(8035) NXM_OF_ARP_TPA_W(C0a812fe/FFFFFF00)
NXM_OF_ETH_TYPE(8035) NXM_OF_ARP_TPA_W(C0a81234/77777777)
NXM_OF_ETH_TYPE(8035) NXM_OF_ARP_TPA_W(C0a81234/ffffffff)
NXM_OF_ETH_TYPE(8035) NXM_OF_ARP_TPA_W(C0a81234/00000000)
NXM_OF_ETH_TYPE(0800) NXM_OF_ARP_TPA(ac100014)
NXM_OF_ARP_TPA_W(C0D80000/FFFF0000)

# RARP source hardware address
NXM_OF_ETH_TYPE(8035) NXM_NX_ARP_SHA(0002e30f80a4)
NXM_OF_ETH_TYPE(0800) NXM_NX_ARP_SHA(0002e30f80a4)
NXM_NX_ARP_SHA(0002e30f80a4)

# RARP destination hardware address
NXM_OF_ETH_TYPE(8035) NXM_NX_ARP_THA(0002e30f80a4)
NXM_OF_ETH_TYPE(0800) NXM_NX_ARP_THA(0002e30f80a4)
NXM_NX_ARP_THA(0002e30f80a4)

# IPv6 source
NXM_OF_ETH_TYPE(86dd) NXM_NX_IPV6_SRC(20010db83c4d00010002000300040005)
NXM_OF_ETH_TYPE(0800) NXM_NX_IPV6_SRC(20010db83c4d00010002000300040005)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IPV6_SRC_W(20010db83c4d00010000000000000000/ffffffffffffffff0000000000000000)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IPV6_SRC_W(20010db83c4d00010000000000000000/5a5a5a5a5a5a5a5a0000000000000000)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IPV6_SRC_W(20010db83c4d00010000000000000000/ffffffffffffffffffffffffffffffff)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IPV6_SRC_W(20010db83c4d00010000000000000000/00000000000000000000000000000000)
NXM_OF_ETH_TYPE(0800) NXM_NX_IPV6_SRC_W(20010db83c4d00010000000000000000/ffffffffffffffff0000000000000000)

# IPv6 destination
NXM_OF_ETH_TYPE(86dd) NXM_NX_IPV6_DST(20010db83c4d00010002000300040005)
NXM_OF_ETH_TYPE(0800) NXM_NX_IPV6_DST(20010db83c4d00010002000300040005)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IPV6_DST_W(20010db83c4d00010000000000000000/77777777777777777777777777777777)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IPV6_DST_W(20010db83c4d00010000000000000000/ffffffffffffffffffffffffffffffff)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IPV6_DST_W(20010db83c4d00010000000000000000/00000000000000000000000000000000)
NXM_OF_ETH_TYPE(0800) NXM_NX_IPV6_DST_W(20010db83c4d00010000000000000000/ffffffffffffffff0000000000000000)

# IPv6 Flow Label
NXM_OF_ETH_TYPE(86dd) NXM_NX_IPV6_LABEL(1000000f)
NXM_NX_IPV6_LABEL(0000000f)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IPV6_LABEL(0000000f)

# ND target address
NXM_OF_ETH_TYPE(86dd) NXM_OF_IP_PROTO(3a) NXM_NX_ICMPV6_TYPE(87) NXM_NX_ND_TARGET(20010db83c4d00010002000300040005)
NXM_OF_ETH_TYPE(86dd) NXM_OF_IP_PROTO(3a) NXM_NX_ICMPV6_TYPE(88) NXM_NX_ND_TARGET(20010db83c4d00010002000300040005)
NXM_OF_ETH_TYPE(86dd) NXM_OF_IP_PROTO(3a) NXM_NX_ICMPV6_TYPE(87) NXM_NX_ND_TARGET_W(20010db83c4d00010002000300040005/0123456789abcdeffedcba9876543210)
NXM_OF_ETH_TYPE(86dd) NXM_OF_IP_PROTO(3a) NXM_NX_ICMPV6_TYPE(87) NXM_NX_ND_TARGET_W(20010db83c4d00010002000300040005/ffffffffffffffffffffffffffffffff)
NXM_OF_ETH_TYPE(86dd) NXM_OF_IP_PROTO(3a) NXM_NX_ICMPV6_TYPE(87) NXM_NX_ND_TARGET_W(20010db83c4d00010002000300040005/00000000000000000000000000000000)
NXM_OF_ETH_TYPE(86dd) NXM_OF_IP_PROTO(3a) NXM_NX_ICMPV6_TYPE(88) NXM_NX_ND_TARGET_W(20010db83c4d00010002000300040005/fedcba98765432100123456789abcdef)

# ND source hardware address
NXM_OF_ETH_TYPE(86dd) NXM_OF_IP_PROTO(3a) NXM_NX_ICMPV6_TYPE(87) NXM_NX_ND_TARGET(20010db83c4d00010002000300040005) NXM_NX_ND_SLL(0002e30f80a4)
NXM_OF_ETH_TYPE(86dd) NXM_OF_IP_PROTO(3a) NXM_NX_ICMPV6_TYPE(88) NXM_NX_ND_TARGET(20010db83c4d00010002000300040005) NXM_NX_ND_SLL(0002e30f80a4)
NXM_OF_ETH_TYPE(86dd) NXM_OF_IP_PROTO(3b) NXM_NX_ICMPV6_TYPE(87) NXM_NX_ND_TARGET(20010db83c4d00010002000300040005) NXM_NX_ND_SLL(0002e30f80a4)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(3a) NXM_NX_ICMPV6_TYPE(87) NXM_NX_ND_TARGET(20010db83c4d00010002000300040005) NXM_NX_ND_SLL(0002e30f80a4)

# ND destination hardware address
NXM_OF_ETH_TYPE(86dd) NXM_OF_IP_PROTO(3a) NXM_NX_ICMPV6_TYPE(88) NXM_NX_ND_TARGET(20010db83c4d00010002000300040005) NXM_NX_ND_TLL(0002e30f80a4)
NXM_OF_ETH_TYPE(86dd) NXM_OF_IP_PROTO(3a) NXM_NX_ICMPV6_TYPE(87) NXM_NX_ND_TARGET(20010db83c4d00010002000300040005) NXM_NX_ND_TLL(0002e30f80a4)
NXM_OF_ETH_TYPE(86dd) NXM_OF_IP_PROTO(3b) NXM_NX_ICMPV6_TYPE(87) NXM_NX_ND_TARGET(20010db83c4d00010002000300040005) NXM_NX_ND_TLL(0002e30f80a4)
NXM_OF_ETH_TYPE(0800) NXM_OF_IP_PROTO(3a) NXM_NX_ICMPV6_TYPE(88) NXM_NX_ND_TARGET(20010db83c4d00010002000300040005) NXM_NX_ND_TLL(0002e30f80a4)

# IPv4 fragments.
NXM_OF_ETH_TYPE(0800) NXM_NX_IP_FRAG(00)
NXM_OF_ETH_TYPE(0800) NXM_NX_IP_FRAG(01)
NXM_OF_ETH_TYPE(0800) NXM_NX_IP_FRAG(02)
NXM_OF_ETH_TYPE(0800) NXM_NX_IP_FRAG(03)
NXM_OF_ETH_TYPE(0800) NXM_NX_IP_FRAG_W(00/03)
NXM_OF_ETH_TYPE(0800) NXM_NX_IP_FRAG_W(00/fd)
NXM_OF_ETH_TYPE(0800) NXM_NX_IP_FRAG_W(00/02)
NXM_OF_ETH_TYPE(0800) NXM_NX_IP_FRAG_W(01/01)
NXM_OF_ETH_TYPE(0800) NXM_NX_IP_FRAG_W(02/02)
NXM_OF_ETH_TYPE(0800) NXM_NX_IP_FRAG_W(03/03)
NXM_OF_ETH_TYPE(0800) NXM_NX_IP_FRAG_W(03/ff)
NXM_OF_ETH_TYPE(0800) NXM_NX_IP_FRAG_W(03/00)
NXM_OF_ETH_TYPE(0800) NXM_NX_IP_FRAG(f3)

# IPv6 fragments.
NXM_OF_ETH_TYPE(86dd) NXM_NX_IP_FRAG(00)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IP_FRAG(01)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IP_FRAG(02)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IP_FRAG(03)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IP_FRAG_W(00/03)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IP_FRAG_W(00/01)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IP_FRAG_W(00/02)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IP_FRAG_W(01/01)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IP_FRAG_W(02/02)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IP_FRAG_W(03/03)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IP_FRAG_W(03/00)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IP_FRAG_W(03/ff)
NXM_OF_ETH_TYPE(86dd) NXM_NX_IP_FRAG(f3)

# Flow cookie.
NXM_NX_COOKIE(00000000abcdef01)
NXM_NX_COOKIE_W(84200000abcdef01/84200000FFFFFFFF)
NXM_NX_COOKIE_W(84200000abcdef01/ffffffffffffffff)
NXM_NX_COOKIE_W(84200000abcdef01/0000000000000000)

# Tunnel ID.
NXM_NX_TUN_ID(00000000abcdef01)
NXM_NX_TUN_ID_W(84200000abcdef01/84200000FFFFFFFF)
NXM_NX_TUN_ID_W(84200000abcdef01/FFFFFFFFFFFFFFFF)
NXM_NX_TUN_ID_W(84200000abcdef01/0000000000000000)

# Register 0.
NXM_NX_REG0(acebdf56)
NXM_NX_REG0_W(a0e0d050/f0f0f0f0)
NXM_NX_REG0_W(a0e0d050/ffffffff)
NXM_NX_REG0_W(a0e0d050/00000000)

# Invalid field number.
01020304(1111/2222)

# Unimplemented registers.
#
# This test assumes that at least two registers, but fewer than 16,
# registers are implemented.
00010004(12345678)
00010108(12345678/12345678)
00011e04(12345678)
00011f08(12345678/12345678)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:695: ovs-ofctl -vPATTERN:'console:%c|%p|%m' --strict parse-nx-match < nx-match.txt"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:695"
( $at_check_trace; ovs-ofctl -vPATTERN:'console:%c|%p|%m' --strict parse-nx-match < nx-match.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "<any>

# in port
NXM_OF_IN_PORT(0000)
NXM_OF_IN_PORT(fffe)

# eth dst
NXM_OF_ETH_DST(0002e30f80a4)
NXM_OF_ETH_DST_W(010000000000/010000000000)
NXM_OF_ETH_DST_W(000000000000/010000000000)
NXM_OF_ETH_DST_W(010000000000/010000000000)
NXM_OF_ETH_DST(0002e30f80a4)
<any>
NXM_OF_ETH_DST_W(0002e30f80a4/feffffffffff)
NXM_OF_ETH_DST_W(40125218000a/5a5a5a5a5a5a)

# eth src
NXM_OF_ETH_SRC(020898456ddb)
NXM_OF_ETH_SRC_W(012345014545/ffffff555555)
NXM_OF_ETH_SRC(020898456ddb)
<any>

# eth type
NXM_OF_ETH_TYPE(0800)
NXM_OF_IN_PORT(0012), NXM_OF_ETH_TYPE(0800)

# vlan tci
NXM_OF_VLAN_TCI(f009)
nx_pull_match() returned error OFPBMC_DUP_FIELD
NXM_OF_VLAN_TCI(0000)
NXM_OF_VLAN_TCI(3123)
NXM_OF_VLAN_TCI(0123)
NXM_OF_VLAN_TCI_W(1123/1fff)
NXM_OF_VLAN_TCI(1123)
<any>
NXM_OF_VLAN_TCI_W(f000/f000)
NXM_OF_VLAN_TCI_W(0000/e000)

# IP TOS
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_TOS(f0)
nx_pull_match() returned error OFPBMC_BAD_VALUE
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# IP ECN
NXM_OF_ETH_TYPE(0800), NXM_NX_IP_ECN(03)
nx_pull_match() returned error OFPBMC_BAD_VALUE
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# IP protocol
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(01)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(05)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# IP TTL
NXM_OF_ETH_TYPE(0800), NXM_NX_IP_TTL(80)
NXM_OF_ETH_TYPE(86dd), NXM_NX_IP_TTL(ff)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# IP source
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_SRC(ac100014)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_SRC_W(c0a80000/ffff0000)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_SRC_W(40080000/5a5a5a5a)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_SRC(c0a80000)
NXM_OF_ETH_TYPE(0800)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# IP destination
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_DST(ac100014)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_DST_W(c0a80000/ffff0000)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_DST_W(40080000/5a5a5a5a)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_DST(c0a80000)
NXM_OF_ETH_TYPE(0800)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# TCP source port
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(06), NXM_OF_TCP_SRC(4231)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(06), NXM_OF_TCP_SRC_W(5050/f0f0)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(06), NXM_OF_TCP_SRC(5050)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(06)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# TCP destination port
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(06), NXM_OF_TCP_DST(4231)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(06), NXM_OF_TCP_DST_W(fde0/fff0)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(06), NXM_OF_TCP_DST(fde0)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(06)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# UDP source port
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(11), NXM_OF_UDP_SRC(8732)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(11), NXM_OF_UDP_SRC_W(0132/01ff)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(11), NXM_OF_UDP_SRC(0132)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(11)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# UDP destination port
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(11), NXM_OF_UDP_DST(1782)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(11), NXM_OF_UDP_DST_W(5005/f00f)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(11), NXM_OF_UDP_DST(5005)
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(11)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# ICMP type
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(01), NXM_OF_ICMP_TYPE(12)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# ICMP code
NXM_OF_ETH_TYPE(0800), NXM_OF_IP_PROTO(01), NXM_OF_ICMP_CODE(12)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# ARP opcode
NXM_OF_ETH_TYPE(0806), NXM_OF_ARP_OP(0001)
nx_pull_match() returned error OFPBMC_BAD_VALUE
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_DUP_FIELD

# ARP source protocol address
NXM_OF_ETH_TYPE(0806), NXM_OF_ARP_SPA(ac100014)
NXM_OF_ETH_TYPE(0806), NXM_OF_ARP_SPA_W(c0a81200/ffffff00)
NXM_OF_ETH_TYPE(0806), NXM_OF_ARP_SPA_W(80a80200/aaaaaa00)
NXM_OF_ETH_TYPE(0806), NXM_OF_ARP_SPA(c0a81234)
NXM_OF_ETH_TYPE(0806)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# ARP destination protocol address
NXM_OF_ETH_TYPE(0806), NXM_OF_ARP_TPA(ac100014)
NXM_OF_ETH_TYPE(0806), NXM_OF_ARP_TPA_W(c0a81200/ffffff00)
NXM_OF_ETH_TYPE(0806), NXM_OF_ARP_TPA_W(40201234/77777777)
NXM_OF_ETH_TYPE(0806), NXM_OF_ARP_TPA(c0a81234)
NXM_OF_ETH_TYPE(0806)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# ARP source hardware address
NXM_OF_ETH_TYPE(0806), NXM_NX_ARP_SHA(0002e30f80a4)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# ARP destination hardware address
NXM_OF_ETH_TYPE(0806), NXM_NX_ARP_THA(0002e30f80a4)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# RARP opcode
NXM_OF_ETH_TYPE(8035), NXM_OF_ARP_OP(0003)
nx_pull_match() returned error OFPBMC_BAD_VALUE
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_DUP_FIELD

# RARP source protocol address
NXM_OF_ETH_TYPE(8035), NXM_OF_ARP_SPA(ac100014)
NXM_OF_ETH_TYPE(8035), NXM_OF_ARP_SPA_W(c0a81200/ffffff00)
NXM_OF_ETH_TYPE(8035), NXM_OF_ARP_SPA_W(80a80200/aaaaaa00)
NXM_OF_ETH_TYPE(8035), NXM_OF_ARP_SPA(c0a81234)
NXM_OF_ETH_TYPE(8035)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# RARP destination protocol address
NXM_OF_ETH_TYPE(8035), NXM_OF_ARP_TPA(ac100014)
NXM_OF_ETH_TYPE(8035), NXM_OF_ARP_TPA_W(c0a81200/ffffff00)
NXM_OF_ETH_TYPE(8035), NXM_OF_ARP_TPA_W(40201234/77777777)
NXM_OF_ETH_TYPE(8035), NXM_OF_ARP_TPA(c0a81234)
NXM_OF_ETH_TYPE(8035)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# RARP source hardware address
NXM_OF_ETH_TYPE(8035), NXM_NX_ARP_SHA(0002e30f80a4)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# RARP destination hardware address
NXM_OF_ETH_TYPE(8035), NXM_NX_ARP_THA(0002e30f80a4)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# IPv6 source
NXM_OF_ETH_TYPE(86dd), NXM_NX_IPV6_SRC(20010db83c4d00010002000300040005)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
NXM_OF_ETH_TYPE(86dd), NXM_NX_IPV6_SRC_W(20010db83c4d00010000000000000000/ffffffffffffffff0000000000000000)
NXM_OF_ETH_TYPE(86dd), NXM_NX_IPV6_SRC_W(00000818184800000000000000000000/5a5a5a5a5a5a5a5a0000000000000000)
NXM_OF_ETH_TYPE(86dd), NXM_NX_IPV6_SRC(20010db83c4d00010000000000000000)
NXM_OF_ETH_TYPE(86dd)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# IPv6 destination
NXM_OF_ETH_TYPE(86dd), NXM_NX_IPV6_DST(20010db83c4d00010002000300040005)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
NXM_OF_ETH_TYPE(86dd), NXM_NX_IPV6_DST_W(20010530344500010000000000000000/77777777777777777777777777777777)
NXM_OF_ETH_TYPE(86dd), NXM_NX_IPV6_DST(20010db83c4d00010000000000000000)
NXM_OF_ETH_TYPE(86dd)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# IPv6 Flow Label
nx_pull_match() returned error OFPBMC_BAD_VALUE
nx_pull_match() returned error OFPBMC_BAD_PREREQ
NXM_OF_ETH_TYPE(86dd), NXM_NX_IPV6_LABEL(0000000f)

# ND target address
NXM_OF_ETH_TYPE(86dd), NXM_OF_IP_PROTO(3a), NXM_NX_ICMPV6_TYPE(87), NXM_NX_ND_TARGET(20010db83c4d00010002000300040005)
NXM_OF_ETH_TYPE(86dd), NXM_OF_IP_PROTO(3a), NXM_NX_ICMPV6_TYPE(88), NXM_NX_ND_TARGET(20010db83c4d00010002000300040005)
NXM_OF_ETH_TYPE(86dd), NXM_OF_IP_PROTO(3a), NXM_NX_ICMPV6_TYPE(87), NXM_NX_ND_TARGET_W(00010520080900010000000000040000/0123456789abcdeffedcba9876543210)
NXM_OF_ETH_TYPE(86dd), NXM_OF_IP_PROTO(3a), NXM_NX_ICMPV6_TYPE(87), NXM_NX_ND_TARGET(20010db83c4d00010002000300040005)
NXM_OF_ETH_TYPE(86dd), NXM_OF_IP_PROTO(3a), NXM_NX_ICMPV6_TYPE(87)
NXM_OF_ETH_TYPE(86dd), NXM_OF_IP_PROTO(3a), NXM_NX_ICMPV6_TYPE(88), NXM_NX_ND_TARGET_W(20000898344400000002000300000005/fedcba98765432100123456789abcdef)

# ND source hardware address
NXM_OF_ETH_TYPE(86dd), NXM_OF_IP_PROTO(3a), NXM_NX_ICMPV6_TYPE(87), NXM_NX_ND_TARGET(20010db83c4d00010002000300040005), NXM_NX_ND_SLL(0002e30f80a4)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# ND destination hardware address
NXM_OF_ETH_TYPE(86dd), NXM_OF_IP_PROTO(3a), NXM_NX_ICMPV6_TYPE(88), NXM_NX_ND_TARGET(20010db83c4d00010002000300040005), NXM_NX_ND_TLL(0002e30f80a4)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# IPv4 fragments.
NXM_OF_ETH_TYPE(0800), NXM_NX_IP_FRAG(00)
NXM_OF_ETH_TYPE(0800), NXM_NX_IP_FRAG(01)
NXM_OF_ETH_TYPE(0800), NXM_NX_IP_FRAG(02)
NXM_OF_ETH_TYPE(0800), NXM_NX_IP_FRAG(03)
NXM_OF_ETH_TYPE(0800), NXM_NX_IP_FRAG(00)
NXM_OF_ETH_TYPE(0800), NXM_NX_IP_FRAG_W(00/01)
NXM_OF_ETH_TYPE(0800), NXM_NX_IP_FRAG_W(00/02)
NXM_OF_ETH_TYPE(0800), NXM_NX_IP_FRAG_W(01/01)
NXM_OF_ETH_TYPE(0800), NXM_NX_IP_FRAG_W(02/02)
NXM_OF_ETH_TYPE(0800), NXM_NX_IP_FRAG(03)
NXM_OF_ETH_TYPE(0800), NXM_NX_IP_FRAG(03)
NXM_OF_ETH_TYPE(0800), NXM_NX_IP_FRAG(00)
nx_pull_match() returned error OFPBMC_BAD_VALUE

# IPv6 fragments.
NXM_OF_ETH_TYPE(86dd), NXM_NX_IP_FRAG(00)
NXM_OF_ETH_TYPE(86dd), NXM_NX_IP_FRAG(01)
NXM_OF_ETH_TYPE(86dd), NXM_NX_IP_FRAG(02)
NXM_OF_ETH_TYPE(86dd), NXM_NX_IP_FRAG(03)
NXM_OF_ETH_TYPE(86dd), NXM_NX_IP_FRAG(00)
NXM_OF_ETH_TYPE(86dd), NXM_NX_IP_FRAG_W(00/01)
NXM_OF_ETH_TYPE(86dd), NXM_NX_IP_FRAG_W(00/02)
NXM_OF_ETH_TYPE(86dd), NXM_NX_IP_FRAG_W(01/01)
NXM_OF_ETH_TYPE(86dd), NXM_NX_IP_FRAG_W(02/02)
NXM_OF_ETH_TYPE(86dd), NXM_NX_IP_FRAG(03)
NXM_OF_ETH_TYPE(86dd), NXM_NX_IP_FRAG(00)
NXM_OF_ETH_TYPE(86dd), NXM_NX_IP_FRAG(03)
nx_pull_match() returned error OFPBMC_BAD_VALUE

# Flow cookie.
NXM_NX_COOKIE(00000000abcdef01)
NXM_NX_COOKIE_W(84200000abcdef01/84200000ffffffff)
NXM_NX_COOKIE(84200000abcdef01)
<any>

# Tunnel ID.
NXM_NX_TUN_ID(00000000abcdef01)
NXM_NX_TUN_ID_W(84200000abcdef01/84200000ffffffff)
NXM_NX_TUN_ID(84200000abcdef01)
<any>

# Register 0.
NXM_NX_REG0(acebdf56)
NXM_NX_REG0_W(a0e0d050/f0f0f0f0)
NXM_NX_REG0(a0e0d050)
<any>

# Invalid field number.
nx_pull_match() returned error OFPBMC_BAD_FIELD

# Unimplemented registers.
#
# This test assumes that at least two registers, but fewer than 16,
# registers are implemented.
NXM_NX_REG0(12345678)
NXM_NX_REG0_W(12345678/12345678)
nx_pull_match() returned error OFPBMC_BAD_FIELD
nx_pull_match() returned error OFPBMC_BAD_FIELD
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:695"
$at_failed && at_fn_log_failure
$at_traceon; }


# Check that at least the first warning made it.  (It's rate-limited
# so a variable number could show up, especially under valgrind etc.)
{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:985: grep 'has 1-bits in value' stderr | sed 1q"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:985"
( $at_check_trace; grep 'has 1-bits in value' stderr | sed 1q
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "nx_match|WARN|NXM/OXM entry NXM_OF_ETH_DST_W(ffffffffffff/010000000000) has 1-bits in value for bits wildcarded by the mask.  (Future versions of OVS may report this as an OpenFlow error.)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:985"
$at_failed && at_fn_log_failure
$at_traceon; }


# Check that there wasn't any other stderr output.
{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:990: grep -v 'has 1-bits in value' stderr"
at_fn_check_prepare_trace "ovs-ofctl.at:990"
( $at_check_trace; grep -v 'has 1-bits in value' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-ofctl.at:990"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_249
#AT_START_250
at_fn_group_banner 250 'ovs-ofctl.at:993' \
  "ovs-ofctl parse-ofp10-match" "                    " 16
at_xfail=no
(
  $as_echo "250. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-data <<'_ATEOF'
# in_port=LOCAL
003820fe fffe xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx xxxx xx xx xxxx xxxxxxxx xxxxxxxx xxxx xxxx

# dl_src=00:01:02:03:04:05
003820fb xxxx 000102030405 xxxxxxxxxxxx xxxx xx xx xxxx xx xx xxxx xxxxxxxx xxxxxxxx xxxx xxxx

# dl_dst=10:20:30:40:50:60
003820f7 xxxx xxxxxxxxxxxx 102030405060 xxxx xx xx xxxx xx xx xxxx xxxxxxxx xxxxxxxx xxxx xxxx

# dl_vlan=291
003820fd xxxx xxxxxxxxxxxx xxxxxxxxxxxx 0123 xx xx xxxx xx xx xxxx xxxxxxxx xxxxxxxx xxxx xxxx

# dl_vlan_pcp=5
002820ff xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx 05 xx xxxx xx xx xxxx xxxxxxxx xxxxxxxx xxxx xxxx

# dl_vlan=291,dl_vlan_pcp=4
002820fd xxxx xxxxxxxxxxxx xxxxxxxxxxxx 0123 04 xx xxxx xx xx xxxx xxxxxxxx xxxxxxxx xxxx xxxx

# vlan_tci=0x0000
003820fd xxxx xxxxxxxxxxxx xxxxxxxxxxxx ffff xx xx xxxx xx xx xxxx xxxxxxxx xxxxxxxx xxxx xxxx

# vlan_tci=0x0000
#  1: 28 -> 38
# 20: 05 -> 00
002820fd xxxx xxxxxxxxxxxx xxxxxxxxxxxx ffff 05 xx xxxx xx xx xxxx xxxxxxxx xxxxxxxx xxxx xxxx

# dl_vlan=256,dl_vlan_pcp=7
# 18: f1 -> 01
# 20: ff -> 07
002820fd xxxx xxxxxxxxxxxx xxxxxxxxxxxx f100 ff xx xxxx xx xx xxxx xxxxxxxx xxxxxxxx xxxx xxxx

# dl_type=0x1234
003820ef xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 1234 xx xx xxxx xxxxxxxx xxxxxxxx xxxx xxxx

# ip,nw_proto=5
003820cf xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 xx 05 xxxx xxxxxxxx xxxxxxxx xxxx xxxx

# dl_type=0x1234,nw_proto=5
# normal:  3: cf -> ef
# normal: 25: 05 -> 00
& ofp_util|INFO|normalization changed ofp_match, details:
& ofp_util|INFO| pre: dl_type=0x1234,nw_proto=5
& ofp_util|INFO|post: dl_type=0x1234
003820cf xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 1234 xx 05 xxxx xxxxxxxx xxxxxxxx xxxx xxxx

# ip,nw_tos=252
001820ef xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 fc xx xxxx xxxxxxxx xxxxxxxx xxxx xxxx

# arp,nw_tos=4
# 24: 05 -> 04
# normal:  1: 18 -> 38
# normal: 24: 04 -> 00
& ofp_util|INFO|normalization changed ofp_match, details:
& ofp_util|INFO| pre: arp,nw_tos=4
& ofp_util|INFO|post: arp
001820ef xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0806 05 xx xxxx xxxxxxxx xxxxxxxx xxxx xxxx

# ip,nw_tos=48
# 24: 31 -> 30
001820ef xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 31 xx xxxx xxxxxxxx xxxxxxxx xxxx xxxx

# arp,arp_op=2
003820cf xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0806 xx 02 xxxx xxxxxxxx xxxxxxxx xxxx xxxx

# ip,nw_src=192.168.128.85
003800ef xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 xx xx xxxx c0a88055 xxxxxxxx xxxx xxxx

# ip,nw_src=192.168.128.0/24
# 31: 55 -> 00
003808ef xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 xx xx xxxx c0a88055 xxxxxxxx xxxx xxxx

# ip,nw_dst=192.168.128.85
003020ef xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 xx xx xxxx xxxxxxxx c0a88055 xxxx xxxx

# ip,nw_dst=192.168.128.0/24
# 35: 55 -> 00
003220ef xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 xx xx xxxx xxxxxxxx c0a88055 xxxx xxxx

# arp,arp_spa=192.168.128.85
003800ef xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0806 xx xx xxxx c0a88055 xxxxxxxx xxxx xxxx

# arp,arp_spa=192.168.128.0/24
# 31: 55 -> 00
003808ef xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0806 xx xx xxxx c0a88055 xxxxxxxx xxxx xxxx

# arp,arp_tpa=192.168.128.85
003020ef xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0806 xx xx xxxx xxxxxxxx c0a88055 xxxx xxxx

# arp,arp_tpa=192.168.128.0/24
# 35: 55 -> 00
003220ef xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0806 xx xx xxxx xxxxxxxx c0a88055 xxxx xxxx

# dl_type=0x1234,nw_src=192.168.128.0/24
# 31: 55 -> 00
# normal:  2: 08 -> 20
# normal: 28: c0 -> 00
# normal: 29: a8 -> 00
# normal: 30: 80 -> 00
& ofp_util|INFO|normalization changed ofp_match, details:
& ofp_util|INFO| pre: dl_type=0x1234,nw_src=192.168.128.0/24
& ofp_util|INFO|post: dl_type=0x1234
003808ef xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 1234 xx xx xxxx c0a88055 xxxxxxxx xxxx xxxx

# dl_type=0x1234,nw_dst=192.168.128.0/24
# 35: 55 -> 00
# normal:  1: 32 -> 38
# normal: 32: c0 -> 00
# normal: 33: a8 -> 00
# normal: 34: 80 -> 00
& ofp_util|INFO|normalization changed ofp_match, details:
& ofp_util|INFO| pre: dl_type=0x1234,nw_dst=192.168.128.0/24
& ofp_util|INFO|post: dl_type=0x1234
003220ef xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 1234 xx xx xxxx xxxxxxxx c0a88055 xxxx xxxx

# tcp,tp_src=443
0038208f xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 xx 06 xxxx xxxxxxxx xxxxxxxx 01bb xxxx

# tcp,tp_dst=443
0038204f xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 xx 06 xxxx xxxxxxxx xxxxxxxx xxxx 01bb

# udp,tp_src=443
0038208f xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 xx 11 xxxx xxxxxxxx xxxxxxxx 01bb xxxx

# udp,tp_dst=443
0038204f xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 xx 11 xxxx xxxxxxxx xxxxxxxx xxxx 01bb

# sctp,tp_src=443
0038208f xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 xx 84 xxxx xxxxxxxx xxxxxxxx 01bb xxxx

# sctp,tp_dst=443
0038204f xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 xx 84 xxxx xxxxxxxx xxxxxxxx xxxx 01bb

# icmp,icmp_type=5
0038208f xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 xx 01 xxxx xxxxxxxx xxxxxxxx 0005 xxxx

# icmp,icmp_code=8
0038204f xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 xx 01 xxxx xxxxxxxx xxxxxxxx xxxx 0008

# ip,nw_proto=21,tp_src=443
# normal:  3: 8f -> cf
# normal: 36: 01 -> 00
# normal: 37: bb -> 00
& ofp_util|INFO|normalization changed ofp_match, details:
& ofp_util|INFO| pre: ip,nw_proto=21,tp_src=443
& ofp_util|INFO|post: ip,nw_proto=21
0038208f xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 xx 15 xxxx xxxxxxxx xxxxxxxx 01bb xxxx

# ip,nw_proto=21,tp_dst=443
# normal:  3: 4f -> cf
# normal: 38: 01 -> 00
# normal: 39: bb -> 00
0038204f xxxx xxxxxxxxxxxx xxxxxxxxxxxx xxxx xx xx 0800 xx 15 xxxx xxxxxxxx xxxxxxxx xxxx 01bb

_ATEOF

sed '/^[#&]/d' < test-data > input.txt
sed -n 's/^# //p; /^$/p' < test-data > expout
sed -n 's/^& //p' < test-data > experr



{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:1203: ovs-ofctl '-vPATTERN:console:%c|%p|%m' parse-ofp10-match < input.txt"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:1203"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' parse-ofp10-match < input.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
$at_diff experr "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:1203"
$at_failed && at_fn_log_failure  \
"input.txt" \
"expout" \
"experr"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_250
#AT_START_251
at_fn_group_banner 251 'ovs-ofctl.at:1208' \
  "ovs-ofctl parse-ofp11-match" "                    " 16
at_xfail=no
(
  $as_echo "251. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-data <<'_ATEOF'
# in_port=LOCAL
0000 0058 fffffffe 000003fe 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# bad ofp11_match: OFPBMC_BAD_VALUE
& ofp_util|WARN|port 305419896 is outside the supported range 0 through 65279 or 0xffffff00 through 0xffffffff
0000 0058 12345678 000003fe 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# dl_src=00:01:02:03:04:05
0000 0058 00000000 000003ff 000102030405000000000000 000000000000ffffffffffff 0000 00 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# dl_src=55:55:55:55:55:55/55:55:55:55:55:55
0000 0058 00000000 000003ff 555555555555aaaaaaaaaaaa 000000000000ffffffffffff 0000 00 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# dl_dst=00:01:02:03:04:05
0000 0058 00000000 000003ff 000000000000ffffffffffff 000102030405000000000000 0000 00 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# dl_dst=01:00:00:00:00:00/01:00:00:00:00:00
0000 0058 00000000 000003ff 000000000000ffffffffffff 010000000000feffffffffff 0000 00 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# dl_dst=00:01:02:03:04:05/fe:ff:ff:ff:ff:ff
0000 0058 00000000 000003ff 000000000000ffffffffffff 000102030405010000000000 0000 00 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# dl_dst=55:55:55:55:55:55/55:55:55:55:55:55
0000 0058 00000000 000003ff 000000000000ffffffffffff 555555555555aaaaaaaaaaaa 0000 00 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# in_port=1
# 11: fa -> fe
# 38: 03 -> 00
0000 0058 00000001 000003fa 000000000000ffffffffffff 000000000000ffffffffffff 0000 03 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# dl_vlan=291
0000 0058 00000000 000003fd 000000000000ffffffffffff 000000000000ffffffffffff 0123 00 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# vlan_tci=0x0000
0000 0058 00000000 000003fd 000000000000ffffffffffff 000000000000ffffffffffff ffff 00 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# vlan_tci=0x0000
# 11: f9 -> fd
# 38: 05 -> 00
0000 0058 00000000 000003f9 000000000000ffffffffffff 000000000000ffffffffffff ffff 05 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# vlan_tci=0x1000/0x1000
0000 0058 00000000 000003fd 000000000000ffffffffffff 000000000000ffffffffffff fffe 00 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# bad ofp11_match: OFPBMC_BAD_VALUE
0000 0058 00000000 000003fd 000000000000ffffffffffff 000000000000ffffffffffff 1234 00 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# dl_vlan_pcp=4
0000 0058 00000000 000003f9 000000000000ffffffffffff 000000000000ffffffffffff fffe 04 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# dl_vlan=10,dl_vlan_pcp=6
0000 0058 00000000 000003f9 000000000000ffffffffffff 000000000000ffffffffffff 000a 06 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# dl_type=0x1234
0000 0058 00000000 000003f7 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 1234 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# ip,nw_tos=252
0000 0058 00000000 000003e7 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 fc 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# bad ofp11_match: OFPBMC_BAD_VALUE
0000 0058 00000000 000003e7 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 01 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# ip,nw_proto=5
0000 0058 00000000 000003d7 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 05 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# arp,arp_op=2
0000 0058 00000000 000003d7 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0806 00 02 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# ip,nw_src=192.168.128.0/24
0000 0058 00000000 000003f7 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 00 c0a88000000000ff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# ip,nw_src=128.160.128.0/165.165.165.165
# 44: c0 -> 80
# 45: a8 -> a0
0000 0058 00000000 000003f7 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 00 c0a880005a5a5a5a 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# ip,nw_dst=192.168.128.0/24
0000 0058 00000000 000003f7 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 00 00000000ffffffff c0a88000000000ff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# ip,nw_dst=128.160.128.0/165.165.165.165
# 52: c0 -> 80
# 53: a8 -> a0
0000 0058 00000000 000003f7 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 00 00000000ffffffff c0a880005a5a5a5a 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# arp,arp_spa=192.168.128.0/24
0000 0058 00000000 000003f7 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0806 00 00 c0a88000000000ff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# arp,arp_tpa=192.168.128.0/24
0000 0058 00000000 000003f7 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0806 00 00 00000000ffffffff c0a88000000000ff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# tcp,tp_src=443
0000 0058 00000000 00000397 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 06 00000000ffffffff 00000000ffffffff 01bb 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# tcp,tp_dst=443
0000 0058 00000000 00000357 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 06 00000000ffffffff 00000000ffffffff 0000 01bb 00000000 00 000000 0000000000000000ffffffffffffffff

# udp,tp_src=443
0000 0058 00000000 00000397 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 11 00000000ffffffff 00000000ffffffff 01bb 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# icmp,icmp_type=5
0000 0058 00000000 00000397 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 01 00000000ffffffff 00000000ffffffff 0005 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# icmp,icmp_code=8
0000 0058 00000000 00000357 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 01 00000000ffffffff 00000000ffffffff 0000 0008 00000000 00 000000 0000000000000000ffffffffffffffff

# udp,tp_src=443
0000 0058 00000000 00000397 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 11 00000000ffffffff 00000000ffffffff 01bb 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# udp,tp_dst=443
0000 0058 00000000 00000357 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 11 00000000ffffffff 00000000ffffffff 0000 01bb 00000000 00 000000 0000000000000000ffffffffffffffff

# sctp
0000 0058 00000000 000003d7 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 84 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# sctp,tp_src=443
0000 0058 00000000 00000397 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 84 00000000ffffffff 00000000ffffffff 01bb 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# sctp,tp_dst=443
0000 0058 00000000 00000357 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 84 00000000ffffffff 00000000ffffffff 0000 01bb 00000000 00 000000 0000000000000000ffffffffffffffff

# ip,nw_proto=21
# 11: 97 -> d7
# 60: 01 -> 00
# 61: bb -> 00
0000 0058 00000000 00000397 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 15 00000000ffffffff 00000000ffffffff 01bb 0000 00000000 00 000000 0000000000000000ffffffffffffffff

# ip,nw_proto=22
# 11: 57 -> d7
# 62: 01 -> 00
# 63: bb -> 00
0000 0058 00000000 00000357 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0800 00 16 00000000ffffffff 00000000ffffffff 0000 01bb 00000000 00 000000 0000000000000000ffffffffffffffff

# bad ofp11_match: OFPBMC_BAD_TAG
0000 0058 00000000 000002f7 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 8847 00 00 00000000ffffffff 00000000ffffffff 0000 0000 12345678 00 000000 0000000000000000ffffffffffffffff

# bad ofp11_match: OFPBMC_BAD_TAG
0000 0058 00000000 000001f7 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 8848 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 5a 000000 0000000000000000ffffffffffffffff

# dl_type=0x1234
# 10: 00 -> 03
# 64: 12 -> 00
# 65: 34 -> 00
# 66: 56 -> 00
# 67: 78 -> 00
# 68: 5a -> 00
0000 0058 00000000 000000f7 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 1234 00 00 00000000ffffffff 00000000ffffffff 0000 0000 12345678 5a 000000 0000000000000000ffffffffffffffff

# metadata=0x1234567890abcdef
0000 0058 00000000 000003ff 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 1234567890abcdef0000000000000000

# metadata=0x5555555555555555/0x5555555555555555
0000 0058 00000000 000003ff 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 5555555555555555aaaaaaaaaaaaaaaa

# metadata=0x1234000090ab0000/0xffff0000ffff0000
# 74: 56 -> 00
# 75: 78 -> 00
# 78: cd -> 00
# 79: ef -> 00
0000 0058 00000000 000003ff 000000000000ffffffffffff 000000000000ffffffffffff 0000 00 00 0000 00 00 00000000ffffffff 00000000ffffffff 0000 0000 00000000 00 000000 1234567890abcdef0000ffff0000ffff

_ATEOF

sed '/^[#&]/d' < test-data > input.txt
sed -n 's/^# //p; /^$/p' < test-data > expout
sed -n 's/^& //p' < test-data > experr



{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:1528: ovs-ofctl '-vPATTERN:console:%c|%p|%m' parse-ofp11-match < input.txt"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:1528"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' parse-ofp11-match < input.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
$at_diff experr "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:1528"
$at_failed && at_fn_log_failure  \
"input.txt" \
"expout" \
"experr"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_251
#AT_START_252
at_fn_group_banner 252 'ovs-ofctl.at:1533' \
  "ovs-ofctl parse-nx-match loose" "                 " 16
at_xfail=no
(
  $as_echo "252. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >nx-match.txt <<'_ATEOF'
NXM_OF_IN_PORT(0001), 01020304(1111/2222), NXM_OF_ETH_TYPE(0800)
_ATEOF


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:1539: ovs-ofctl --strict parse-nx-match < nx-match.txt"
at_fn_check_prepare_trace "ovs-ofctl.at:1539"
( $at_check_trace; ovs-ofctl --strict parse-nx-match < nx-match.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "nx_pull_match() returned error OFPBMC_BAD_FIELD
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:1539"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:1543: ovs-ofctl parse-nx-match < nx-match.txt"
at_fn_check_prepare_trace "ovs-ofctl.at:1543"
( $at_check_trace; ovs-ofctl parse-nx-match < nx-match.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXM_OF_IN_PORT(0001), NXM_OF_ETH_TYPE(0800)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:1543"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_252
#AT_START_253
at_fn_group_banner 253 'ovs-ofctl.at:1548' \
  "ovs-ofctl parse-oxm" "                            " 16
at_xfail=no
(
  $as_echo "253. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >oxm.txt <<'_ATEOF'
<any>

# in port
OXM_OF_IN_PORT(00000000)
OXM_OF_IN_PORT(fffffffe)

# metadata
OXM_OF_METADATA(5a5a5a5a5a5a5a5a)
OXM_OF_METADATA_W(0000000000000000/00000000ffffffff)
OXM_OF_METADATA_W(1234567890abcdef/ffff0000ffff0000)
OXM_OF_METADATA_W(1234567890abcdef/ffffffffffffffff)
OXM_OF_METADATA_W(1234567890abcdef/0000000000000000)

# eth dst
OXM_OF_ETH_DST(0002e30f80a4)
OXM_OF_ETH_DST_W(010000000000/010000000000)
OXM_OF_ETH_DST_W(000000000000/010000000000)
OXM_OF_ETH_DST_W(ffffffffffff/010000000000)
OXM_OF_ETH_DST_W(0002e30f80a4/ffffffffffff)
OXM_OF_ETH_DST_W(0002e30f80a4/000000000000)
OXM_OF_ETH_DST_W(0002e30f80a4/feffffffffff)

# eth src
OXM_OF_ETH_SRC(020898456ddb)

# eth type
OXM_OF_ETH_TYPE(0800)
OXM_OF_ETH_TYPE(0800) OXM_OF_IN_PORT(00000012)

# vlan
OXM_OF_VLAN_VID(1009) OXM_OF_VLAN_VID(1009) # Duplicate Field
OXM_OF_VLAN_VID(f009)           # Bad Value
OXM_OF_VLAN_PCP(00)             # Bad Pre-Requisite
OXM_OF_VLAN_VID(0000)           # Packets without 802.1Q header or with VID=0
OXM_OF_VLAN_VID(1123)           # Packets with VID=123, any PCP
OXM_OF_VLAN_VID(1123) OXM_OF_VLAN_PCP(01) # Packets with VID=123, PCP=1.
OXM_OF_VLAN_VID(0123)           # Does not make sense (but supported anyway)
OXM_OF_VLAN_VID_W(0123/0123)      # Does not make sense (but supported anyway)
OXM_OF_VLAN_VID_W(1123/0123)      # Does not make sense (but supported anyway)
OXM_OF_VLAN_VID_W(0123/1123)      # Does not make sense (but supported anyway)
OXM_OF_VLAN_VID(0123) OXM_OF_VLAN_PCP(01)  #Bad Pre-Requisite
OXM_OF_VLAN_VID_W(1123/1fff)    # Packets with VID=123, any PCP.
OXM_OF_VLAN_VID_W(1123/ffff)    # Packets with VID=123, any PCP.
OXM_OF_VLAN_VID_W(1123/0000)    # Packets with or without 802.1Q header
OXM_OF_VLAN_VID_W(1123/1f0f),   # Packets with # VID=123 (masked)
OXM_OF_VLAN_VID_W(1123/1f0f), OXM_OF_VLAN_PCP(01)  # Packets with VID=123 (masked), any PCP.
OXM_OF_VLAN_VID_W(1000/1000)    # Packets with any VID, any PCP
OXM_OF_VLAN_VID_W(1000/1000), OXM_OF_VLAN_PCP(01)  # Packets with any VID, PCP=1.

# IP TOS
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_DSCP(f0)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_DSCP(41)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_DSCP(3f)
OXM_OF_IP_DSCP(f0)

# IP ECN
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_ECN(03)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_ECN(06)
OXM_OF_IP_ECN(03)

# IP protocol
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(01)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(05)
OXM_OF_IP_PROTO(05)

# IP source
OXM_OF_ETH_TYPE(0800) OXM_OF_IPV4_SRC(ac100014)
OXM_OF_ETH_TYPE(0800) OXM_OF_IPV4_SRC_W(C0a80000/FFFF0000)
OXM_OF_ETH_TYPE(0800) OXM_OF_IPV4_SRC_W(C0a80000/FFFFFFFF)
OXM_OF_ETH_TYPE(0800) OXM_OF_IPV4_SRC_W(C0a80000/00000000)
OXM_OF_ETH_TYPE(0806) OXM_OF_IPV4_SRC(ac100014)
OXM_OF_IPV4_SRC_W(C0D80000/FFFF0000)

# IP destination
OXM_OF_ETH_TYPE(0800) OXM_OF_IPV4_DST(ac100014)
OXM_OF_ETH_TYPE(0800) OXM_OF_IPV4_DST_W(C0a88012/FFFF0000)
OXM_OF_ETH_TYPE(0800) OXM_OF_IPV4_DST_W(C0a88012/FFFFFFFF)
OXM_OF_ETH_TYPE(0800) OXM_OF_IPV4_DST_W(C0a88012/00000000)
OXM_OF_IPV4_DST(ac100014)
OXM_OF_ETH_TYPE(0806) OXM_OF_IPV4_DST_W(C0D80000/FFFF0000)

# TCP source port
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(06) OXM_OF_TCP_SRC(4231)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(06) OXM_OF_TCP_SRC_W(5050/F0F0)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(06) OXM_OF_TCP_SRC_W(5050/FFFF)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(06) OXM_OF_TCP_SRC_W(5050/0000)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(07) OXM_OF_TCP_SRC(4231)

# TCP destination port
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(06) OXM_OF_TCP_DST(4231)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(06) OXM_OF_TCP_DST_W(FDE0/FFF0)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(06) OXM_OF_TCP_DST_W(FDE0/FFFF)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(06) OXM_OF_TCP_DST_W(FDE0/0000)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(07) OXM_OF_TCP_DST(4231)

# UDP source port
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(11) OXM_OF_UDP_SRC(8732)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(11) OXM_OF_UDP_SRC_W(0132/01FF)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(11) OXM_OF_UDP_SRC_W(0132/FFFF)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(11) OXM_OF_UDP_SRC_W(0132/0000)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(06) OXM_OF_UDP_SRC(7823)

# UDP destination port
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(11) OXM_OF_UDP_DST(1782)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(11) OXM_OF_UDP_DST_W(5005/F00F)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(11) OXM_OF_UDP_DST_W(5005/FFFF)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(11) OXM_OF_UDP_DST_W(5005/0000)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(02) OXM_OF_UDP_DST(1293)

# SCTP source port
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(84) OXM_OF_SCTP_SRC(8732)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(84) OXM_OF_SCTP_SRC_W(0132/01FF)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(84) OXM_OF_SCTP_SRC_W(0132/FFFF)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(84) OXM_OF_SCTP_SRC_W(0132/0000)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(06) OXM_OF_SCTP_SRC(7823)

# SCTP destination port
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(84) OXM_OF_SCTP_DST(1782)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(84) OXM_OF_SCTP_DST_W(5005/F00F)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(84) OXM_OF_SCTP_DST_W(5005/FFFF)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(84) OXM_OF_SCTP_DST_W(5005/0000)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(02) OXM_OF_SCTP_DST(1293)

# ICMP type
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(01) OXM_OF_ICMPV4_TYPE(12)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(00) OXM_OF_ICMPV4_TYPE(10)

# ICMP code
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(01) OXM_OF_ICMPV4_CODE(12)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(00) OXM_OF_ICMPV4_CODE(10)
OXM_OF_ETH_TYPE(0800) OXM_OF_ICMPV4_CODE(10)
OXM_OF_ICMPV4_CODE(00)

# ARP opcode
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_OP(0001)
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_OP(1111)
OXM_OF_ETH_TYPE(0000) OXM_OF_ARP_OP(0001)
OXM_OF_ARP_OP(0001)
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_OP(0001) OXM_OF_ARP_OP(0001)

# ARP source protocol address
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_SPA(ac100014)
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_SPA_W(C0a81234/FFFFFF00)
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_SPA_W(C0a81234/FFFFFFFF)
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_SPA_W(C0a81234/00000000)
OXM_OF_ETH_TYPE(0800) OXM_OF_ARP_SPA(ac100014)
OXM_OF_ARP_SPA_W(C0D8fedc/FFFF0000)

# ARP destination protocol address
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_TPA(ac100014)
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_TPA_W(C0a812fe/FFFFFF00)
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_TPA_W(C0a812fe/FFFFFFFF)
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_TPA_W(C0a812fe/00000000)
OXM_OF_ETH_TYPE(0800) OXM_OF_ARP_TPA(ac100014)
OXM_OF_ARP_TPA_W(C0D80000/FFFF0000)

# ARP source hardware address
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_SHA(0002e30f80a4)
OXM_OF_ETH_TYPE(0800) OXM_OF_ARP_SHA(0002e30f80a4)
OXM_OF_ARP_SHA(0002e30f80a4)
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_SHA_W(0002e30f80a4/ffffffffffff)
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_SHA_W(0002e30f80a4/000000000000)
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_SHA_W(0002e30f80a4/00000000000f)

# ARP destination hardware address
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_THA(0002e30f80a4)
OXM_OF_ETH_TYPE(0800) OXM_OF_ARP_THA(0002e30f80a4)
OXM_OF_ARP_THA(0002e30f80a4)
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_THA_W(0002e30f80a4/ffffffffffff)
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_THA_W(0002e30f80a4/000000000000)
OXM_OF_ETH_TYPE(0806) OXM_OF_ARP_THA_W(0002e30f80a4/00000000000f)

# IPv6 source
OXM_OF_ETH_TYPE(86dd) OXM_OF_IPV6_SRC(20010db83c4d00010002000300040005)
OXM_OF_ETH_TYPE(0800) OXM_OF_IPV6_SRC(20010db83c4d00010002000300040005)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IPV6_SRC_W(20010db83c4d00010000000000000000/ffffffffffffffff0000000000000000)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IPV6_SRC_W(20010db83c4d00010000000000000000/ffffffffffffffffffffffffffffffff)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IPV6_SRC_W(20010db83c4d00010000000000000000/00000000000000000000000000000000)
OXM_OF_ETH_TYPE(0800) OXM_OF_IPV6_SRC_W(20010db83c4d00010000000000000000/ffffffffffffffff0000000000000000)

# IPv6 destination
OXM_OF_ETH_TYPE(86dd) OXM_OF_IPV6_DST(20010db83c4d00010002000300040005)
OXM_OF_ETH_TYPE(0800) OXM_OF_IPV6_DST(20010db83c4d00010002000300040005)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IPV6_DST_W(20010db83c4d00010000000000000000/ffffffffffffffff0000000000000000)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IPV6_DST_W(20010db83c4d00010000000000000000/ffffffffffffffffffffffffffffffff)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IPV6_DST_W(20010db83c4d00010000000000000000/00000000000000000000000000000000)
OXM_OF_ETH_TYPE(0800) OXM_OF_IPV6_DST_W(20010db83c4d00010000000000000000/ffffffffffffffff0000000000000000)

# IPv6 Flow Label
OXM_OF_ETH_TYPE(86dd) OXM_OF_IPV6_FLABEL(1000000f)
OXM_OF_IPV6_FLABEL(0000000f)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IPV6_FLABEL(0000000f)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IPV6_FLABEL_W(0000000f/0000000f)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IPV6_FLABEL_W(0000000f/000fffff)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IPV6_FLABEL_W(0000000f/000ffff0)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IPV6_FLABEL_W(0000000f/100fffff)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IPV6_FLABEL_W(0000000f/ffffffff)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IPV6_FLABEL_W(0000000f/00000000)

# ND source hardware address
OXM_OF_ETH_TYPE(86dd) OXM_OF_IP_PROTO(3a) OXM_OF_ICMPV6_TYPE(87) OXM_OF_IPV6_ND_TARGET(20010db83c4d00010002000300040005) OXM_OF_IPV6_ND_SLL(0002e30f80a4)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IP_PROTO(3a) OXM_OF_ICMPV6_TYPE(88) OXM_OF_IPV6_ND_TARGET(20010db83c4d00010002000300040005) OXM_OF_IPV6_ND_SLL(0002e30f80a4)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IP_PROTO(3b) OXM_OF_ICMPV6_TYPE(87) OXM_OF_IPV6_ND_TARGET(20010db83c4d00010002000300040005) OXM_OF_IPV6_ND_SLL(0002e30f80a4)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(3a) OXM_OF_ICMPV6_TYPE(87) OXM_OF_IPV6_ND_TARGET(20010db83c4d00010002000300040005) OXM_OF_IPV6_ND_SLL(0002e30f80a4)

# ND destination hardware address
OXM_OF_ETH_TYPE(86dd) OXM_OF_IP_PROTO(3a) OXM_OF_ICMPV6_TYPE(88) OXM_OF_IPV6_ND_TARGET(20010db83c4d00010002000300040005) OXM_OF_IPV6_ND_TLL(0002e30f80a4)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IP_PROTO(3a) OXM_OF_ICMPV6_TYPE(87) OXM_OF_IPV6_ND_TARGET(20010db83c4d00010002000300040005) OXM_OF_IPV6_ND_TLL(0002e30f80a4)
OXM_OF_ETH_TYPE(86dd) OXM_OF_IP_PROTO(3b) OXM_OF_ICMPV6_TYPE(87) OXM_OF_IPV6_ND_TARGET(20010db83c4d00010002000300040005) OXM_OF_IPV6_ND_TLL(0002e30f80a4)
OXM_OF_ETH_TYPE(0800) OXM_OF_IP_PROTO(3a) OXM_OF_ICMPV6_TYPE(88) OXM_OF_IPV6_ND_TARGET(20010db83c4d00010002000300040005) OXM_OF_IPV6_ND_TLL(0002e30f80a4)

# Invalid field number.
01020304(1111/2222)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:1765: ovs-ofctl '-vPATTERN:console:%c|%p|%m' --strict parse-oxm < oxm.txt"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:1765"
( $at_check_trace; ovs-ofctl '-vPATTERN:console:%c|%p|%m' --strict parse-oxm < oxm.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "<any>

# in port
OXM_OF_IN_PORT(00000000)
OXM_OF_IN_PORT(fffffffe)

# metadata
OXM_OF_METADATA(5a5a5a5a5a5a5a5a)
OXM_OF_METADATA_W(0000000000000000/00000000ffffffff)
OXM_OF_METADATA_W(1234000090ab0000/ffff0000ffff0000)
OXM_OF_METADATA(1234567890abcdef)
<any>

# eth dst
OXM_OF_ETH_DST(0002e30f80a4)
OXM_OF_ETH_DST_W(010000000000/010000000000)
OXM_OF_ETH_DST_W(000000000000/010000000000)
OXM_OF_ETH_DST_W(010000000000/010000000000)
OXM_OF_ETH_DST(0002e30f80a4)
<any>
OXM_OF_ETH_DST_W(0002e30f80a4/feffffffffff)

# eth src
OXM_OF_ETH_SRC(020898456ddb)

# eth type
OXM_OF_ETH_TYPE(0800)
OXM_OF_IN_PORT(00000012), OXM_OF_ETH_TYPE(0800)

# vlan
nx_pull_match() returned error OFPBMC_DUP_FIELD
nx_pull_match() returned error OFPBMC_BAD_VALUE
nx_pull_match() returned error OFPBMC_BAD_PREREQ
OXM_OF_VLAN_VID(0000)
OXM_OF_VLAN_VID(1123)
OXM_OF_VLAN_VID(1123), OXM_OF_VLAN_PCP(01)
OXM_OF_VLAN_VID(0123)
OXM_OF_VLAN_VID_W(0123/0123)
OXM_OF_VLAN_VID_W(0123/0123)
OXM_OF_VLAN_VID_W(0123/1123)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
OXM_OF_VLAN_VID(1123)
OXM_OF_VLAN_VID(1123)
<any>
OXM_OF_VLAN_VID_W(1103/1f0f)
OXM_OF_VLAN_VID_W(1103/1f0f), OXM_OF_VLAN_PCP(01)
OXM_OF_VLAN_VID_W(1000/1000)
OXM_OF_VLAN_VID_W(1000/1000), OXM_OF_VLAN_PCP(01)

# IP TOS
nx_pull_match() returned error OFPBMC_BAD_VALUE
nx_pull_match() returned error OFPBMC_BAD_VALUE
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_DSCP(3f)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# IP ECN
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_ECN(03)
nx_pull_match() returned error OFPBMC_BAD_VALUE
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# IP protocol
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(01)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(05)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# IP source
OXM_OF_ETH_TYPE(0800), OXM_OF_IPV4_SRC(ac100014)
OXM_OF_ETH_TYPE(0800), OXM_OF_IPV4_SRC_W(c0a80000/ffff0000)
OXM_OF_ETH_TYPE(0800), OXM_OF_IPV4_SRC(c0a80000)
OXM_OF_ETH_TYPE(0800)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# IP destination
OXM_OF_ETH_TYPE(0800), OXM_OF_IPV4_DST(ac100014)
OXM_OF_ETH_TYPE(0800), OXM_OF_IPV4_DST_W(c0a80000/ffff0000)
OXM_OF_ETH_TYPE(0800), OXM_OF_IPV4_DST(c0a88012)
OXM_OF_ETH_TYPE(0800)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# TCP source port
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(06), OXM_OF_TCP_SRC(4231)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(06), OXM_OF_TCP_SRC_W(5050/f0f0)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(06), OXM_OF_TCP_SRC(5050)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(06)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# TCP destination port
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(06), OXM_OF_TCP_DST(4231)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(06), OXM_OF_TCP_DST_W(fde0/fff0)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(06), OXM_OF_TCP_DST(fde0)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(06)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# UDP source port
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(11), OXM_OF_UDP_SRC(8732)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(11), OXM_OF_UDP_SRC_W(0132/01ff)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(11), OXM_OF_UDP_SRC(0132)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(11)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# UDP destination port
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(11), OXM_OF_UDP_DST(1782)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(11), OXM_OF_UDP_DST_W(5005/f00f)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(11), OXM_OF_UDP_DST(5005)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(11)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# SCTP source port
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(84), OXM_OF_SCTP_SRC(8732)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(84), OXM_OF_SCTP_SRC_W(0132/01ff)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(84), OXM_OF_SCTP_SRC(0132)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(84)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# SCTP destination port
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(84), OXM_OF_SCTP_DST(1782)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(84), OXM_OF_SCTP_DST_W(5005/f00f)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(84), OXM_OF_SCTP_DST(5005)
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(84)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# ICMP type
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(01), OXM_OF_ICMPV4_TYPE(12)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# ICMP code
OXM_OF_ETH_TYPE(0800), OXM_OF_IP_PROTO(01), OXM_OF_ICMPV4_CODE(12)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# ARP opcode
OXM_OF_ETH_TYPE(0806), OXM_OF_ARP_OP(0001)
nx_pull_match() returned error OFPBMC_BAD_VALUE
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_DUP_FIELD

# ARP source protocol address
OXM_OF_ETH_TYPE(0806), OXM_OF_ARP_SPA(ac100014)
OXM_OF_ETH_TYPE(0806), OXM_OF_ARP_SPA_W(c0a81200/ffffff00)
OXM_OF_ETH_TYPE(0806), OXM_OF_ARP_SPA(c0a81234)
OXM_OF_ETH_TYPE(0806)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# ARP destination protocol address
OXM_OF_ETH_TYPE(0806), OXM_OF_ARP_TPA(ac100014)
OXM_OF_ETH_TYPE(0806), OXM_OF_ARP_TPA_W(c0a81200/ffffff00)
OXM_OF_ETH_TYPE(0806), OXM_OF_ARP_TPA(c0a812fe)
OXM_OF_ETH_TYPE(0806)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# ARP source hardware address
OXM_OF_ETH_TYPE(0806), OXM_OF_ARP_SHA(0002e30f80a4)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ
OXM_OF_ETH_TYPE(0806), OXM_OF_ARP_SHA(0002e30f80a4)
OXM_OF_ETH_TYPE(0806)
OXM_OF_ETH_TYPE(0806), OXM_OF_ARP_SHA_W(000000000004/00000000000f)

# ARP destination hardware address
OXM_OF_ETH_TYPE(0806), OXM_OF_ARP_THA(0002e30f80a4)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ
OXM_OF_ETH_TYPE(0806), OXM_OF_ARP_THA(0002e30f80a4)
OXM_OF_ETH_TYPE(0806)
OXM_OF_ETH_TYPE(0806), OXM_OF_ARP_THA_W(000000000004/00000000000f)

# IPv6 source
OXM_OF_ETH_TYPE(86dd), OXM_OF_IPV6_SRC(20010db83c4d00010002000300040005)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
OXM_OF_ETH_TYPE(86dd), OXM_OF_IPV6_SRC_W(20010db83c4d00010000000000000000/ffffffffffffffff0000000000000000)
OXM_OF_ETH_TYPE(86dd), OXM_OF_IPV6_SRC(20010db83c4d00010000000000000000)
OXM_OF_ETH_TYPE(86dd)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# IPv6 destination
OXM_OF_ETH_TYPE(86dd), OXM_OF_IPV6_DST(20010db83c4d00010002000300040005)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
OXM_OF_ETH_TYPE(86dd), OXM_OF_IPV6_DST_W(20010db83c4d00010000000000000000/ffffffffffffffff0000000000000000)
OXM_OF_ETH_TYPE(86dd), OXM_OF_IPV6_DST(20010db83c4d00010000000000000000)
OXM_OF_ETH_TYPE(86dd)
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# IPv6 Flow Label
nx_pull_match() returned error OFPBMC_BAD_VALUE
nx_pull_match() returned error OFPBMC_BAD_PREREQ
OXM_OF_ETH_TYPE(86dd), OXM_OF_IPV6_FLABEL(0000000f)
OXM_OF_ETH_TYPE(86dd), OXM_OF_IPV6_FLABEL_W(0000000f/0000000f)
OXM_OF_ETH_TYPE(86dd), OXM_OF_IPV6_FLABEL(0000000f)
OXM_OF_ETH_TYPE(86dd), OXM_OF_IPV6_FLABEL_W(00000000/000ffff0)
OXM_OF_ETH_TYPE(86dd), OXM_OF_IPV6_FLABEL(0000000f)
OXM_OF_ETH_TYPE(86dd), OXM_OF_IPV6_FLABEL(0000000f)
OXM_OF_ETH_TYPE(86dd)

# ND source hardware address
OXM_OF_ETH_TYPE(86dd), OXM_OF_IP_PROTO(3a), OXM_OF_ICMPV6_TYPE(87), OXM_OF_IPV6_ND_TARGET(20010db83c4d00010002000300040005), OXM_OF_IPV6_ND_SLL(0002e30f80a4)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# ND destination hardware address
OXM_OF_ETH_TYPE(86dd), OXM_OF_IP_PROTO(3a), OXM_OF_ICMPV6_TYPE(88), OXM_OF_IPV6_ND_TARGET(20010db83c4d00010002000300040005), OXM_OF_IPV6_ND_TLL(0002e30f80a4)
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ
nx_pull_match() returned error OFPBMC_BAD_PREREQ

# Invalid field number.
nx_pull_match() returned error OFPBMC_BAD_FIELD
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:1765"
$at_failed && at_fn_log_failure
$at_traceon; }


# Check that at least the first warning made it.  (It's rate-limited
# so a variable number could show up, especially under valgrind etc.)
{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:1984: grep 'has 1-bits in value' stderr | sed 1q"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:1984"
( $at_check_trace; grep 'has 1-bits in value' stderr | sed 1q
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "nx_match|WARN|NXM/OXM entry OXM_OF_METADATA_W(1234567890abcdef/ffff0000ffff0000) has 1-bits in value for bits wildcarded by the mask.  (Future versions of OVS may report this as an OpenFlow error.)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:1984"
$at_failed && at_fn_log_failure
$at_traceon; }


# Check that there wasn't any other stderr output.
{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:1989: grep -v 'has 1-bits in value' stderr"
at_fn_check_prepare_trace "ovs-ofctl.at:1989"
( $at_check_trace; grep -v 'has 1-bits in value' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-ofctl.at:1989"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_253
#AT_START_254
at_fn_group_banner 254 'ovs-ofctl.at:1992' \
  "ovs-ofctl parse-oxm loose" "                      " 16
at_xfail=no
(
  $as_echo "254. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >oxm.txt <<'_ATEOF'
OXM_OF_IN_PORT(00000001), 01020304(1111/2222), OXM_OF_ETH_TYPE(0800)
_ATEOF


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:1998: ovs-ofctl --strict parse-oxm < oxm.txt"
at_fn_check_prepare_trace "ovs-ofctl.at:1998"
( $at_check_trace; ovs-ofctl --strict parse-oxm < oxm.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "nx_pull_match() returned error OFPBMC_BAD_FIELD
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:1998"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2002: ovs-ofctl parse-oxm < oxm.txt"
at_fn_check_prepare_trace "ovs-ofctl.at:2002"
( $at_check_trace; ovs-ofctl parse-oxm < oxm.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OXM_OF_IN_PORT(00000001), OXM_OF_ETH_TYPE(0800)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2002"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_254
#AT_START_255
at_fn_group_banner 255 'ovs-ofctl.at:2009' \
  "ovs-ofctl check-vlan" "                           " 16
at_xfail=no
(
  $as_echo "255. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2013: ovs-ofctl check-vlan 0000 0000"
at_fn_check_prepare_trace "ovs-ofctl.at:2013"
( $at_check_trace; ovs-ofctl check-vlan 0000 0000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " -> 0000/0000
NXM: <any> -> 0000/0000
OXM: <any> -> 0000/0000,--
OF1.0: 0000/1,00/1 -> 0000/0000
OF1.1: 0000/1,00/1 -> 0000/0000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2013"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2022: ovs-ofctl check-vlan 0000 ffff"
at_fn_check_prepare_trace "ovs-ofctl.at:2022"
( $at_check_trace; ovs-ofctl check-vlan 0000 ffff
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "vlan_tci=0x0000 -> 0000/ffff
NXM: NXM_OF_VLAN_TCI(0000) -> 0000/ffff
OXM: OXM_OF_VLAN_VID(0000) -> 0000/1fff,--
OF1.0: ffff/0,00/1 -> 0000/ffff
OF1.1: ffff/0,00/1 -> 0000/ffff
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2022"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2031: ovs-ofctl check-vlan 1abc 1fff"
at_fn_check_prepare_trace "ovs-ofctl.at:2031"
( $at_check_trace; ovs-ofctl check-vlan 1abc 1fff
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "dl_vlan=2748 -> 1abc/1fff
NXM: NXM_OF_VLAN_TCI_W(1abc/1fff) -> 1abc/1fff
OXM: OXM_OF_VLAN_VID(1abc) -> 1abc/1fff,--
OF1.0: 0abc/0,00/1 -> 1abc/1fff
OF1.1: 0abc/0,00/1 -> 1abc/1fff
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2031"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2040: ovs-ofctl check-vlan b000 f000"
at_fn_check_prepare_trace "ovs-ofctl.at:2040"
( $at_check_trace; ovs-ofctl check-vlan b000 f000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "dl_vlan_pcp=5 -> b000/f000
NXM: NXM_OF_VLAN_TCI_W(b000/f000) -> b000/f000
OXM: OXM_OF_VLAN_VID_W(1000/1000), OXM_OF_VLAN_PCP(05) -> 1000/1000,05
OF1.0: 0000/1,05/0 -> b000/f000
OF1.1: fffe/0,05/0 -> b000/f000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2040"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2049: ovs-ofctl check-vlan babc ffff"
at_fn_check_prepare_trace "ovs-ofctl.at:2049"
( $at_check_trace; ovs-ofctl check-vlan babc ffff
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "dl_vlan=2748,dl_vlan_pcp=5 -> babc/ffff
NXM: NXM_OF_VLAN_TCI(babc) -> babc/ffff
OXM: OXM_OF_VLAN_VID(1abc), OXM_OF_VLAN_PCP(05) -> 1abc/1fff,05
OF1.0: 0abc/0,05/0 -> babc/ffff
OF1.1: 0abc/0,05/0 -> babc/ffff
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2049"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2058: ovs-ofctl check-vlan 0000 0fff"
at_fn_check_prepare_trace "ovs-ofctl.at:2058"
( $at_check_trace; ovs-ofctl check-vlan 0000 0fff
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "vlan_tci=0x0000/0x0fff -> 0000/0fff
NXM: NXM_OF_VLAN_TCI_W(0000/0fff) -> 0000/0fff
OXM: OXM_OF_VLAN_VID_W(0000/0fff) -> 0000/0fff,--
OF1.0: 0000/0,00/1 -> 1000/1fff
OF1.1: 0000/0,00/1 -> 1000/1fff
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2058"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2067: ovs-ofctl check-vlan 0000 f000"
at_fn_check_prepare_trace "ovs-ofctl.at:2067"
( $at_check_trace; ovs-ofctl check-vlan 0000 f000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "vlan_tci=0x0000/0xf000 -> 0000/f000
NXM: NXM_OF_VLAN_TCI_W(0000/f000) -> 0000/f000
OXM: OXM_OF_VLAN_VID_W(0000/1000) -> 0000/1000,--
OF1.0: ffff/0,00/1 -> 0000/ffff
OF1.1: ffff/0,00/1 -> 0000/ffff
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2067"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2076: ovs-ofctl check-vlan 0000 efff"
at_fn_check_prepare_trace "ovs-ofctl.at:2076"
( $at_check_trace; ovs-ofctl check-vlan 0000 efff
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "vlan_tci=0x0000/0xefff -> 0000/efff
NXM: NXM_OF_VLAN_TCI_W(0000/efff) -> 0000/efff
OXM: OXM_OF_VLAN_VID_W(0000/0fff) -> 0000/0fff,--
OF1.0: 0000/0,00/0 -> 1000/ffff
OF1.1: 0000/0,00/0 -> 1000/ffff
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2076"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2085: ovs-ofctl check-vlan 1001 1001"
at_fn_check_prepare_trace "ovs-ofctl.at:2085"
( $at_check_trace; ovs-ofctl check-vlan 1001 1001
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "vlan_tci=0x1001/0x1001 -> 1001/1001
NXM: NXM_OF_VLAN_TCI_W(1001/1001) -> 1001/1001
OXM: OXM_OF_VLAN_VID_W(1001/1001) -> 1001/1001,--
OF1.0: 0001/0,00/1 -> 1001/1fff
OF1.1: 0001/0,00/1 -> 1001/1fff
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2085"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2094: ovs-ofctl check-vlan 3000 3000"
at_fn_check_prepare_trace "ovs-ofctl.at:2094"
( $at_check_trace; ovs-ofctl check-vlan 3000 3000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "vlan_tci=0x3000/0x3000 -> 3000/3000
NXM: NXM_OF_VLAN_TCI_W(3000/3000) -> 3000/3000
OXM: OXM_OF_VLAN_VID_W(1000/1000), OXM_OF_VLAN_PCP(01) -> 1000/1000,01
OF1.0: 0000/1,01/0 -> 3000/f000
OF1.1: fffe/0,01/0 -> 3000/f000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2094"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2101: "
at_fn_check_prepare_trace "ovs-ofctl.at:2101"
( $at_check_trace;
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2101"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_255
#AT_START_256
at_fn_group_banner 256 'ovs-ofctl.at:2106' \
  "ovs-ofctl -F option and NXM features" "           " 16
at_xfail=no
(
  $as_echo "256. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2107: ovs-ofctl -F openflow10 add-flow dummy tun_id=123,actions=drop"
at_fn_check_prepare_trace "ovs-ofctl.at:2107"
( $at_check_trace; ovs-ofctl -F openflow10 add-flow dummy tun_id=123,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: none of the usable flow formats (NXM,OXM) is among the allowed flow formats (OpenFlow10)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-ofctl.at:2107"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2110: ovs-ofctl -F openflow10 add-flow dummy metadata=123,actions=drop"
at_fn_check_prepare_trace "ovs-ofctl.at:2110"
( $at_check_trace; ovs-ofctl -F openflow10 add-flow dummy metadata=123,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: none of the usable flow formats (NXM,OXM,OpenFlow11) is among the allowed flow formats (OpenFlow10)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-ofctl.at:2110"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_256
#AT_START_257
at_fn_group_banner 257 'ovs-ofctl.at:2119' \
  "ovs-ofctl -F option with flow_mods" "             " 16
at_xfail=no
(
  $as_echo "257. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2120: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-ofctl.at:2120"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2120"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2120: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ovs-ofctl.at:2120"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2120"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2120: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:2120"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2120"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2120: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ovs-ofctl.at:2120"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2120"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2120: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ovs-ofctl.at:2120"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2120"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2120: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:2120"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2120"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2120: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ovs-ofctl.at:2120"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2120"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2121: ovs-ofctl -F nxm add-flow br0 tun_id=0x12345678,actions=drop"
at_fn_check_prepare_trace "ovs-ofctl.at:2121"
( $at_check_trace; ovs-ofctl -F nxm add-flow br0 tun_id=0x12345678,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2121"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2122: ovs-ofctl dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:2122"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW reply:
 tun_id=0x12345678 actions=drop
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2122"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2126: check_logs "
at_fn_check_prepare_trace "ovs-ofctl.at:2126"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2126"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2126: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ovs-ofctl.at:2126"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2126"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2126: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ovs-ofctl.at:2126"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2126"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_257
#AT_START_258
at_fn_group_banner 258 'ovs-ofctl.at:2131' \
  "ovs-ofctl dump-flows honors -F option" "          " 16
at_xfail=no
(
  $as_echo "258. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2132: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-ofctl.at:2132"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2132"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2132: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ovs-ofctl.at:2132"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2132"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2132: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:2132"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2132"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2132: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ovs-ofctl.at:2132"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2132"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2132: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ovs-ofctl.at:2132"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2132"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2132: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:2132"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2132"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2132: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ovs-ofctl.at:2132"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2132"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2133: ovs-ofctl add-flow br0 reg0=0x12345,actions=drop"
at_fn_check_prepare_trace "ovs-ofctl.at:2133"
( $at_check_trace; ovs-ofctl add-flow br0 reg0=0x12345,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2133"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2134: ovs-ofctl -F openflow10 dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:2134"
( $at_check_trace; ovs-ofctl -F openflow10 dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply:
 actions=drop
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2134"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2138: check_logs "
at_fn_check_prepare_trace "ovs-ofctl.at:2138"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2138: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ovs-ofctl.at:2138"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2138: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ovs-ofctl.at:2138"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_258
#AT_START_259
at_fn_group_banner 259 'ovs-ofctl.at:2143' \
  "ovs-ofctl dump-flows rejects bad -F option" "     " 16
at_xfail=no
(
  $as_echo "259. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2144: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-ofctl.at:2144"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2144"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2144: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ovs-ofctl.at:2144"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2144"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2144: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:2144"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2144"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2144: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ovs-ofctl.at:2144"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2144"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2144: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ovs-ofctl.at:2144"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2144"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2144: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:2144"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2144"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2144: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ovs-ofctl.at:2144"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2144"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2145: ovs-ofctl -F openflow10 dump-flows unix:br0.mgmt reg0=0xabcdef"
at_fn_check_prepare_trace "ovs-ofctl.at:2145"
( $at_check_trace; ovs-ofctl -F openflow10 dump-flows unix:br0.mgmt reg0=0xabcdef
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: none of the usable flow formats (NXM,OXM) is among the allowed flow formats (OpenFlow10)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-ofctl.at:2145"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2148: check_logs "
at_fn_check_prepare_trace "ovs-ofctl.at:2148"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2148: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ovs-ofctl.at:2148"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2148: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ovs-ofctl.at:2148"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_259
#AT_START_260
at_fn_group_banner 260 'ovs-ofctl.at:2152' \
  "ovs-ofctl add-flow reports non-normalized flows" "" 16
at_xfail=no
(
  $as_echo "260. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2153: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-ofctl.at:2153"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2153"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2153: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ovs-ofctl.at:2153"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2153"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2153: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:2153"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2153"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2153: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ovs-ofctl.at:2153"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2153"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2153: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ovs-ofctl.at:2153"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2153"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2153: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:2153"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2153"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2153: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ovs-ofctl.at:2153"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2153"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2154: ovs-ofctl -vPATTERN:ANY:'%c|%p|%m' add-flow br0 nw_src=1.2.3.4,actions=5"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:2154"
( $at_check_trace; ovs-ofctl -vPATTERN:ANY:'%c|%p|%m' add-flow br0 nw_src=1.2.3.4,actions=5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ofp_util|INFO|normalization changed ofp_match, details:
ofp_util|INFO| pre: nw_src=1.2.3.4
ofp_util|INFO|post: 
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2154"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2160: check_logs "
at_fn_check_prepare_trace "ovs-ofctl.at:2160"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2160"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2160: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ovs-ofctl.at:2160"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2160"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2160: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ovs-ofctl.at:2160"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2160"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_260
#AT_START_261
at_fn_group_banner 261 'ovs-ofctl.at:2166' \
  "ovs-ofctl dump-flows with sorting" "              " 16
at_xfail=no
(
  $as_echo "261. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2167: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-ofctl.at:2167"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2167"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2167: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ovs-ofctl.at:2167"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2167"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2167: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:2167"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2167"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2167: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ovs-ofctl.at:2167"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2167"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2167: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ovs-ofctl.at:2167"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2167"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2167: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:2167"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2167"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2167: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ovs-ofctl.at:2167"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2167"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



cat >allflows.txt <<'_ATEOF'

priority=4,in_port=23213 actions=output:42
priority=5,in_port=1029 actions=output:43
priority=7,in_port=1029 actions=output:43
priority=3,in_port=1028 actions=output:44
priority=1,in_port=1026 actions=output:45
priority=6,in_port=1027 actions=output:64
priority=2,in_port=1025 actions=output:47
priority=8,tcp,tp_src=5 actions=drop
priority=9,tcp,tp_src=6 actions=drop
_ATEOF


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2181: ovs-ofctl add-flows br0 allflows.txt
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:2181"
( $at_check_trace; ovs-ofctl add-flows br0 allflows.txt

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2181"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2183: ovs-ofctl --sort dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:2183"
( $at_check_trace; ovs-ofctl --sort dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " priority=1,in_port=1026 actions=output:45
 priority=2,in_port=1025 actions=output:47
 priority=3,in_port=1028 actions=output:44
 priority=4,in_port=23213 actions=output:42
 priority=5,in_port=1029 actions=output:43
 priority=6,in_port=1027 actions=output:64
 priority=7,in_port=1029 actions=output:43
 priority=8,tcp,tp_src=5 actions=drop
 priority=9,tcp,tp_src=6 actions=drop
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2183"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2194: ovs-ofctl --rsort dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:2194"
( $at_check_trace; ovs-ofctl --rsort dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " priority=9,tcp,tp_src=6 actions=drop
 priority=8,tcp,tp_src=5 actions=drop
 priority=7,in_port=1029 actions=output:43
 priority=6,in_port=1027 actions=output:64
 priority=5,in_port=1029 actions=output:43
 priority=4,in_port=23213 actions=output:42
 priority=3,in_port=1028 actions=output:44
 priority=2,in_port=1025 actions=output:47
 priority=1,in_port=1026 actions=output:45
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2194"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2205: ovs-ofctl --sort=in_port dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:2205"
( $at_check_trace; ovs-ofctl --sort=in_port dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " priority=2,in_port=1025 actions=output:47
 priority=1,in_port=1026 actions=output:45
 priority=6,in_port=1027 actions=output:64
 priority=3,in_port=1028 actions=output:44
 priority=7,in_port=1029 actions=output:43
 priority=5,in_port=1029 actions=output:43
 priority=4,in_port=23213 actions=output:42
 priority=9,tcp,tp_src=6 actions=drop
 priority=8,tcp,tp_src=5 actions=drop
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2205"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2216: ovs-ofctl --rsort=in_port dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:2216"
( $at_check_trace; ovs-ofctl --rsort=in_port dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " priority=4,in_port=23213 actions=output:42
 priority=7,in_port=1029 actions=output:43
 priority=5,in_port=1029 actions=output:43
 priority=3,in_port=1028 actions=output:44
 priority=6,in_port=1027 actions=output:64
 priority=1,in_port=1026 actions=output:45
 priority=2,in_port=1025 actions=output:47
 priority=9,tcp,tp_src=6 actions=drop
 priority=8,tcp,tp_src=5 actions=drop
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2216"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2227: ovs-ofctl --sort=tcp_src dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:2227"
( $at_check_trace; ovs-ofctl --sort=tcp_src dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " priority=8,tcp,tp_src=5 actions=drop
 priority=9,tcp,tp_src=6 actions=drop
 priority=7,in_port=1029 actions=output:43
 priority=6,in_port=1027 actions=output:64
 priority=5,in_port=1029 actions=output:43
 priority=4,in_port=23213 actions=output:42
 priority=3,in_port=1028 actions=output:44
 priority=2,in_port=1025 actions=output:47
 priority=1,in_port=1026 actions=output:45
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2227"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2238: ovs-ofctl --sort=in_port --sort=tcp_src dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:2238"
( $at_check_trace; ovs-ofctl --sort=in_port --sort=tcp_src dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " priority=2,in_port=1025 actions=output:47
 priority=1,in_port=1026 actions=output:45
 priority=6,in_port=1027 actions=output:64
 priority=3,in_port=1028 actions=output:44
 priority=7,in_port=1029 actions=output:43
 priority=5,in_port=1029 actions=output:43
 priority=4,in_port=23213 actions=output:42
 priority=8,tcp,tp_src=5 actions=drop
 priority=9,tcp,tp_src=6 actions=drop
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2238"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2250: check_logs "
at_fn_check_prepare_trace "ovs-ofctl.at:2250"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2250"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2250: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ovs-ofctl.at:2250"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2250"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2250: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ovs-ofctl.at:2250"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2250"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_261
#AT_START_262
at_fn_group_banner 262 'ovs-ofctl.at:2253' \
  "ovs-ofctl diff-flows" "                           " 16
at_xfail=no
(
  $as_echo "262. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2254: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-ofctl.at:2254"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2254"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2254: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ovs-ofctl.at:2254"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2254"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2254: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:2254"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2254"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2254: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ovs-ofctl.at:2254"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2254"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2254: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ovs-ofctl.at:2254"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2254"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2254: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:2254"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2254"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2254: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ovs-ofctl.at:2254"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2254"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# Add tons of flows to br0.
for i in `seq 0 1023`; do echo "dl_vlan=$i,actions=drop"; done > add-flows.txt
{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2258: ovs-ofctl add-flows br0 add-flows.txt"
at_fn_check_prepare_trace "ovs-ofctl.at:2258"
( $at_check_trace; ovs-ofctl add-flows br0 add-flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2258"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Dump them and compare against what we expect by hand, then with diff-flows.
for i in `seq 0 1023`; do echo " dl_vlan=$i actions=drop"; done | sort > expout
{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2262: ovs-ofctl dump-flows br0 | ofctl_strip | sed '/NXST_FLOW/d' | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:2262"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sed '/NXST_FLOW/d' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2262"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2264: ovs-ofctl diff-flows br0 add-flows.txt"
at_fn_check_prepare_trace "ovs-ofctl.at:2264"
( $at_check_trace; ovs-ofctl diff-flows br0 add-flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2264"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Remove even-numbered flows, compare again.
for i in `seq 0 1023 2`; do echo "dl_vlan=$i"; done > del-flows.txt
{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2268: ovs-ofctl del-flows br0 - < del-flows.txt"
at_fn_check_prepare_trace "ovs-ofctl.at:2268"
( $at_check_trace; ovs-ofctl del-flows br0 - < del-flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2268"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

for i in `seq 0 1023 2`; do echo "+dl_vlan=$i actions=drop"; done | sort > expout
{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2270: ovs-ofctl diff-flows br0 add-flows.txt | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:2270"
( $at_check_trace; ovs-ofctl diff-flows br0 add-flows.txt | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2270"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

for i in `seq 0 1023 2`; do echo "-dl_vlan=$i actions=drop"; done | sort > expout
{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2272: ovs-ofctl diff-flows add-flows.txt br0 | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-ofctl.at:2272"
( $at_check_trace; ovs-ofctl diff-flows add-flows.txt br0 | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2272"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2274: check_logs "
at_fn_check_prepare_trace "ovs-ofctl.at:2274"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2274"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2274: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ovs-ofctl.at:2274"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2274"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2274: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ovs-ofctl.at:2274"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2274"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_262
#AT_START_263
at_fn_group_banner 263 'ovs-ofctl.at:2285' \
  "ovs-ofctl diff-flows - suppress false differences" "" 16
at_xfail=no
(
  $as_echo "263. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2286: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-ofctl.at:2286"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2286"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2286: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ovs-ofctl.at:2286"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2286"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2286: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:2286"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2286"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2286: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ovs-ofctl.at:2286"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2286"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2286: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ovs-ofctl.at:2286"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2286"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2286: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-ofctl.at:2286"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2286"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2286: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ovs-ofctl.at:2286"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2286"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


cat >flows.txt <<'_ATEOF'
actions=resubmit(,1)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2289: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ovs-ofctl.at:2289"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2289"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2290: ovs-ofctl diff-flows br0 flows.txt"
at_fn_check_prepare_trace "ovs-ofctl.at:2290"
( $at_check_trace; ovs-ofctl diff-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2290"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2291: ovs-ofctl add-flow br0 idle_timeout=60,dl_vlan=9,actions=output:1"
at_fn_check_prepare_trace "ovs-ofctl.at:2291"
( $at_check_trace; ovs-ofctl add-flow br0 idle_timeout=60,dl_vlan=9,actions=output:1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2291"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2292: ovs-ofctl diff-flows br0 flows.txt"
at_fn_check_prepare_trace "ovs-ofctl.at:2292"
( $at_check_trace; ovs-ofctl diff-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "-dl_vlan=9 idle_timeout=60 actions=output:1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-ofctl.at:2292"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2295: ovs-ofctl add-flow br0 hard_timeout=120,cookie=1234,dl_vlan=9,actions=output:1"
at_fn_check_prepare_trace "ovs-ofctl.at:2295"
( $at_check_trace; ovs-ofctl add-flow br0 hard_timeout=120,cookie=1234,dl_vlan=9,actions=output:1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2295"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2296: ovs-ofctl diff-flows flows.txt br0"
at_fn_check_prepare_trace "ovs-ofctl.at:2296"
( $at_check_trace; ovs-ofctl diff-flows flows.txt br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "+dl_vlan=9 cookie=0x4d2 hard_timeout=120 actions=output:1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-ofctl.at:2296"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2299: check_logs "
at_fn_check_prepare_trace "ovs-ofctl.at:2299"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2299"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2299: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ovs-ofctl.at:2299"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2299"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2299: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ovs-ofctl.at:2299"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2299"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_263
#AT_START_264
at_fn_group_banner 264 'ovs-ofctl.at:2302' \
  "ovs-ofctl -F and -O interaction" "                " 16
at_xfail=no
(
  $as_echo "264. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2303: ovs-ofctl -F oxm -O openflow10"
at_fn_check_prepare_trace "ovs-ofctl.at:2303"
( $at_check_trace; ovs-ofctl -F oxm -O openflow10
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: None of the enabled OpenFlow versions (OpenFlow10) supports any of the enabled flow formats (OXM).  (Use -O to enable additional OpenFlow versions or -F to enable additional flow formats.)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-ofctl.at:2303"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2306: ovs-ofctl -F oxm -O openflow11"
at_fn_check_prepare_trace "ovs-ofctl.at:2306"
( $at_check_trace; ovs-ofctl -F oxm -O openflow11
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: None of the enabled OpenFlow versions (OpenFlow11) supports any of the enabled flow formats (OXM).  (Use -O to enable additional OpenFlow versions or -F to enable additional flow formats.)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-ofctl.at:2306"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2309: ovs-ofctl -F oxm -O openflow10,openflow11"
at_fn_check_prepare_trace "ovs-ofctl.at:2309"
( $at_check_trace; ovs-ofctl -F oxm -O openflow10,openflow11
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: None of the enabled OpenFlow versions (OpenFlow10, OpenFlow11) supports any of the enabled flow formats (OXM).  (Use -O to enable additional OpenFlow versions or -F to enable additional flow formats.)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-ofctl.at:2309"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2312: ovs-ofctl -F oxm -O openflow10,openflow12"
at_fn_check_prepare_trace "ovs-ofctl.at:2312"
( $at_check_trace; ovs-ofctl -F oxm -O openflow10,openflow12
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: missing command name; use --help for help
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-ofctl.at:2312"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2315: ovs-ofctl -F oxm -O openflow12"
at_fn_check_prepare_trace "ovs-ofctl.at:2315"
( $at_check_trace; ovs-ofctl -F oxm -O openflow12
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: missing command name; use --help for help
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-ofctl.at:2315"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2318: ovs-ofctl -F oxm -O openflow13"
at_fn_check_prepare_trace "ovs-ofctl.at:2318"
( $at_check_trace; ovs-ofctl -F oxm -O openflow13
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: missing command name; use --help for help
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-ofctl.at:2318"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_264
#AT_START_265
at_fn_group_banner 265 'ovs-ofctl.at:2323' \
  "ovs-ofctl ofp-parse" "                            " 16
at_xfail=no
(
  $as_echo "265. $at_setup_line: testing $at_desc ..."
  $at_traceon

# Test the echo request/reply messages (0 payload).
{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2325: printf '\\1\\2\\0\\10\\0\\0\\0\\0\\1\\3\\0\\10\\0\\0\\0\\0' > binary_ofp_msg"
at_fn_check_prepare_trace "ovs-ofctl.at:2325"
( $at_check_trace; printf '\1\2\0\10\0\0\0\0\1\3\0\10\0\0\0\0' > binary_ofp_msg
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2325"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2326: ovs-ofctl ofp-parse binary_ofp_msg"
at_fn_check_prepare_trace "ovs-ofctl.at:2326"
( $at_check_trace; ovs-ofctl ofp-parse binary_ofp_msg
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ECHO_REQUEST (xid=0x0): 0 bytes of payload
OFPT_ECHO_REPLY (xid=0x0): 0 bytes of payload
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2326"
$at_failed && at_fn_log_failure
$at_traceon; }


# Test the hello (xid:1 3-byte payload).
{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2332: printf '\\1\\0\\0\\13\\0\\0\\0\\1\\101\\102\\103' > binary_ofp_msg"
at_fn_check_prepare_trace "ovs-ofctl.at:2332"
( $at_check_trace; printf '\1\0\0\13\0\0\0\1\101\102\103' > binary_ofp_msg
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2332"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-ofctl.at:2333: ovs-ofctl ofp-parse - < binary_ofp_msg"
at_fn_check_prepare_trace "ovs-ofctl.at:2333"
( $at_check_trace; ovs-ofctl ofp-parse - < binary_ofp_msg
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_HELLO (xid=0x1):
 version bitmap: 0x01
 unknown data in hello:
00000000  01 00 00 0b 00 00 00 01-41 42 43                |........ABC     |
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-ofctl.at:2333"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_265
#AT_START_266
at_fn_group_banner 266 'odp.at:3' \
  "OVS datapath key parsing and formatting - valid forms" "" 17
at_xfail=no
(
  $as_echo "266. $at_setup_line: testing $at_desc ..."
  $at_traceon

cat >odp-base.txt <<'_ATEOF'
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x1234)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x0800),ipv4(src=35.8.2.41,dst=172.16.0.20,proto=5,tos=0x80,ttl=128,frag=no)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x0800),ipv4(src=35.8.2.41,dst=172.16.0.20,proto=5,tos=0x81,ttl=128,frag=no)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x0800),ipv4(src=35.8.2.41,dst=172.16.0.20,proto=5,tos=0x80,ttl=128,frag=first)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x0800),ipv4(src=35.8.2.41,dst=172.16.0.20,proto=5,tos=0x80,ttl=128,frag=later)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x0800),ipv4(src=35.8.2.41,dst=172.16.0.20,proto=6,tos=0,ttl=128,frag=no),tcp(src=80,dst=8080)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x0800),ipv4(src=35.8.2.41,dst=172.16.0.20,proto=17,tos=0,ttl=128,frag=no),udp(src=81,dst=6632)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x0800),ipv4(src=35.8.2.41,dst=172.16.0.20,proto=1,tos=0,ttl=128,frag=no),icmp(type=1,code=2)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=10,tclass=0x70,hlimit=128,frag=no)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=10,tclass=0x71,hlimit=128,frag=no)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=10,tclass=0x70,hlimit=128,frag=first)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=10,tclass=0x70,hlimit=128,frag=later)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=6,tclass=0,hlimit=128,frag=no),tcp(src=80,dst=8080)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=17,tclass=0,hlimit=128,frag=no),udp(src=6630,dst=22)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=58,tclass=0,hlimit=128,frag=no),icmpv6(type=1,code=2)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=58,tclass=0,hlimit=128,frag=no),icmpv6(type=135,code=0),nd(target=::3)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=58,tclass=0,hlimit=128,frag=no),icmpv6(type=135,code=0),nd(target=::3,sll=00:05:06:07:08:09)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=58,tclass=0,hlimit=128,frag=no),icmpv6(type=136,code=0),nd(target=::3,tll=00:0a:0b:0c:0d:0e)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=58,tclass=0,hlimit=128,frag=no),icmpv6(type=136,code=0),nd(target=::3,sll=00:05:06:07:08:09,tll=00:0a:0b:0c:0d:0e)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x0806),arp(sip=1.2.3.4,tip=5.6.7.8,op=1,sha=00:0f:10:11:12:13,tha=00:14:15:16:17:18)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=58,tclass=0,hlimit=128,frag=no),icmpv6(type=136,code=0),nd(target=::3,sll=00:05:06:07:08:09,tll=00:0a:0b:0c:0d:0e)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x8847),mpls(label=100,tc=3,ttl=64,bos=1)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x8847),mpls(label=100,tc=7,ttl=100,bos=1)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x8847),mpls(label=100,tc=7,ttl=100,bos=0)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x8848),mpls(label=1000,tc=4,ttl=200,bos=1)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x8848),mpls(label=1000,tc=4,ttl=200,bos=0)
_ATEOF


(echo '# Valid forms without tun_id or VLAN header.'
 set 's/^/skb_priority(0),skb_mark(0),/' odp-base.txt

 set '
s/^/skb_priority(0),skb_mark(0),/
' odp-base.txt


 echo
 echo '# Valid forms with tunnel header.'
 sed 's/^/skb_priority(0),tunnel(tun_id=0x7f10354,src=10.10.10.10,dst=20.20.20.20,tos=0x0,ttl=64,flags(csum,key)),skb_mark(0x1234),/' odp-base.txt

 echo
 echo '# Valid forms with VLAN header.'
 sed 's/^/skb_priority(0),skb_mark(0),/
s/\(eth([^)]*)\),*/\1,eth_type(0x8100),vlan(vid=99,pcp=7),encap(/
s/$/)/' odp-base.txt

 echo
 echo '# Valid forms with MPLS header.'
 sed 's/^/skb_priority(0),skb_mark(0),/
s/\(eth([^)]*),?\)/\1,eth_type(0x8847),mpls(label=100,tc=7,ttl=64,bos=1)/' odp-base.txt

 echo
 echo '# Valid forms with MPLS multicast header.'
 sed 's/^/skb_priority(0),skb_mark(0),/
s/\(eth([^)]*),?\)/\1,eth_type(0x8848),mpls(label=100,tc=7,ttl=64,bos=1)/' odp-base.txt

 echo
 echo '# Valid forms with tunnel and VLAN headers.'
 sed 's/^/skb_priority(0),tunnel(tun_id=0xfedcba9876543210,src=10.0.0.1,dst=10.0.0.2,tos=0x8,ttl=128,flags(key)),skb_mark(0),/
s/\(eth([^)]*)\),*/\1,eth_type(0x8100),vlan(vid=99,pcp=7),encap(/
s/$/)/' odp-base.txt

 echo
 echo '# Valid forms with QOS priority, tunnel, and VLAN headers.'
 sed 's/^/skb_priority(0x1234),tunnel(tun_id=0xfedcba9876543210,src=10.10.10.10,dst=20.20.20.20,tos=0x8,ttl=64,flags(key)),skb_mark(0),/
s/\(eth([^)]*)\),*/\1,eth_type(0x8100),vlan(vid=99,pcp=7),encap(/
s/$/)/' odp-base.txt

 echo
 echo '# Valid forms with IP first fragment.'
sed 's/^/skb_priority(0),skb_mark(0),/' odp-base.txt | sed -n 's/,frag=no),/,frag=first),/p'

 echo
 echo '# Valid forms with IP later fragment.'
sed 's/^/skb_priority(0),skb_mark(0),/' odp-base.txt | sed -n 's/,frag=no),.*/,frag=later)/p'
) > odp.txt

{ set +x
$as_echo "$at_srcdir/odp.at:84: test-odp parse-keys < odp.txt"
at_fn_check_prepare_trace "odp.at:84"
( $at_check_trace; test-odp parse-keys < odp.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "`cat odp.txt`
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/odp.at:84"
$at_failed && at_fn_log_failure  \
"odp.txt"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_266
#AT_START_267
at_fn_group_banner 267 'odp.at:88' \
  "OVS datapath wildcarded key parsing and formatting - valid forms" "" 17
at_xfail=no
(
  $as_echo "267. $at_setup_line: testing $at_desc ..."
  $at_traceon

cat >odp-base.txt <<'_ATEOF'
in_port(1/0xff),eth(src=00:01:02:03:04:05/ff:ff:ff:ff:ff:f0,dst=10:11:12:13:14:15/ff:ff:ff:ff:ff:f0)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x1234/0xfff0)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x0800),ipv4(src=35.8.2.41/255.255.255.0,dst=172.16.0.20/255.255.255.0,proto=5/0xf0,tos=0x80/0xf0,ttl=128/0xf0,frag=no/0xf0)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x0800),ipv4(src=35.8.2.41,dst=172.16.0.20,proto=6,tos=0,ttl=128,frag=no),tcp(src=80/0xff00,dst=8080/0xff)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x0800),ipv4(src=35.8.2.41,dst=172.16.0.20,proto=17,tos=0,ttl=128,frag=no),udp(src=81/0xff00,dst=6632/0xff)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x0800),ipv4(src=35.8.2.41,dst=172.16.0.20,proto=17,tos=0,ttl=128,frag=no),udp(src=81/0xff,dst=6632/0xff00)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x0800),ipv4(src=35.8.2.41,dst=172.16.0.20,proto=1,tos=0,ttl=128,frag=no),icmp(type=1/0xf0,code=2/0xff)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1/::255,dst=::2/::255,label=0/0xf0,proto=10/0xf0,tclass=0x70/0xf0,hlimit=128/0xf0,frag=no/0xf0)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=6,tclass=0,hlimit=128,frag=no),tcp(src=80/0xff00,dst=8080/0xff)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=17,tclass=0,hlimit=128,frag=no),udp(src=6630/0xff00,dst=22/0xff)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=58,tclass=0,hlimit=128,frag=no),icmpv6(type=1/0xf0,code=2/0xff)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=58,tclass=0,hlimit=128,frag=no),icmpv6(type=135,code=0),nd(target=::3/::250)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=58,tclass=0,hlimit=128,frag=no),icmpv6(type=135,code=0),nd(target=::3/::250,sll=00:05:06:07:08:09/ff:ff:ff:ff:ff:00)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=58,tclass=0,hlimit=128,frag=no),icmpv6(type=136,code=0),nd(target=::3/::250,tll=00:0a:0b:0c:0d:0e/ff:ff:ff:ff:ff:00)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=58,tclass=0,hlimit=128,frag=no),icmpv6(type=136,code=0),nd(target=::3/::250,sll=00:05:06:07:08:09/ff:ff:ff:ff:ff:00,tll=00:0a:0b:0c:0d:0e/ff:ff:ff:ff:ff:00)
in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x0806),arp(sip=1.2.3.4/255.255.255.250,tip=5.6.7.8/255.255.255.250,op=1/0xf0,sha=00:0f:10:11:12:13/ff:ff:ff:ff:ff:00,tha=00:14:15:16:17:18/ff:ff:ff:ff:ff:00)
skb_mark(0x1234/0xfff0),in_port(1),eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=58,tclass=0,hlimit=128,frag=no),icmpv6(type=136,code=0),nd(target=::3,sll=00:05:06:07:08:09,tll=00:0a:0b:0c:0d:0e)
_ATEOF


(echo '# Valid forms without tun_id or VLAN header.'
 cat odp-base.txt

 echo
 echo '# Valid forms with tunnel header.'
 sed 's/^/tunnel(tun_id=0x7f10354\/0xff,src=10.10.10.10\/255.255.255.0,dst=20.20.20.20\/255.255.255.0,tos=0\/0xff,ttl=64\/0xff,flags(csum,key)),/' odp-base.txt

 echo
 echo '# Valid forms with VLAN header.'
 sed 's/\(eth([^)]*)\),*/\1,eth_type(0x8100),vlan(vid=99,pcp=7),encap(/
s/$/)/' odp-base.txt

 echo
 echo '# Valid forms with MPLS header.'
 sed 's/\(eth([^)]*),?\)/\1,eth_type(0x8847),mpls(label=100\/0xff,tc=7\/7,ttl=64\/0xff,bos=1\/1)/' odp-base.txt

 echo
 echo '# Valid forms with QoS priority.'
 sed 's/^/skb_priority(0x1234\/0xff),/' odp-base.txt

 echo
 echo '# Valid forms with tunnel and VLAN headers.'
 sed 's/^/tunnel(tun_id=0xfedcba9876543210,src=10.0.0.1,dst=10.0.0.2,tos=0x8,ttl=128,flags(key)),/
s/\(eth([^)]*)\),*/\1,eth_type(0x8100),vlan(vid=99/0xff0,pcp=7/0xe),encap(/
s/$/)/' odp-base.txt

 echo
 echo '# Valid forms with QOS priority, tunnel, and VLAN headers.'
 sed 's/^/skb_priority(0x1234),tunnel(tun_id=0xfedcba9876543210,src=10.10.10.10,dst=20.20.20.20,tos=0x8,ttl=64,flags(key)),/
s/\(eth([^)]*)\),*/\1,eth_type(0x8100),vlan(vid=99,pcp=7),encap(/
s/$/)/' odp-base.txt

 echo
 echo '# Valid forms with IP first fragment.'
sed -n 's/,frag=no),/,frag=first),/p' odp-base.txt

 echo
 echo '# Valid forms with IP later fragment.'
sed -n 's/,frag=no),.*/,frag=later)/p' odp-base.txt) > odp.txt

{ set +x
$as_echo "$at_srcdir/odp.at:150: test-odp parse-wc-keys < odp.txt"
at_fn_check_prepare_trace "odp.at:150"
( $at_check_trace; test-odp parse-wc-keys < odp.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "`cat odp.txt`
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/odp.at:150"
$at_failed && at_fn_log_failure  \
"odp.txt"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_267
#AT_START_268
at_fn_group_banner 268 'odp.at:154' \
  "OVS datapath actions parsing and formatting - valid forms" "" 17
at_xfail=no
(
  $as_echo "268. $at_setup_line: testing $at_desc ..."
  $at_traceon

cat >actions.txt <<'_ATEOF'
1,2,3
userspace(pid=555666777)
userspace(pid=6633,sFlow(vid=9,pcp=7,output=10))
userspace(pid=9765,slow_path())
userspace(pid=9765,slow_path(cfm))
userspace(pid=1234567,userdata(0102030405060708090a0b0c0d0e0f))
userspace(pid=6633,flow_sample(probability=123,collector_set_id=1234,obs_domain_id=2345,obs_point_id=3456))
userspace(pid=6633,ipfix)
set(in_port(2))
set(eth(src=00:01:02:03:04:05,dst=10:11:12:13:14:15))
set(eth_type(0x1234))
set(ipv4(src=35.8.2.41,dst=172.16.0.20,proto=5,tos=0x80,ttl=128,frag=no))
set(tcp(src=80,dst=8080))
set(udp(src=81,dst=6632))
set(icmp(type=1,code=2))
set(ipv6(src=::1,dst=::2,label=0,proto=10,tclass=0x70,hlimit=128,frag=no))
set(icmpv6(type=1,code=2))
push_vlan(vid=12,pcp=0)
push_vlan(vid=13,pcp=5,cfi=0)
push_vlan(tpid=0x9100,vid=13,pcp=5)
push_vlan(tpid=0x9100,vid=13,pcp=5,cfi=0)
pop_vlan
sample(sample=9.7%,actions(1,2,3,push_vlan(vid=1,pcp=2)))
set(tunnel(tun_id=0xabcdef1234567890,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags(df,csum,key)))
set(tunnel(tun_id=0xabcdef1234567890,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags(key)))
_ATEOF

{ set +x
$as_echo "$at_srcdir/odp.at:182: test-odp parse-actions < actions.txt"
at_fn_check_prepare_trace "odp.at:182"
( $at_check_trace; test-odp parse-actions < actions.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "`cat actions.txt`
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/odp.at:182"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_268
#AT_START_269
at_fn_group_banner 269 'multipath.at:10' \
  "modulo_n multipath link selection" "              " 18
at_xfail=no
(
  $as_echo "269. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/multipath.at:11: test-multipath 'eth_src,50,modulo_n,1,0,NXM_NX_REG0[]'"
at_fn_check_prepare_trace "multipath.at:11"
( $at_check_trace; test-multipath 'eth_src,50,modulo_n,1,0,NXM_NX_REG0[]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/multipath.at:11"
$at_failed && at_fn_log_failure
$at_traceon; }

# 1 ->  2: disruption=0.50 (perfect=0.50); stddev/expected=0.0000
# 2 ->  3: disruption=0.66 (perfect=0.33); stddev/expected=0.0023
# 3 ->  4: disruption=0.75 (perfect=0.25); stddev/expected=0.0061
# 4 ->  5: disruption=0.80 (perfect=0.20); stddev/expected=0.0082
# 5 ->  6: disruption=0.83 (perfect=0.17); stddev/expected=0.0083
# 6 ->  7: disruption=0.86 (perfect=0.14); stddev/expected=0.0061
# 7 ->  8: disruption=0.88 (perfect=0.12); stddev/expected=0.0103
# 8 ->  9: disruption=0.89 (perfect=0.11); stddev/expected=0.0129
# 9 -> 10: disruption=0.90 (perfect=0.10); stddev/expected=0.0091
#10 -> 11: disruption=0.91 (perfect=0.09); stddev/expected=0.0114
#11 -> 12: disruption=0.91 (perfect=0.08); stddev/expected=0.0073
#12 -> 13: disruption=0.92 (perfect=0.08); stddev/expected=0.0165
#13 -> 14: disruption=0.93 (perfect=0.07); stddev/expected=0.0149
#14 -> 15: disruption=0.93 (perfect=0.07); stddev/expected=0.0127
#15 -> 16: disruption=0.94 (perfect=0.06); stddev/expected=0.0142
#16 -> 17: disruption=0.94 (perfect=0.06); stddev/expected=0.0098
#17 -> 18: disruption=0.94 (perfect=0.06); stddev/expected=0.0159
#18 -> 19: disruption=0.95 (perfect=0.05); stddev/expected=0.0121
#19 -> 20: disruption=0.95 (perfect=0.05); stddev/expected=0.0195
#20 -> 21: disruption=0.95 (perfect=0.05); stddev/expected=0.0120
#21 -> 22: disruption=0.95 (perfect=0.05); stddev/expected=0.0181
#22 -> 23: disruption=0.96 (perfect=0.04); stddev/expected=0.0222
#23 -> 24: disruption=0.96 (perfect=0.04); stddev/expected=0.0164
#24 -> 25: disruption=0.96 (perfect=0.04); stddev/expected=0.0146
#25 -> 26: disruption=0.96 (perfect=0.04); stddev/expected=0.0175
#26 -> 27: disruption=0.96 (perfect=0.04); stddev/expected=0.0231
#27 -> 28: disruption=0.96 (perfect=0.04); stddev/expected=0.0172
#28 -> 29: disruption=0.97 (perfect=0.03); stddev/expected=0.0211
#29 -> 30: disruption=0.97 (perfect=0.03); stddev/expected=0.0213
#30 -> 31: disruption=0.97 (perfect=0.03); stddev/expected=0.0253
#31 -> 32: disruption=0.97 (perfect=0.03); stddev/expected=0.0208
#32 -> 33: disruption=0.97 (perfect=0.03); stddev/expected=0.0223
#33 -> 34: disruption=0.97 (perfect=0.03); stddev/expected=0.0215
#34 -> 35: disruption=0.97 (perfect=0.03); stddev/expected=0.0201
#35 -> 36: disruption=0.97 (perfect=0.03); stddev/expected=0.0220
#36 -> 37: disruption=0.97 (perfect=0.03); stddev/expected=0.0221
#37 -> 38: disruption=0.97 (perfect=0.03); stddev/expected=0.0201
#38 -> 39: disruption=0.97 (perfect=0.03); stddev/expected=0.0215
#39 -> 40: disruption=0.97 (perfect=0.03); stddev/expected=0.0271
#40 -> 41: disruption=0.98 (perfect=0.02); stddev/expected=0.0272
#41 -> 42: disruption=0.98 (perfect=0.02); stddev/expected=0.0208
#42 -> 43: disruption=0.98 (perfect=0.02); stddev/expected=0.0226
#43 -> 44: disruption=0.98 (perfect=0.02); stddev/expected=0.0264
#44 -> 45: disruption=0.98 (perfect=0.02); stddev/expected=0.0233
#45 -> 46: disruption=0.98 (perfect=0.02); stddev/expected=0.0285
#46 -> 47: disruption=0.98 (perfect=0.02); stddev/expected=0.0246
#47 -> 48: disruption=0.98 (perfect=0.02); stddev/expected=0.0282
#48 -> 49: disruption=0.98 (perfect=0.02); stddev/expected=0.0233
#49 -> 50: disruption=0.98 (perfect=0.02); stddev/expected=0.0197
#50 -> 51: disruption=0.98 (perfect=0.02); stddev/expected=0.0317
#51 -> 52: disruption=0.98 (perfect=0.02); stddev/expected=0.0283
#52 -> 53: disruption=0.98 (perfect=0.02); stddev/expected=0.0282
#53 -> 54: disruption=0.98 (perfect=0.02); stddev/expected=0.0273
#54 -> 55: disruption=0.98 (perfect=0.02); stddev/expected=0.0283
#55 -> 56: disruption=0.98 (perfect=0.02); stddev/expected=0.0288
#56 -> 57: disruption=0.98 (perfect=0.02); stddev/expected=0.0263
#57 -> 58: disruption=0.98 (perfect=0.02); stddev/expected=0.0339
#58 -> 59: disruption=0.98 (perfect=0.02); stddev/expected=0.0262
#59 -> 60: disruption=0.98 (perfect=0.02); stddev/expected=0.0309
#60 -> 61: disruption=0.98 (perfect=0.02); stddev/expected=0.0285
#61 -> 62: disruption=0.98 (perfect=0.02); stddev/expected=0.0288
#62 -> 63: disruption=0.98 (perfect=0.02); stddev/expected=0.0298
#63 -> 64: disruption=0.98 (perfect=0.02); stddev/expected=0.0277
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_269
#AT_START_270
at_fn_group_banner 270 'multipath.at:78' \
  "hash_threshold multipath link selection" "        " 18
at_xfail=no
(
  $as_echo "270. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/multipath.at:79: test-multipath 'eth_src,50,hash_threshold,1,0,NXM_NX_REG0[]'"
at_fn_check_prepare_trace "multipath.at:79"
( $at_check_trace; test-multipath 'eth_src,50,hash_threshold,1,0,NXM_NX_REG0[]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/multipath.at:79"
$at_failed && at_fn_log_failure
$at_traceon; }

# 1 ->  2: disruption=0.50 (perfect=0.50); stddev/expected=0.0000
# 2 ->  3: disruption=0.50 (perfect=0.33); stddev/expected=0.0056
# 3 ->  4: disruption=0.50 (perfect=0.25); stddev/expected=0.0050
# 4 ->  5: disruption=0.50 (perfect=0.20); stddev/expected=0.0074
# 5 ->  6: disruption=0.50 (perfect=0.17); stddev/expected=0.0031
# 6 ->  7: disruption=0.50 (perfect=0.14); stddev/expected=0.0078
# 7 ->  8: disruption=0.50 (perfect=0.12); stddev/expected=0.0085
# 8 ->  9: disruption=0.50 (perfect=0.11); stddev/expected=0.0093
# 9 -> 10: disruption=0.50 (perfect=0.10); stddev/expected=0.0083
#10 -> 11: disruption=0.51 (perfect=0.09); stddev/expected=0.0110
#11 -> 12: disruption=0.50 (perfect=0.08); stddev/expected=0.0124
#12 -> 13: disruption=0.50 (perfect=0.08); stddev/expected=0.0143
#13 -> 14: disruption=0.50 (perfect=0.07); stddev/expected=0.0148
#14 -> 15: disruption=0.50 (perfect=0.07); stddev/expected=0.0099
#15 -> 16: disruption=0.50 (perfect=0.06); stddev/expected=0.0166
#16 -> 17: disruption=0.50 (perfect=0.06); stddev/expected=0.0099
#17 -> 18: disruption=0.50 (perfect=0.06); stddev/expected=0.0194
#18 -> 19: disruption=0.50 (perfect=0.05); stddev/expected=0.0169
#19 -> 20: disruption=0.50 (perfect=0.05); stddev/expected=0.0169
#20 -> 21: disruption=0.50 (perfect=0.05); stddev/expected=0.0185
#21 -> 22: disruption=0.50 (perfect=0.05); stddev/expected=0.0160
#22 -> 23: disruption=0.50 (perfect=0.04); stddev/expected=0.0236
#23 -> 24: disruption=0.50 (perfect=0.04); stddev/expected=0.0147
#24 -> 25: disruption=0.50 (perfect=0.04); stddev/expected=0.0195
#25 -> 26: disruption=0.50 (perfect=0.04); stddev/expected=0.0199
#26 -> 27: disruption=0.50 (perfect=0.04); stddev/expected=0.0227
#27 -> 28: disruption=0.50 (perfect=0.04); stddev/expected=0.0198
#28 -> 29: disruption=0.50 (perfect=0.03); stddev/expected=0.0216
#29 -> 30: disruption=0.50 (perfect=0.03); stddev/expected=0.0233
#30 -> 31: disruption=0.50 (perfect=0.03); stddev/expected=0.0266
#31 -> 32: disruption=0.51 (perfect=0.03); stddev/expected=0.0238
#32 -> 33: disruption=0.50 (perfect=0.03); stddev/expected=0.0194
#33 -> 34: disruption=0.50 (perfect=0.03); stddev/expected=0.0173
#34 -> 35: disruption=0.50 (perfect=0.03); stddev/expected=0.0223
#35 -> 36: disruption=0.50 (perfect=0.03); stddev/expected=0.0220
#36 -> 37: disruption=0.50 (perfect=0.03); stddev/expected=0.0237
#37 -> 38: disruption=0.50 (perfect=0.03); stddev/expected=0.0237
#38 -> 39: disruption=0.50 (perfect=0.03); stddev/expected=0.0251
#39 -> 40: disruption=0.50 (perfect=0.03); stddev/expected=0.0212
#40 -> 41: disruption=0.50 (perfect=0.02); stddev/expected=0.0267
#41 -> 42: disruption=0.50 (perfect=0.02); stddev/expected=0.0242
#42 -> 43: disruption=0.50 (perfect=0.02); stddev/expected=0.0222
#43 -> 44: disruption=0.50 (perfect=0.02); stddev/expected=0.0244
#44 -> 45: disruption=0.50 (perfect=0.02); stddev/expected=0.0231
#45 -> 46: disruption=0.50 (perfect=0.02); stddev/expected=0.0299
#46 -> 47: disruption=0.50 (perfect=0.02); stddev/expected=0.0263
#47 -> 48: disruption=0.50 (perfect=0.02); stddev/expected=0.0307
#48 -> 49: disruption=0.50 (perfect=0.02); stddev/expected=0.0253
#49 -> 50: disruption=0.50 (perfect=0.02); stddev/expected=0.0228
#50 -> 51: disruption=0.50 (perfect=0.02); stddev/expected=0.0273
#51 -> 52: disruption=0.50 (perfect=0.02); stddev/expected=0.0243
#52 -> 53: disruption=0.50 (perfect=0.02); stddev/expected=0.0268
#53 -> 54: disruption=0.50 (perfect=0.02); stddev/expected=0.0251
#54 -> 55: disruption=0.50 (perfect=0.02); stddev/expected=0.0297
#55 -> 56: disruption=0.50 (perfect=0.02); stddev/expected=0.0287
#56 -> 57: disruption=0.50 (perfect=0.02); stddev/expected=0.0299
#57 -> 58: disruption=0.50 (perfect=0.02); stddev/expected=0.0272
#58 -> 59: disruption=0.50 (perfect=0.02); stddev/expected=0.0295
#59 -> 60: disruption=0.50 (perfect=0.02); stddev/expected=0.0312
#60 -> 61: disruption=0.50 (perfect=0.02); stddev/expected=0.0361
#61 -> 62: disruption=0.50 (perfect=0.02); stddev/expected=0.0308
#62 -> 63: disruption=0.50 (perfect=0.02); stddev/expected=0.0283
#63 -> 64: disruption=0.50 (perfect=0.02); stddev/expected=0.0325
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_270
#AT_START_271
at_fn_group_banner 271 'multipath.at:146' \
  "hrw multipath link selection" "                   " 18
at_xfail=no
(
  $as_echo "271. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/multipath.at:147: test-multipath 'eth_src,50,hrw,1,0,NXM_NX_REG0[]'"
at_fn_check_prepare_trace "multipath.at:147"
( $at_check_trace; test-multipath 'eth_src,50,hrw,1,0,NXM_NX_REG0[]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/multipath.at:147"
$at_failed && at_fn_log_failure
$at_traceon; }

# 1 ->  2: disruption=0.50 (perfect=0.50); stddev/expected=0.0000
# 2 ->  3: disruption=0.33 (perfect=0.33); stddev/expected=0.0033
# 3 ->  4: disruption=0.25 (perfect=0.25); stddev/expected=0.0076
# 4 ->  5: disruption=0.20 (perfect=0.20); stddev/expected=0.0059
# 5 ->  6: disruption=0.17 (perfect=0.17); stddev/expected=0.0030
# 6 ->  7: disruption=0.14 (perfect=0.14); stddev/expected=0.0124
# 7 ->  8: disruption=0.13 (perfect=0.12); stddev/expected=0.0072
# 8 ->  9: disruption=0.11 (perfect=0.11); stddev/expected=0.0074
# 9 -> 10: disruption=0.10 (perfect=0.10); stddev/expected=0.0161
#10 -> 11: disruption=0.09 (perfect=0.09); stddev/expected=0.0055
#11 -> 12: disruption=0.08 (perfect=0.08); stddev/expected=0.0092
#12 -> 13: disruption=0.08 (perfect=0.08); stddev/expected=0.0134
#13 -> 14: disruption=0.07 (perfect=0.07); stddev/expected=0.0124
#14 -> 15: disruption=0.07 (perfect=0.07); stddev/expected=0.0156
#15 -> 16: disruption=0.06 (perfect=0.06); stddev/expected=0.0182
#16 -> 17: disruption=0.06 (perfect=0.06); stddev/expected=0.0150
#17 -> 18: disruption=0.06 (perfect=0.06); stddev/expected=0.0109
#18 -> 19: disruption=0.05 (perfect=0.05); stddev/expected=0.0162
#19 -> 20: disruption=0.05 (perfect=0.05); stddev/expected=0.0149
#20 -> 21: disruption=0.05 (perfect=0.05); stddev/expected=0.0148
#21 -> 22: disruption=0.05 (perfect=0.05); stddev/expected=0.0230
#22 -> 23: disruption=0.04 (perfect=0.04); stddev/expected=0.0208
#23 -> 24: disruption=0.04 (perfect=0.04); stddev/expected=0.0210
#24 -> 25: disruption=0.04 (perfect=0.04); stddev/expected=0.0228
#25 -> 26: disruption=0.04 (perfect=0.04); stddev/expected=0.0155
#26 -> 27: disruption=0.04 (perfect=0.04); stddev/expected=0.0208
#27 -> 28: disruption=0.04 (perfect=0.04); stddev/expected=0.0218
#28 -> 29: disruption=0.03 (perfect=0.03); stddev/expected=0.0193
#29 -> 30: disruption=0.03 (perfect=0.03); stddev/expected=0.0169
#30 -> 31: disruption=0.03 (perfect=0.03); stddev/expected=0.0163
#31 -> 32: disruption=0.03 (perfect=0.03); stddev/expected=0.0192
#32 -> 33: disruption=0.03 (perfect=0.03); stddev/expected=0.0212
#33 -> 34: disruption=0.03 (perfect=0.03); stddev/expected=0.0240
#34 -> 35: disruption=0.03 (perfect=0.03); stddev/expected=0.0227
#35 -> 36: disruption=0.03 (perfect=0.03); stddev/expected=0.0230
#36 -> 37: disruption=0.03 (perfect=0.03); stddev/expected=0.0183
#37 -> 38: disruption=0.03 (perfect=0.03); stddev/expected=0.0227
#38 -> 39: disruption=0.03 (perfect=0.03); stddev/expected=0.0255
#39 -> 40: disruption=0.03 (perfect=0.03); stddev/expected=0.0247
#40 -> 41: disruption=0.02 (perfect=0.02); stddev/expected=0.0228
#41 -> 42: disruption=0.02 (perfect=0.02); stddev/expected=0.0247
#42 -> 43: disruption=0.02 (perfect=0.02); stddev/expected=0.0265
#43 -> 44: disruption=0.02 (perfect=0.02); stddev/expected=0.0250
#44 -> 45: disruption=0.02 (perfect=0.02); stddev/expected=0.0258
#45 -> 46: disruption=0.02 (perfect=0.02); stddev/expected=0.0196
#46 -> 47: disruption=0.02 (perfect=0.02); stddev/expected=0.0235
#47 -> 48: disruption=0.02 (perfect=0.02); stddev/expected=0.0314
#48 -> 49: disruption=0.02 (perfect=0.02); stddev/expected=0.0293
#49 -> 50: disruption=0.02 (perfect=0.02); stddev/expected=0.0241
#50 -> 51: disruption=0.02 (perfect=0.02); stddev/expected=0.0291
#51 -> 52: disruption=0.02 (perfect=0.02); stddev/expected=0.0304
#52 -> 53: disruption=0.02 (perfect=0.02); stddev/expected=0.0307
#53 -> 54: disruption=0.02 (perfect=0.02); stddev/expected=0.0250
#54 -> 55: disruption=0.02 (perfect=0.02); stddev/expected=0.0290
#55 -> 56: disruption=0.02 (perfect=0.02); stddev/expected=0.0284
#56 -> 57: disruption=0.02 (perfect=0.02); stddev/expected=0.0272
#57 -> 58: disruption=0.02 (perfect=0.02); stddev/expected=0.0272
#58 -> 59: disruption=0.02 (perfect=0.02); stddev/expected=0.0304
#59 -> 60: disruption=0.02 (perfect=0.02); stddev/expected=0.0345
#60 -> 61: disruption=0.02 (perfect=0.02); stddev/expected=0.0251
#61 -> 62: disruption=0.02 (perfect=0.02); stddev/expected=0.0249
#62 -> 63: disruption=0.02 (perfect=0.02); stddev/expected=0.0285
#63 -> 64: disruption=0.02 (perfect=0.02); stddev/expected=0.0285
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_271
#AT_START_272
at_fn_group_banner 272 'multipath.at:214' \
  "iter_hash multipath link selection" "             " 18
at_xfail=no
(
  $as_echo "272. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/multipath.at:215: test-multipath 'eth_src,50,iter_hash,1,0,NXM_NX_REG0[]'"
at_fn_check_prepare_trace "multipath.at:215"
( $at_check_trace; test-multipath 'eth_src,50,iter_hash,1,0,NXM_NX_REG0[]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/multipath.at:215"
$at_failed && at_fn_log_failure
$at_traceon; }

# 1 ->  2: disruption=0.50 (perfect=0.50); stddev/expected=0.0000
# 2 ->  3: disruption=0.42 (perfect=0.33); stddev/expected=0.0034
# 3 ->  4: disruption=0.25 (perfect=0.25); stddev/expected=0.0082
# 4 ->  5: disruption=0.42 (perfect=0.20); stddev/expected=0.0073
# 5 ->  6: disruption=0.17 (perfect=0.17); stddev/expected=0.0040
# 6 ->  7: disruption=0.14 (perfect=0.14); stddev/expected=0.0069
# 7 ->  8: disruption=0.13 (perfect=0.12); stddev/expected=0.0131
# 8 ->  9: disruption=0.45 (perfect=0.11); stddev/expected=0.0093
# 9 -> 10: disruption=0.10 (perfect=0.10); stddev/expected=0.0127
#10 -> 11: disruption=0.09 (perfect=0.09); stddev/expected=0.0134
#11 -> 12: disruption=0.08 (perfect=0.08); stddev/expected=0.0101
#12 -> 13: disruption=0.08 (perfect=0.08); stddev/expected=0.0127
#13 -> 14: disruption=0.07 (perfect=0.07); stddev/expected=0.0115
#14 -> 15: disruption=0.07 (perfect=0.07); stddev/expected=0.0100
#15 -> 16: disruption=0.06 (perfect=0.06); stddev/expected=0.0111
#16 -> 17: disruption=0.47 (perfect=0.06); stddev/expected=0.0137
#17 -> 18: disruption=0.05 (perfect=0.06); stddev/expected=0.0204
#18 -> 19: disruption=0.05 (perfect=0.05); stddev/expected=0.0082
#19 -> 20: disruption=0.05 (perfect=0.05); stddev/expected=0.0124
#20 -> 21: disruption=0.05 (perfect=0.05); stddev/expected=0.0203
#21 -> 22: disruption=0.05 (perfect=0.05); stddev/expected=0.0196
#22 -> 23: disruption=0.04 (perfect=0.04); stddev/expected=0.0183
#23 -> 24: disruption=0.04 (perfect=0.04); stddev/expected=0.0212
#24 -> 25: disruption=0.04 (perfect=0.04); stddev/expected=0.0176
#25 -> 26: disruption=0.04 (perfect=0.04); stddev/expected=0.0173
#26 -> 27: disruption=0.04 (perfect=0.04); stddev/expected=0.0159
#27 -> 28: disruption=0.03 (perfect=0.04); stddev/expected=0.0168
#28 -> 29: disruption=0.03 (perfect=0.03); stddev/expected=0.0190
#29 -> 30: disruption=0.03 (perfect=0.03); stddev/expected=0.0305
#30 -> 31: disruption=0.03 (perfect=0.03); stddev/expected=0.0282
#31 -> 32: disruption=0.03 (perfect=0.03); stddev/expected=0.0255
#32 -> 33: disruption=0.49 (perfect=0.03); stddev/expected=0.0220
#33 -> 34: disruption=0.03 (perfect=0.03); stddev/expected=0.0188
#34 -> 35: disruption=0.03 (perfect=0.03); stddev/expected=0.0203
#35 -> 36: disruption=0.03 (perfect=0.03); stddev/expected=0.0207
#36 -> 37: disruption=0.03 (perfect=0.03); stddev/expected=0.0261
#37 -> 38: disruption=0.03 (perfect=0.03); stddev/expected=0.0226
#38 -> 39: disruption=0.03 (perfect=0.03); stddev/expected=0.0233
#39 -> 40: disruption=0.03 (perfect=0.03); stddev/expected=0.0161
#40 -> 41: disruption=0.03 (perfect=0.02); stddev/expected=0.0303
#41 -> 42: disruption=0.02 (perfect=0.02); stddev/expected=0.0249
#42 -> 43: disruption=0.02 (perfect=0.02); stddev/expected=0.0262
#43 -> 44: disruption=0.02 (perfect=0.02); stddev/expected=0.0260
#44 -> 45: disruption=0.02 (perfect=0.02); stddev/expected=0.0266
#45 -> 46: disruption=0.02 (perfect=0.02); stddev/expected=0.0287
#46 -> 47: disruption=0.02 (perfect=0.02); stddev/expected=0.0213
#47 -> 48: disruption=0.02 (perfect=0.02); stddev/expected=0.0301
#48 -> 49: disruption=0.02 (perfect=0.02); stddev/expected=0.0230
#49 -> 50: disruption=0.02 (perfect=0.02); stddev/expected=0.0248
#50 -> 51: disruption=0.02 (perfect=0.02); stddev/expected=0.0203
#51 -> 52: disruption=0.02 (perfect=0.02); stddev/expected=0.0235
#52 -> 53: disruption=0.02 (perfect=0.02); stddev/expected=0.0340
#53 -> 54: disruption=0.02 (perfect=0.02); stddev/expected=0.0264
#54 -> 55: disruption=0.02 (perfect=0.02); stddev/expected=0.0292
#55 -> 56: disruption=0.02 (perfect=0.02); stddev/expected=0.0246
#56 -> 57: disruption=0.02 (perfect=0.02); stddev/expected=0.0270
#57 -> 58: disruption=0.02 (perfect=0.02); stddev/expected=0.0299
#58 -> 59: disruption=0.02 (perfect=0.02); stddev/expected=0.0307
#59 -> 60: disruption=0.02 (perfect=0.02); stddev/expected=0.0275
#60 -> 61: disruption=0.02 (perfect=0.02); stddev/expected=0.0289
#61 -> 62: disruption=0.02 (perfect=0.02); stddev/expected=0.0292
#62 -> 63: disruption=0.02 (perfect=0.02); stddev/expected=0.0292
#63 -> 64: disruption=0.02 (perfect=0.02); stddev/expected=0.0307
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_272
#AT_START_273
at_fn_group_banner 273 'multipath.at:282' \
  "multipath action missing argument" "              " 18
at_xfail=no
(
  $as_echo "273. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/multipath.at:283: ovs-ofctl parse-flow actions=multipath"
at_fn_check_prepare_trace "multipath.at:283"
( $at_check_trace; ovs-ofctl parse-flow actions=multipath
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: : not enough arguments to multipath action
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/multipath.at:283"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_273
#AT_START_274
at_fn_group_banner 274 'multipath.at:288' \
  "multipath action bad fields" "                    " 18
at_xfail=no
(
  $as_echo "274. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/multipath.at:289: ovs-ofctl parse-flow 'actions=multipath(xyzzy,50,modulo_n,1,0,NXM_NX_REG0[])'"
at_fn_check_prepare_trace "multipath.at:289"
( $at_check_trace; ovs-ofctl parse-flow 'actions=multipath(xyzzy,50,modulo_n,1,0,NXM_NX_REG0[])'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: xyzzy,50,modulo_n,1,0,NXM_NX_REG0[]: unknown fields \`xyzzy'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/multipath.at:289"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_274
#AT_START_275
at_fn_group_banner 275 'multipath.at:294' \
  "multipath action bad algorithm" "                 " 18
at_xfail=no
(
  $as_echo "275. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/multipath.at:295: ovs-ofctl parse-flow 'actions=multipath(eth_src,50,fubar,1,0,NXM_NX_REG0[])'"
at_fn_check_prepare_trace "multipath.at:295"
( $at_check_trace; ovs-ofctl parse-flow 'actions=multipath(eth_src,50,fubar,1,0,NXM_NX_REG0[])'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: eth_src,50,fubar,1,0,NXM_NX_REG0[]: unknown algorithm \`fubar'
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/multipath.at:295"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_275
#AT_START_276
at_fn_group_banner 276 'multipath.at:300' \
  "multipath action bad n_links" "                   " 18
at_xfail=no
(
  $as_echo "276. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/multipath.at:301: ovs-ofctl parse-flow 'actions=multipath(eth_src,50,modulo_n,0,0,NXM_NX_REG0[])'"
at_fn_check_prepare_trace "multipath.at:301"
( $at_check_trace; ovs-ofctl parse-flow 'actions=multipath(eth_src,50,modulo_n,0,0,NXM_NX_REG0[])'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: eth_src,50,modulo_n,0,0,NXM_NX_REG0[]: n_links 0 is not in valid range 1 to 65536
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/multipath.at:301"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_276
#AT_START_277
at_fn_group_banner 277 'multipath.at:306' \
  "multipath action destination too narrow" "        " 18
at_xfail=no
(
  $as_echo "277. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/multipath.at:307: ovs-ofctl parse-flow 'actions=multipath(eth_src,50,modulo_n,1024,0,NXM_NX_REG0[0..7])'"
at_fn_check_prepare_trace "multipath.at:307"
( $at_check_trace; ovs-ofctl parse-flow 'actions=multipath(eth_src,50,modulo_n,1024,0,NXM_NX_REG0[0..7])'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-ofctl: eth_src,50,modulo_n,1024,0,NXM_NX_REG0[0..7]: 8-bit destination field has 256 possible values, less than specified n_links 1024
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/multipath.at:307"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_277
#AT_START_278
at_fn_group_banner 278 'learn.at:3' \
  "learning action - parsing and formatting" "       " 19
at_xfail=no
(
  $as_echo "278. $at_setup_line: testing $at_desc ..."
  $at_traceon

cat >flows.txt <<'_ATEOF'

actions=learn()
actions=learn(NXM_OF_VLAN_TCI[0..11], NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[], output:NXM_OF_IN_PORT[], load:10->NXM_NX_REG0[5..10])
actions=learn(table=1,idle_timeout=10, hard_timeout=20, fin_idle_timeout=5, fin_hard_timeout=10, priority=10, cookie=0xfedcba9876543210, in_port=99,NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load:NXM_OF_IN_PORT[]->NXM_NX_REG1[16..31])
_ATEOF

{ set +x
$as_echo "$at_srcdir/learn.at:9: ovs-ofctl parse-flows flows.txt"
at_fn_check_prepare_trace "learn.at:9"
( $at_check_trace; ovs-ofctl parse-flows flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "usable protocols: any
chosen protocol: OpenFlow10-table_id
OFPT_FLOW_MOD (xid=0x1): ADD actions=learn(table=1)
OFPT_FLOW_MOD (xid=0x2): ADD actions=learn(table=1,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],output:NXM_OF_IN_PORT[],load:0xa->NXM_NX_REG0[5..10])
OFPT_FLOW_MOD (xid=0x3): ADD actions=learn(table=1,idle_timeout=10,hard_timeout=20,fin_idle_timeout=5,fin_hard_timeout=10,priority=10,cookie=0xfedcba9876543210,in_port=99,NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load:NXM_OF_IN_PORT[]->NXM_NX_REG1[16..31])
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:9"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_278
#AT_START_279
at_fn_group_banner 279 'learn.at:18' \
  "learning action - parsing and formatting - illegal in_port_oxm" "" 19
at_xfail=no
(
  $as_echo "279. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/learn.at:19: ovs-ofctl parse-flow 'actions=learn(table=1, in_port_oxm=123456)'"
at_fn_check_prepare_trace "learn.at:19"
( $at_check_trace; ovs-ofctl parse-flow 'actions=learn(table=1, in_port_oxm=123456)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/learn.at:19"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/learn.at:21: sed -e 's/.*|ofp_util|WARN|//' < stderr"
at_fn_check_prepare_notrace 'a shell pipeline' "learn.at:21"
( $at_check_trace; sed -e 's/.*|ofp_util|WARN|//' < stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "port 123456 is outside the supported range 0 through ffff or 0xffffff00 through 0xffffffff
ovs-ofctl: 123456: port value out of range for in_port_oxm
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:21"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_279
#AT_START_280
at_fn_group_banner 280 'learn.at:27' \
  "learning action - parsing and formatting - OXM" " " 19
at_xfail=no
(
  $as_echo "280. $at_setup_line: testing $at_desc ..."
  $at_traceon

cat >flows.txt <<'_ATEOF'

actions=learn(output:OXM_OF_IN_PORT[])
actions=learn(table=1, in_port=1, load:OXM_OF_IN_PORT[]->NXM_NX_REG1[], load:0xfffffffe->OXM_OF_IN_PORT[])
_ATEOF

{ set +x
$as_echo "$at_srcdir/learn.at:32: ovs-ofctl -O OpenFlow12 parse-flows flows.txt"
at_fn_check_prepare_trace "learn.at:32"
( $at_check_trace; ovs-ofctl -O OpenFlow12 parse-flows flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "usable protocols: any
chosen protocol: OXM-OpenFlow12
OFPT_FLOW_MOD (OF1.2) (xid=0x1): ADD table:255 actions=learn(table=1,output:OXM_OF_IN_PORT[])
OFPT_FLOW_MOD (OF1.2) (xid=0x2): ADD table:255 actions=learn(table=1,in_port=1,load:OXM_OF_IN_PORT[]->NXM_NX_REG1[],load:0xfffffffe->OXM_OF_IN_PORT[])
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:32"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_280
#AT_START_281
at_fn_group_banner 281 'learn.at:40' \
  "learning action - examples" "                     " 19
at_xfail=no
(
  $as_echo "281. $at_setup_line: testing $at_desc ..."
  $at_traceon

cat >flows.txt <<'_ATEOF'

# These are the examples from nicira-ext.h.
actions=learn(in_port=99,NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[], load:NXM_OF_IN_PORT[]->NXM_NX_REG1[16..31])
actions=learn(NXM_OF_VLAN_TCI[0..11], NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],output:NXM_OF_IN_PORT[])
table=0 actions=learn(table=1,hard_timeout=10, NXM_OF_VLAN_TCI[0..11],output:NXM_OF_IN_PORT[]), resubmit(,1)
table=1 priority=0 actions=flood
_ATEOF

{ set +x
$as_echo "$at_srcdir/learn.at:48: ovs-ofctl parse-flows flows.txt"
at_fn_check_prepare_trace "learn.at:48"
( $at_check_trace; ovs-ofctl parse-flows flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "usable protocols: OXM,OpenFlow10+table_id,NXM+table_id,OpenFlow11
chosen protocol: OpenFlow10+table_id
OFPT_FLOW_MOD (xid=0x1): ADD table:255 actions=learn(table=1,in_port=99,NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load:NXM_OF_IN_PORT[]->NXM_NX_REG1[16..31])
OFPT_FLOW_MOD (xid=0x2): ADD table:255 actions=learn(table=1,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],output:NXM_OF_IN_PORT[])
OFPT_FLOW_MOD (xid=0x3): ADD actions=learn(table=1,hard_timeout=10,NXM_OF_VLAN_TCI[0..11],output:NXM_OF_IN_PORT[]),resubmit(,1)
OFPT_FLOW_MOD (xid=0x4): ADD table:1 priority=0 actions=FLOOD
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:48"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_281
#AT_START_282
at_fn_group_banner 282 'learn.at:58' \
  "learning action - satisfied prerequisites" "      " 19
at_xfail=no
(
  $as_echo "282. $at_setup_line: testing $at_desc ..."
  $at_traceon

cat >flows.txt <<'_ATEOF'
actions=learn(eth_type=0x800,load:5->NXM_OF_IP_DST[])
ip,actions=learn(load:NXM_OF_IP_DST[]->NXM_NX_REG1[])
ip,actions=learn(eth_type=0x800,OXM_OF_IPV4_DST[])
_ATEOF

{ set +x
$as_echo "$at_srcdir/learn.at:64: ovs-ofctl parse-flows flows.txt"
at_fn_check_prepare_trace "learn.at:64"
( $at_check_trace; ovs-ofctl parse-flows flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "usable protocols: any
chosen protocol: OpenFlow10-table_id
OFPT_FLOW_MOD (xid=0x1): ADD actions=learn(table=1,eth_type=0x800,load:0x5->NXM_OF_IP_DST[])
OFPT_FLOW_MOD (xid=0x2): ADD ip actions=learn(table=1,load:NXM_OF_IP_DST[]->NXM_NX_REG1[])
OFPT_FLOW_MOD (xid=0x3): ADD ip actions=learn(table=1,eth_type=0x800,NXM_OF_IP_DST[])
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:64"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_282
#AT_START_283
at_fn_group_banner 283 'learn.at:73' \
  "learning action - invalid prerequisites" "        " 19
at_xfail=no
(
  $as_echo "283. $at_setup_line: testing $at_desc ..."
  $at_traceon

{ set +x
$as_echo "$at_srcdir/learn.at:74: ovs-ofctl parse-flow 'actions=learn(load:5->NXM_OF_IP_DST[])'"
at_fn_check_prepare_trace "learn.at:74"
( $at_check_trace; ovs-ofctl parse-flow 'actions=learn(load:5->NXM_OF_IP_DST[])'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/learn.at:74"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/learn.at:76: sed -e 's/.*|meta_flow|WARN|//' < stderr"
at_fn_check_prepare_notrace 'a shell pipeline' "learn.at:76"
( $at_check_trace; sed -e 's/.*|meta_flow|WARN|//' < stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "destination field ip_dst lacks correct prerequisites
ovs-ofctl: actions are invalid with specified match (OFPBAC_MATCH_INCONSISTENT)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:76"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/learn.at:80: ovs-ofctl parse-flow 'actions=learn(load:NXM_OF_IP_DST[]->NXM_NX_REG1[])'"
at_fn_check_prepare_trace "learn.at:80"
( $at_check_trace; ovs-ofctl parse-flow 'actions=learn(load:NXM_OF_IP_DST[]->NXM_NX_REG1[])'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/learn.at:80"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/learn.at:82: sed -e 's/.*|meta_flow|WARN|//' < stderr"
at_fn_check_prepare_notrace 'a shell pipeline' "learn.at:82"
( $at_check_trace; sed -e 's/.*|meta_flow|WARN|//' < stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "source field ip_dst lacks correct prerequisites
ovs-ofctl: actions are invalid with specified match (OFPBAC_MATCH_INCONSISTENT)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:82"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_283
#AT_START_284
at_fn_group_banner 284 'learn.at:88' \
  "learning action - standard VLAN+MAC learning" "   " 19
at_xfail=no
(
  $as_echo "284. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/learn.at:89: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "learn.at:89"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:89"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:89: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "learn.at:89"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:89"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:89: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "learn.at:89"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:89"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/learn.at:89: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "learn.at:89"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:89"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:89: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "learn.at:89"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:89"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/learn.at:89: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "learn.at:89"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:89"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:89: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 -- \\
   add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 -- \\
   add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3 "
at_fn_check_prepare_notrace 'an embedded newline' "learn.at:89"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 -- \
   add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 -- \
   add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:89"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Set up flow table for VLAN+MAC learning.
cat >flows.txt <<'_ATEOF'

table=0 actions=learn(table=1, hard_timeout=60, NXM_OF_VLAN_TCI[0..11], NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[], output:NXM_OF_IN_PORT[]), resubmit(,1)
table=1 priority=0 actions=flood
_ATEOF

{ set +x
$as_echo "$at_srcdir/learn.at:98: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "learn.at:98"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:98"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Trace an ARP packet arriving on port 3, to create a MAC learning entry.
flow="in_port(3),eth(src=50:54:00:00:00:05,dst=ff:ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=192.168.0.1,tip=192.168.0.2,op=1,sha=50:54:00:00:00:05,tha=00:00:00:00:00:00)"
{ set +x
$as_echo "$at_srcdir/learn.at:102: ovs-appctl ofproto/trace ovs-dummy \"\$flow\" -generate"
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\" -generate" "learn.at:102"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow" -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:102"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

actual=`tail -1 stdout | sed 's/Datapath actions: //'`

expected="1,2,100"
{ set +x
$as_echo "$at_srcdir/learn.at:106: ovs-dpctl normalize-actions \"\$flow\" \"\$expected\""
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$expected\"" "learn.at:106"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:106"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

mv stdout expout
{ set +x
$as_echo "$at_srcdir/learn.at:108: ovs-dpctl normalize-actions \"\$flow\" \"\$actual\""
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$actual\"" "learn.at:108"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$actual"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Check for the MAC learning entry.
{ set +x
$as_echo "$at_srcdir/learn.at:111: ovs-ofctl dump-flows br0 table=1 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "learn.at:111"
( $at_check_trace; ovs-ofctl dump-flows br0 table=1 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " table=1, hard_timeout=60, vlan_tci=0x0000/0x0fff,dl_dst=50:54:00:00:00:05 actions=output:3
 table=1, priority=0 actions=FLOOD
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Trace a packet arrival destined for the learned MAC.
# (This will also learn a MAC.)
{ set +x
$as_echo "$at_srcdir/learn.at:119: ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:06,dst=50:54:00:00:00:05),eth_type(0x0806),arp(sip=192.168.0.2,tip=192.168.0.1,op=2,sha=50:54:00:00:00:06,tha=50:54:00:00:00:05)' -generate"
at_fn_check_prepare_trace "learn.at:119"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:06,dst=50:54:00:00:00:05),eth_type(0x0806),arp(sip=192.168.0.2,tip=192.168.0.1,op=2,sha=50:54:00:00:00:06,tha=50:54:00:00:00:05)' -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:119"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/learn.at:120: tail -1 stdout"
at_fn_check_prepare_trace "learn.at:120"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:120"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Check for both MAC learning entries.
{ set +x
$as_echo "$at_srcdir/learn.at:124: ovs-ofctl dump-flows br0 table=1 | ofctl_strip |sort"
at_fn_check_prepare_notrace 'a shell pipeline' "learn.at:124"
( $at_check_trace; ovs-ofctl dump-flows br0 table=1 | ofctl_strip |sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " table=1, hard_timeout=60, vlan_tci=0x0000/0x0fff,dl_dst=50:54:00:00:00:05 actions=output:3
 table=1, hard_timeout=60, vlan_tci=0x0000/0x0fff,dl_dst=50:54:00:00:00:06 actions=output:1
 table=1, priority=0 actions=FLOOD
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:124"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Trace a packet arrival that updates the first learned MAC entry.
flow="in_port(2),eth(src=50:54:00:00:00:05,dst=ff:ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=192.168.0.1,tip=192.168.0.2,op=1,sha=50:54:00:00:00:05,tha=00:00:00:00:00:00)"
{ set +x
$as_echo "$at_srcdir/learn.at:133: ovs-appctl ofproto/trace ovs-dummy \"\$flow\" -generate"
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\" -generate" "learn.at:133"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow" -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:133"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

actual=`tail -1 stdout | sed 's/Datapath actions: //'`

expected="1,3,100"
{ set +x
$as_echo "$at_srcdir/learn.at:137: ovs-dpctl normalize-actions \"\$flow\" \"\$expected\""
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$expected\"" "learn.at:137"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:137"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

mv stdout expout
{ set +x
$as_echo "$at_srcdir/learn.at:139: ovs-dpctl normalize-actions \"\$flow\" \"\$actual\""
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$actual\"" "learn.at:139"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$actual"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Check that the MAC learning entry was updated.
{ set +x
$as_echo "$at_srcdir/learn.at:142: ovs-ofctl dump-flows br0 table=1 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "learn.at:142"
( $at_check_trace; ovs-ofctl dump-flows br0 table=1 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " table=1, hard_timeout=60, vlan_tci=0x0000/0x0fff,dl_dst=50:54:00:00:00:05 actions=output:2
 table=1, hard_timeout=60, vlan_tci=0x0000/0x0fff,dl_dst=50:54:00:00:00:06 actions=output:1
 table=1, priority=0 actions=FLOOD
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:142"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/learn.at:148: check_logs "
at_fn_check_prepare_trace "learn.at:148"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:148: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "learn.at:148"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:148: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "learn.at:148"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_284
#AT_START_285
at_fn_group_banner 285 'learn.at:157' \
  "learning action - learn refreshes hard_age" "     " 19
at_xfail=no
(
  $as_echo "285. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/learn.at:158: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "learn.at:158"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:158"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:158: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "learn.at:158"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:158"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:158: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "learn.at:158"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:158"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/learn.at:158: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "learn.at:158"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:158"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:158: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "learn.at:158"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:158"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/learn.at:158: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "learn.at:158"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:158"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:158: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 -- \\
   add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 -- \\
   add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3 "
at_fn_check_prepare_notrace 'an embedded newline' "learn.at:158"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 -- \
   add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 -- \
   add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:158"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ovs-appctl time/stop

# Set up flow table for MAC learning.
cat >flows.txt <<'_ATEOF'

table=0 actions=learn(table=1, hard_timeout=10, NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[], output:NXM_OF_IN_PORT[]), resubmit(,1)
table=1 priority=0 actions=flood
_ATEOF

{ set +x
$as_echo "$at_srcdir/learn.at:170: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "learn.at:170"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Trace an ICMP packet arriving on port 3, to create a MAC learning entry.
flow="in_port(3),eth(src=50:54:00:00:00:07,dst=50:54:00:00:00:05),eth_type(0x0800),ipv4(src=192.168.0.2,dst=192.168.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=0,code=0)"
{ set +x
$as_echo "$at_srcdir/learn.at:174: ovs-appctl ofproto/trace ovs-dummy \"\$flow\" -generate"
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\" -generate" "learn.at:174"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow" -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:174"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

actual=`tail -1 stdout | sed 's/Datapath actions: //'`

expected="1,2,100"
{ set +x
$as_echo "$at_srcdir/learn.at:178: ovs-dpctl normalize-actions \"\$flow\" \"\$expected\""
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$expected\"" "learn.at:178"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:178"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

mv stdout expout
{ set +x
$as_echo "$at_srcdir/learn.at:180: ovs-dpctl normalize-actions \"\$flow\" \"\$actual\""
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$actual\"" "learn.at:180"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$actual"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:180"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Check that the MAC learning entry appeared.
{ set +x
$as_echo "$at_srcdir/learn.at:183: ovs-ofctl dump-flows br0 table=1 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "learn.at:183"
( $at_check_trace; ovs-ofctl dump-flows br0 table=1 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " table=1, hard_timeout=10, dl_dst=50:54:00:00:00:07 actions=output:3
 table=1, priority=0 actions=FLOOD
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:183"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# For 25 seconds, make sure that the MAC learning entry doesn't
# disappear as long as we refresh it every second.
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25; do
    ovs-appctl time/warp 1000
    { set +x
$as_echo "$at_srcdir/learn.at:193: ovs-appctl ofproto/trace ovs-dummy \"\$flow\" -generate"
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\" -generate" "learn.at:193"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow" -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:193"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    # Check that the entry is there.
    { set +x
$as_echo "$at_srcdir/learn.at:196: ovs-ofctl dump-flows br0 table=1"
at_fn_check_prepare_trace "learn.at:196"
( $at_check_trace; ovs-ofctl dump-flows br0 table=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:196"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/learn.at:197: ofctl_strip < stdout | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "learn.at:197"
( $at_check_trace; ofctl_strip < stdout | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " table=1, hard_timeout=10, dl_dst=50:54:00:00:00:07 actions=output:3
 table=1, priority=0 actions=FLOOD
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:197"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    if test $i != 1; then
        # Check that hard_age has appeared.  We need to do this separately
        # from the above check because ofctl_strip removes it.  dump-flows
        # only prints hard_age when it is different from the flow's duration
        # (that is, the number of seconds from the time it was created),
        # so we only check for it after we've refreshed the flow once.
        { set +x
$as_echo "$at_srcdir/learn.at:209: grep dl_dst=50:54:00:00:00:07 stdout | grep -c hard_age"
at_fn_check_prepare_notrace 'a shell pipeline' "learn.at:209"
( $at_check_trace; grep dl_dst=50:54:00:00:00:07 stdout | grep -c hard_age
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:209"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    fi
done

# Make sure that 15 seconds without refreshing makes the flow time out.
ovs-appctl time/warp 5000
ovs-appctl time/warp 5000
ovs-appctl time/warp 5000
    { set +x
$as_echo "$at_srcdir/learn.at:219: ovs-ofctl dump-flows br0 table=1 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "learn.at:219"
( $at_check_trace; ovs-ofctl dump-flows br0 table=1 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " table=1, priority=0 actions=FLOOD
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:219"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/learn.at:223: check_logs "
at_fn_check_prepare_trace "learn.at:223"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:223"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:223: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "learn.at:223"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:223"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:223: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "learn.at:223"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:223"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_285
#AT_START_286
at_fn_group_banner 286 'learn.at:226' \
  "learning action - TCPv4 port learning" "          " 19
at_xfail=no
(
  $as_echo "286. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/learn.at:227: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "learn.at:227"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:227"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:227: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "learn.at:227"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:227"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:227: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "learn.at:227"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:227"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/learn.at:227: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "learn.at:227"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:227"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:227: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "learn.at:227"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:227"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/learn.at:227: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "learn.at:227"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:227"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:227: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy -- \\
   add-port br0 p2 -- set Interface p2 type=dummy -- \\
   add-port br0 p3 -- set Interface p3 type=dummy "
at_fn_check_prepare_notrace 'an embedded newline' "learn.at:227"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy -- \
   add-port br0 p2 -- set Interface p2 type=dummy -- \
   add-port br0 p3 -- set Interface p3 type=dummy
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:227"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Set up flow table for TCPv4 port learning.
{ set +x
$as_echo "$at_srcdir/learn.at:232: ovs-ofctl add-flow br0 'table=0 tcp actions=learn(table=1, hard_timeout=60, eth_type=0x800, nw_proto=6, NXM_OF_IP_SRC[]=NXM_OF_IP_DST[], NXM_OF_IP_DST[]=NXM_OF_IP_SRC[], NXM_OF_TCP_SRC[]=NXM_OF_TCP_DST[], NXM_OF_TCP_DST[]=NXM_OF_TCP_SRC[]), flood'"
at_fn_check_prepare_trace "learn.at:232"
( $at_check_trace; ovs-ofctl add-flow br0 'table=0 tcp actions=learn(table=1, hard_timeout=60, eth_type=0x800, nw_proto=6, NXM_OF_IP_SRC[]=NXM_OF_IP_DST[], NXM_OF_IP_DST[]=NXM_OF_IP_SRC[], NXM_OF_TCP_SRC[]=NXM_OF_TCP_DST[], NXM_OF_TCP_DST[]=NXM_OF_TCP_SRC[]), flood'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Trace a TCPv4 packet arriving on port 3.
flow="in_port(3),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:06),eth_type(0x0800),ipv4(src=192.168.0.2,dst=192.168.0.1,proto=6,tos=0,ttl=64,frag=no),tcp(src=40000,dst=80)"
{ set +x
$as_echo "$at_srcdir/learn.at:236: ovs-appctl ofproto/trace ovs-dummy \"\$flow\" -generate"
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\" -generate" "learn.at:236"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow" -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:236"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

actual=`tail -1 stdout | sed 's/Datapath actions: //'`

expected="1,2,100"
{ set +x
$as_echo "$at_srcdir/learn.at:240: ovs-dpctl normalize-actions \"\$flow\" \"\$expected\""
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$expected\"" "learn.at:240"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:240"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

mv stdout expout
{ set +x
$as_echo "$at_srcdir/learn.at:242: ovs-dpctl normalize-actions \"\$flow\" \"\$actual\""
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$actual\"" "learn.at:242"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$actual"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:242"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Check for the learning entry.
{ set +x
$as_echo "$at_srcdir/learn.at:245: ovs-ofctl dump-flows br0 table=1 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "learn.at:245"
( $at_check_trace; ovs-ofctl dump-flows br0 table=1 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " table=1, hard_timeout=60, tcp,nw_src=192.168.0.1,nw_dst=192.168.0.2,tp_src=80,tp_dst=40000 actions=drop
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:245"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/learn.at:249: check_logs "
at_fn_check_prepare_trace "learn.at:249"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:249"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:249: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "learn.at:249"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:249"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:249: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "learn.at:249"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:249"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_286
#AT_START_287
at_fn_group_banner 287 'learn.at:252' \
  "learning action - TCPv6 port learning" "          " 19
at_xfail=no
(
  $as_echo "287. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/learn.at:253: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "learn.at:253"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:253"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:253: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "learn.at:253"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:253"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:253: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "learn.at:253"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:253"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/learn.at:253: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "learn.at:253"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:253"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:253: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "learn.at:253"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:253"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/learn.at:253: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "learn.at:253"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:253"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:253: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy -- \\
   add-port br0 p2 -- set Interface p2 type=dummy -- \\
   add-port br0 p3 -- set Interface p3 type=dummy "
at_fn_check_prepare_notrace 'an embedded newline' "learn.at:253"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy -- \
   add-port br0 p2 -- set Interface p2 type=dummy -- \
   add-port br0 p3 -- set Interface p3 type=dummy
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:253"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Set up flow table for TCPv6 port learning.
# Also add a 128-bit-wide "load" action and a 128-bit literal match to check
# that they work.
{ set +x
$as_echo "$at_srcdir/learn.at:260: ovs-ofctl add-flow br0 'table=0 tcp6 actions=learn(table=1, hard_timeout=60, eth_type=0x86dd, nw_proto=6, NXM_NX_IPV6_SRC[]=NXM_NX_IPV6_DST[], ipv6_dst=2001:0db8:85a3:0000:0000:8a2e:0370:7334, NXM_OF_TCP_SRC[]=NXM_OF_TCP_DST[], NXM_OF_TCP_DST[]=NXM_OF_TCP_SRC[], load(0x20010db885a308d313198a2e03707348->NXM_NX_IPV6_DST[])), flood'"
at_fn_check_prepare_trace "learn.at:260"
( $at_check_trace; ovs-ofctl add-flow br0 'table=0 tcp6 actions=learn(table=1, hard_timeout=60, eth_type=0x86dd, nw_proto=6, NXM_NX_IPV6_SRC[]=NXM_NX_IPV6_DST[], ipv6_dst=2001:0db8:85a3:0000:0000:8a2e:0370:7334, NXM_OF_TCP_SRC[]=NXM_OF_TCP_DST[], NXM_OF_TCP_DST[]=NXM_OF_TCP_SRC[], load(0x20010db885a308d313198a2e03707348->NXM_NX_IPV6_DST[])), flood'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:260"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Trace a TCPv6 packet arriving on port 3.
flow="in_port(3),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:06),eth_type(0x86dd),ipv6(src=fec0::2,dst=fec0::1,label=0,proto=6,tclass=0,hlimit=255,frag=no),tcp(src=40000,dst=80)"
{ set +x
$as_echo "$at_srcdir/learn.at:264: ovs-appctl ofproto/trace ovs-dummy \"\$flow\" -generate"
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\" -generate" "learn.at:264"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow" -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:264"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

actual=`tail -1 stdout | sed 's/Datapath actions: //'`

expected="1,2,100"
{ set +x
$as_echo "$at_srcdir/learn.at:268: ovs-dpctl normalize-actions \"\$flow\" \"\$expected\""
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$expected\"" "learn.at:268"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:268"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

mv stdout expout
{ set +x
$as_echo "$at_srcdir/learn.at:270: ovs-dpctl normalize-actions \"\$flow\" \"\$actual\""
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$actual\"" "learn.at:270"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$actual"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:270"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Check for the learning entry.
{ set +x
$as_echo "$at_srcdir/learn.at:273: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "learn.at:273"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " table=1, hard_timeout=60, tcp6,ipv6_src=fec0::1,ipv6_dst=2001:db8:85a3::8a2e:370:7334,tp_src=80,tp_dst=40000 actions=load:0x13198a2e03707348->NXM_NX_IPV6_DST[0..63],load:0x20010db885a308d3->NXM_NX_IPV6_DST[64..127]
 tcp6 actions=learn(table=1,hard_timeout=60,eth_type=0x86dd,nw_proto=6,NXM_NX_IPV6_SRC[]=NXM_NX_IPV6_DST[],ipv6_dst=2001:db8:85a3::8a2e:370:7334,NXM_OF_TCP_SRC[]=NXM_OF_TCP_DST[],NXM_OF_TCP_DST[]=NXM_OF_TCP_SRC[],load:0x20010db885a308d313198a2e03707348->NXM_NX_IPV6_DST[]),FLOOD
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/learn.at:278: check_logs "
at_fn_check_prepare_trace "learn.at:278"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:278"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:278: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "learn.at:278"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:278"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:278: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "learn.at:278"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:278"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_287
#AT_START_288
at_fn_group_banner 288 'learn.at:284' \
  "learning action - self-modifying flow" "          " 19
at_xfail=no
(
  $as_echo "288. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/learn.at:285: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "learn.at:285"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:285"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:285: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "learn.at:285"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:285"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:285: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "learn.at:285"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:285"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/learn.at:285: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "learn.at:285"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:285"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:285: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "learn.at:285"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:285"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/learn.at:285: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "learn.at:285"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:285"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:285: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "learn.at:285"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:285"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3

# Set up flow table for TCPv4 port learning.
{ set +x
$as_echo "$at_srcdir/learn.at:289: ovs-ofctl add-flow br0 'actions=load:3->NXM_NX_REG0[0..15],learn(table=0,priority=65535,NXM_OF_ETH_SRC[],NXM_OF_VLAN_TCI[0..11],output:NXM_NX_REG0[0..15]),output:2'"
at_fn_check_prepare_trace "learn.at:289"
( $at_check_trace; ovs-ofctl add-flow br0 'actions=load:3->NXM_NX_REG0[0..15],learn(table=0,priority=65535,NXM_OF_ETH_SRC[],NXM_OF_VLAN_TCI[0..11],output:NXM_NX_REG0[0..15]),output:2'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:289"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Trace some packets arriving.  The particular packets don't matter.
for i in 1 2 3 4 5 6 7 8 9 10; do
    ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'
    ovs-appctl time/warp 10
done

# Check for the learning entry.
ovs-appctl time/warp 1000
{ set +x
$as_echo "$at_srcdir/learn.at:299: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "learn.at:299"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " n_packets=1, n_bytes=60, actions=load:0x3->NXM_NX_REG0[0..15],learn(table=0,priority=65535,NXM_OF_ETH_SRC[],NXM_OF_VLAN_TCI[0..11],output:NXM_NX_REG0[0..15]),output:2
 n_packets=9, n_bytes=540, priority=65535,vlan_tci=0x0000/0x0fff,dl_src=50:54:00:00:00:05 actions=output:3
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:299"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Check that the first packet went out port 2 and the rest out port 3.
{ set +x
$as_echo "$at_srcdir/learn.at:306: (ovs-ofctl dump-ports br0 2; ovs-ofctl dump-ports br0 3) | sed 's/ (xid=0x[0-9a-fA-F]*)//'"
at_fn_check_prepare_notrace 'a shell pipeline' "learn.at:306"
( $at_check_trace; (ovs-ofctl dump-ports br0 2; ovs-ofctl dump-ports br0 3) | sed 's/ (xid=0x[0-9a-fA-F]*)//'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT reply: 1 ports
  port  2: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=1, bytes=60, drop=0, errs=0, coll=0
OFPST_PORT reply: 1 ports
  port  3: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=9, bytes=540, drop=0, errs=0, coll=0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:306"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/learn.at:315: check_logs "
at_fn_check_prepare_trace "learn.at:315"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:315"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:315: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "learn.at:315"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:315"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:315: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "learn.at:315"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:315"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_288
#AT_START_289
at_fn_group_banner 289 'learn.at:318' \
  "learning action - fin_timeout feature" "          " 19
at_xfail=no
(
  $as_echo "289. $at_setup_line: testing $at_desc ..."
  $at_traceon

# This is a totally artificial use of the "learn" action.  The only purpose
# is to check that specifying fin_idle_timeout or fin_hard_timeout causes
# a corresponding fin_timeout action to end up in the learned flows.
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/learn.at:322: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "learn.at:322"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:322"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:322: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "learn.at:322"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:322"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:322: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "learn.at:322"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:322"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/learn.at:322: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "learn.at:322"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:322"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:322: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "learn.at:322"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:322"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/learn.at:322: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "learn.at:322"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:322"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/learn.at:322: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 "
at_fn_check_prepare_trace "learn.at:322"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:322"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/learn.at:324: ovs-ofctl add-flow br0 'actions=learn(fin_hard_timeout=10, fin_idle_timeout=5, NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[], output:NXM_OF_IN_PORT[])'"
at_fn_check_prepare_trace "learn.at:324"
( $at_check_trace; ovs-ofctl add-flow br0 'actions=learn(fin_hard_timeout=10, fin_idle_timeout=5, NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[], output:NXM_OF_IN_PORT[])'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:324"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/learn.at:325: ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=ff:ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=192.168.0.1,tip=192.168.0.2,op=1,sha=50:54:00:00:00:05,tha=00:00:00:00:00:00)' -generate"
at_fn_check_prepare_trace "learn.at:325"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=ff:ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=192.168.0.1,tip=192.168.0.2,op=1,sha=50:54:00:00:00:05,tha=00:00:00:00:00:00)' -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:325"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/learn.at:326: ovs-ofctl dump-flows br0 table=1 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "learn.at:326"
( $at_check_trace; ovs-ofctl dump-flows br0 table=1 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW reply:
 table=1, dl_dst=50:54:00:00:00:05 actions=fin_timeout(idle_timeout=5,hard_timeout=10),output:1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:326"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/learn.at:330: check_logs "
at_fn_check_prepare_trace "learn.at:330"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:330"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:330: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "learn.at:330"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:330"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/learn.at:330: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "learn.at:330"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/learn.at:330"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_289
#AT_START_290
at_fn_group_banner 290 'vconn.at:21' \
  "unix vconn - refuse connection" "                 " 20
at_xfail=no
(
  $as_echo "290. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

      { set +x
$as_echo "$at_srcdir/vconn.at:21: test-vconn refuse-connection unix"
at_fn_check_prepare_trace "vconn.at:21"
( $at_check_trace; test-vconn refuse-connection unix
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:21"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_290
#AT_START_291
at_fn_group_banner 291 'vconn.at:21' \
  "unix vconn - accept then close" "                 " 20
at_xfail=no
(
  $as_echo "291. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

      { set +x
$as_echo "$at_srcdir/vconn.at:21: test-vconn accept-then-close unix"
at_fn_check_prepare_trace "vconn.at:21"
( $at_check_trace; test-vconn accept-then-close unix
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:21"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_291
#AT_START_292
at_fn_group_banner 292 'vconn.at:21' \
  "unix vconn - read hello" "                        " 20
at_xfail=no
(
  $as_echo "292. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

      { set +x
$as_echo "$at_srcdir/vconn.at:21: test-vconn read-hello unix"
at_fn_check_prepare_trace "vconn.at:21"
( $at_check_trace; test-vconn read-hello unix
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:21"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_292
#AT_START_293
at_fn_group_banner 293 'vconn.at:21' \
  "unix vconn - send plain hello" "                  " 20
at_xfail=no
(
  $as_echo "293. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

      { set +x
$as_echo "$at_srcdir/vconn.at:21: test-vconn send-plain-hello unix"
at_fn_check_prepare_trace "vconn.at:21"
( $at_check_trace; test-vconn send-plain-hello unix
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:21"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_293
#AT_START_294
at_fn_group_banner 294 'vconn.at:21' \
  "unix vconn - send long hello" "                   " 20
at_xfail=no
(
  $as_echo "294. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

      { set +x
$as_echo "$at_srcdir/vconn.at:21: test-vconn send-long-hello unix"
at_fn_check_prepare_trace "vconn.at:21"
( $at_check_trace; test-vconn send-long-hello unix
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:21"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_294
#AT_START_295
at_fn_group_banner 295 'vconn.at:21' \
  "unix vconn - send echo hello" "                   " 20
at_xfail=no
(
  $as_echo "295. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

      { set +x
$as_echo "$at_srcdir/vconn.at:21: test-vconn send-echo-hello unix"
at_fn_check_prepare_trace "vconn.at:21"
( $at_check_trace; test-vconn send-echo-hello unix
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:21"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_295
#AT_START_296
at_fn_group_banner 296 'vconn.at:21' \
  "unix vconn - send short hello" "                  " 20
at_xfail=no
(
  $as_echo "296. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

      { set +x
$as_echo "$at_srcdir/vconn.at:21: test-vconn send-short-hello unix"
at_fn_check_prepare_trace "vconn.at:21"
( $at_check_trace; test-vconn send-short-hello unix
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:21"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_296
#AT_START_297
at_fn_group_banner 297 'vconn.at:21' \
  "unix vconn - send invalid version hello" "        " 20
at_xfail=no
(
  $as_echo "297. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

      { set +x
$as_echo "$at_srcdir/vconn.at:21: test-vconn send-invalid-version-hello unix"
at_fn_check_prepare_trace "vconn.at:21"
( $at_check_trace; test-vconn send-invalid-version-hello unix
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:21"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_297
#AT_START_298
at_fn_group_banner 298 'vconn.at:22' \
  "tcp vconn - refuse connection" "                  " 21
at_xfail=no
(
  $as_echo "298. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

      { set +x
$as_echo "$at_srcdir/vconn.at:22: test-vconn refuse-connection tcp"
at_fn_check_prepare_trace "vconn.at:22"
( $at_check_trace; test-vconn refuse-connection tcp
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:22"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_298
#AT_START_299
at_fn_group_banner 299 'vconn.at:22' \
  "tcp vconn - accept then close" "                  " 21
at_xfail=no
(
  $as_echo "299. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

      { set +x
$as_echo "$at_srcdir/vconn.at:22: test-vconn accept-then-close tcp"
at_fn_check_prepare_trace "vconn.at:22"
( $at_check_trace; test-vconn accept-then-close tcp
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:22"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_299
#AT_START_300
at_fn_group_banner 300 'vconn.at:22' \
  "tcp vconn - read hello" "                         " 21
at_xfail=no
(
  $as_echo "300. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

      { set +x
$as_echo "$at_srcdir/vconn.at:22: test-vconn read-hello tcp"
at_fn_check_prepare_trace "vconn.at:22"
( $at_check_trace; test-vconn read-hello tcp
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:22"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_300
#AT_START_301
at_fn_group_banner 301 'vconn.at:22' \
  "tcp vconn - send plain hello" "                   " 21
at_xfail=no
(
  $as_echo "301. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

      { set +x
$as_echo "$at_srcdir/vconn.at:22: test-vconn send-plain-hello tcp"
at_fn_check_prepare_trace "vconn.at:22"
( $at_check_trace; test-vconn send-plain-hello tcp
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:22"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_301
#AT_START_302
at_fn_group_banner 302 'vconn.at:22' \
  "tcp vconn - send long hello" "                    " 21
at_xfail=no
(
  $as_echo "302. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

      { set +x
$as_echo "$at_srcdir/vconn.at:22: test-vconn send-long-hello tcp"
at_fn_check_prepare_trace "vconn.at:22"
( $at_check_trace; test-vconn send-long-hello tcp
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:22"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_302
#AT_START_303
at_fn_group_banner 303 'vconn.at:22' \
  "tcp vconn - send echo hello" "                    " 21
at_xfail=no
(
  $as_echo "303. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

      { set +x
$as_echo "$at_srcdir/vconn.at:22: test-vconn send-echo-hello tcp"
at_fn_check_prepare_trace "vconn.at:22"
( $at_check_trace; test-vconn send-echo-hello tcp
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:22"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_303
#AT_START_304
at_fn_group_banner 304 'vconn.at:22' \
  "tcp vconn - send short hello" "                   " 21
at_xfail=no
(
  $as_echo "304. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

      { set +x
$as_echo "$at_srcdir/vconn.at:22: test-vconn send-short-hello tcp"
at_fn_check_prepare_trace "vconn.at:22"
( $at_check_trace; test-vconn send-short-hello tcp
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:22"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_304
#AT_START_305
at_fn_group_banner 305 'vconn.at:22' \
  "tcp vconn - send invalid version hello" "         " 21
at_xfail=no
(
  $as_echo "305. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

      { set +x
$as_echo "$at_srcdir/vconn.at:22: test-vconn send-invalid-version-hello tcp"
at_fn_check_prepare_trace "vconn.at:22"
( $at_check_trace; test-vconn send-invalid-version-hello tcp
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:22"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_305
#AT_START_306
at_fn_group_banner 306 'vconn.at:23' \
  "ssl vconn - refuse connection" "                  " 22
at_xfail=no
(
  $as_echo "306. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

        $as_echo "vconn.at:23" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/vconn.at:23"
        { set +x
$as_echo "$at_srcdir/vconn.at:23: cp \$abs_top_builddir/tests/testpki*.pem ."
at_fn_check_prepare_dynamic "cp $abs_top_builddir/tests/testpki*.pem ." "vconn.at:23"
( $at_check_trace; cp $abs_top_builddir/tests/testpki*.pem .
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/vconn.at:23: test-vconn refuse-connection ssl"
at_fn_check_prepare_trace "vconn.at:23"
( $at_check_trace; test-vconn refuse-connection ssl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_306
#AT_START_307
at_fn_group_banner 307 'vconn.at:23' \
  "ssl vconn - accept then close" "                  " 22
at_xfail=no
(
  $as_echo "307. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

        $as_echo "vconn.at:23" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/vconn.at:23"
        { set +x
$as_echo "$at_srcdir/vconn.at:23: cp \$abs_top_builddir/tests/testpki*.pem ."
at_fn_check_prepare_dynamic "cp $abs_top_builddir/tests/testpki*.pem ." "vconn.at:23"
( $at_check_trace; cp $abs_top_builddir/tests/testpki*.pem .
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/vconn.at:23: test-vconn accept-then-close ssl"
at_fn_check_prepare_trace "vconn.at:23"
( $at_check_trace; test-vconn accept-then-close ssl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_307
#AT_START_308
at_fn_group_banner 308 'vconn.at:23' \
  "ssl vconn - read hello" "                         " 22
at_xfail=no
(
  $as_echo "308. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

        $as_echo "vconn.at:23" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/vconn.at:23"
        { set +x
$as_echo "$at_srcdir/vconn.at:23: cp \$abs_top_builddir/tests/testpki*.pem ."
at_fn_check_prepare_dynamic "cp $abs_top_builddir/tests/testpki*.pem ." "vconn.at:23"
( $at_check_trace; cp $abs_top_builddir/tests/testpki*.pem .
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/vconn.at:23: test-vconn read-hello ssl"
at_fn_check_prepare_trace "vconn.at:23"
( $at_check_trace; test-vconn read-hello ssl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_308
#AT_START_309
at_fn_group_banner 309 'vconn.at:23' \
  "ssl vconn - send plain hello" "                   " 22
at_xfail=no
(
  $as_echo "309. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

        $as_echo "vconn.at:23" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/vconn.at:23"
        { set +x
$as_echo "$at_srcdir/vconn.at:23: cp \$abs_top_builddir/tests/testpki*.pem ."
at_fn_check_prepare_dynamic "cp $abs_top_builddir/tests/testpki*.pem ." "vconn.at:23"
( $at_check_trace; cp $abs_top_builddir/tests/testpki*.pem .
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/vconn.at:23: test-vconn send-plain-hello ssl"
at_fn_check_prepare_trace "vconn.at:23"
( $at_check_trace; test-vconn send-plain-hello ssl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_309
#AT_START_310
at_fn_group_banner 310 'vconn.at:23' \
  "ssl vconn - send long hello" "                    " 22
at_xfail=no
(
  $as_echo "310. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

        $as_echo "vconn.at:23" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/vconn.at:23"
        { set +x
$as_echo "$at_srcdir/vconn.at:23: cp \$abs_top_builddir/tests/testpki*.pem ."
at_fn_check_prepare_dynamic "cp $abs_top_builddir/tests/testpki*.pem ." "vconn.at:23"
( $at_check_trace; cp $abs_top_builddir/tests/testpki*.pem .
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/vconn.at:23: test-vconn send-long-hello ssl"
at_fn_check_prepare_trace "vconn.at:23"
( $at_check_trace; test-vconn send-long-hello ssl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_310
#AT_START_311
at_fn_group_banner 311 'vconn.at:23' \
  "ssl vconn - send echo hello" "                    " 22
at_xfail=no
(
  $as_echo "311. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

        $as_echo "vconn.at:23" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/vconn.at:23"
        { set +x
$as_echo "$at_srcdir/vconn.at:23: cp \$abs_top_builddir/tests/testpki*.pem ."
at_fn_check_prepare_dynamic "cp $abs_top_builddir/tests/testpki*.pem ." "vconn.at:23"
( $at_check_trace; cp $abs_top_builddir/tests/testpki*.pem .
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/vconn.at:23: test-vconn send-echo-hello ssl"
at_fn_check_prepare_trace "vconn.at:23"
( $at_check_trace; test-vconn send-echo-hello ssl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_311
#AT_START_312
at_fn_group_banner 312 'vconn.at:23' \
  "ssl vconn - send short hello" "                   " 22
at_xfail=no
(
  $as_echo "312. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

        $as_echo "vconn.at:23" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/vconn.at:23"
        { set +x
$as_echo "$at_srcdir/vconn.at:23: cp \$abs_top_builddir/tests/testpki*.pem ."
at_fn_check_prepare_dynamic "cp $abs_top_builddir/tests/testpki*.pem ." "vconn.at:23"
( $at_check_trace; cp $abs_top_builddir/tests/testpki*.pem .
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/vconn.at:23: test-vconn send-short-hello ssl"
at_fn_check_prepare_trace "vconn.at:23"
( $at_check_trace; test-vconn send-short-hello ssl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_312
#AT_START_313
at_fn_group_banner 313 'vconn.at:23' \
  "ssl vconn - send invalid version hello" "         " 22
at_xfail=no
(
  $as_echo "313. $at_setup_line: testing $at_desc ..."
  $at_traceon

     OVS_RUNDIR=`pwd`; export OVS_RUNDIR

        $as_echo "vconn.at:23" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/vconn.at:23"
        { set +x
$as_echo "$at_srcdir/vconn.at:23: cp \$abs_top_builddir/tests/testpki*.pem ."
at_fn_check_prepare_dynamic "cp $abs_top_builddir/tests/testpki*.pem ." "vconn.at:23"
( $at_check_trace; cp $abs_top_builddir/tests/testpki*.pem .
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

      { set +x
$as_echo "$at_srcdir/vconn.at:23: test-vconn send-invalid-version-hello ssl"
at_fn_check_prepare_trace "vconn.at:23"
( $at_check_trace; test-vconn send-invalid-version-hello ssl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vconn.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

        set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_313
#AT_START_314
at_fn_group_banner 314 'file_name.at:12' \
  "components of \"/usr/lib\" are \"/usr\", \"lib\"" "     " 23
at_xfail=no
(
  $as_echo "314. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/file_name.at:12: test-file_name \"/usr/lib\""
at_fn_check_prepare_trace "file_name.at:12"
( $at_check_trace; test-file_name "/usr/lib"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "/usr
lib
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:12"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_314
#AT_START_315
at_fn_group_banner 315 'file_name.at:13' \
  "components of \"/usr/\" are \"/\", \"usr\"" "           " 23
at_xfail=no
(
  $as_echo "315. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/file_name.at:13: test-file_name \"/usr/\""
at_fn_check_prepare_trace "file_name.at:13"
( $at_check_trace; test-file_name "/usr/"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "/
usr
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:13"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_315
#AT_START_316
at_fn_group_banner 316 'file_name.at:14' \
  "components of \"usr\" are \".\", \"usr\"" "             " 23
at_xfail=no
(
  $as_echo "316. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/file_name.at:14: test-file_name \"usr\""
at_fn_check_prepare_trace "file_name.at:14"
( $at_check_trace; test-file_name "usr"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo ".
usr
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:14"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_316
#AT_START_317
at_fn_group_banner 317 'file_name.at:15' \
  "components of \"/\" are \"/\", \"/\"" "                 " 23
at_xfail=no
(
  $as_echo "317. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/file_name.at:15: test-file_name \"/\""
at_fn_check_prepare_trace "file_name.at:15"
( $at_check_trace; test-file_name "/"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "/
/
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:15"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_317
#AT_START_318
at_fn_group_banner 318 'file_name.at:16' \
  "components of \".\" are \".\", \".\"" "                 " 23
at_xfail=no
(
  $as_echo "318. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/file_name.at:16: test-file_name \".\""
at_fn_check_prepare_trace "file_name.at:16"
( $at_check_trace; test-file_name "."
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo ".
.
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:16"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_318
#AT_START_319
at_fn_group_banner 319 'file_name.at:17' \
  "components of \"..\" are \".\", \"..\"" "               " 23
at_xfail=no
(
  $as_echo "319. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/file_name.at:17: test-file_name \"..\""
at_fn_check_prepare_trace "file_name.at:17"
( $at_check_trace; test-file_name ".."
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo ".
..
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:17"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_319
#AT_START_320
at_fn_group_banner 320 'file_name.at:18' \
  "components of \"//\" are \"//\", \"//\"" "              " 23
at_xfail=no
(
  $as_echo "320. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/file_name.at:18: test-file_name \"//\""
at_fn_check_prepare_trace "file_name.at:18"
( $at_check_trace; test-file_name "//"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "//
//
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:18"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_320
#AT_START_321
at_fn_group_banner 321 'file_name.at:19' \
  "components of \"//foo\" are \"//\", \"foo\"" "          " 23
at_xfail=no
(
  $as_echo "321. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/file_name.at:19: test-file_name \"//foo\""
at_fn_check_prepare_trace "file_name.at:19"
( $at_check_trace; test-file_name "//foo"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "//
foo
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:19"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_321
#AT_START_322
at_fn_group_banner 322 'file_name.at:20' \
  "components of \"\" are \".\", \".\"" "                  " 23
at_xfail=no
(
  $as_echo "322. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/file_name.at:20: test-file_name \"\""
at_fn_check_prepare_trace "file_name.at:20"
( $at_check_trace; test-file_name ""
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo ".
.
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_322
#AT_START_323
at_fn_group_banner 323 'file_name.at:23' \
  "components of \"dir/file\" are \"dir\", \"file\"" "     " 23
at_xfail=no
(
  $as_echo "323. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/file_name.at:23: test-file_name \"dir/file\""
at_fn_check_prepare_trace "file_name.at:23"
( $at_check_trace; test-file_name "dir/file"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "dir
file
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_323
#AT_START_324
at_fn_group_banner 324 'file_name.at:24' \
  "components of \"dir/file/\" are \"dir\", \"file\"" "    " 23
at_xfail=no
(
  $as_echo "324. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/file_name.at:24: test-file_name \"dir/file/\""
at_fn_check_prepare_trace "file_name.at:24"
( $at_check_trace; test-file_name "dir/file/"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "dir
file
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:24"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_324
#AT_START_325
at_fn_group_banner 325 'file_name.at:25' \
  "components of \"dir/file//\" are \"dir\", \"file\"" "   " 23
at_xfail=no
(
  $as_echo "325. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/file_name.at:25: test-file_name \"dir/file//\""
at_fn_check_prepare_trace "file_name.at:25"
( $at_check_trace; test-file_name "dir/file//"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "dir
file
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:25"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_325
#AT_START_326
at_fn_group_banner 326 'file_name.at:26' \
  "components of \"///foo\" are \"/\", \"foo\"" "          " 23
at_xfail=no
(
  $as_echo "326. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/file_name.at:26: test-file_name \"///foo\""
at_fn_check_prepare_trace "file_name.at:26"
( $at_check_trace; test-file_name "///foo"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "/
foo
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:26"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_326
#AT_START_327
at_fn_group_banner 327 'file_name.at:36' \
  "follow_symlinks - relative symlinks" "            " 24
at_xfail=no
(
  $as_echo "327. $at_setup_line: testing $at_desc ..."
  $at_traceon

: > target
ln -s target source
$as_echo "file_name.at:39" >"$at_check_line_file"
(test ! -h source) \
  && at_fn_check_skip 77 "$at_srcdir/file_name.at:39"
echo "check source -> target"
   { set +x
$as_echo "$at_srcdir/file_name.at:40: test-util follow-symlinks \"source\""
at_fn_check_prepare_trace "file_name.at:40"
( $at_check_trace; test-util follow-symlinks "source"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "target
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:40"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo

mkdir dir
ln -s target2 dir/source2
echo "check dir/source2 -> dir/target2"
   { set +x
$as_echo "$at_srcdir/file_name.at:44: test-util follow-symlinks \"dir/source2\""
at_fn_check_prepare_trace "file_name.at:44"
( $at_check_trace; test-util follow-symlinks "dir/source2"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "dir/target2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:44"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo

mkdir dir/dir2
ln -s dir/b a
ln -s c dir/b
ln -s dir2/d dir/c
echo "check a -> dir/dir2/d"
   { set +x
$as_echo "$at_srcdir/file_name.at:50: test-util follow-symlinks \"a\""
at_fn_check_prepare_trace "file_name.at:50"
( $at_check_trace; test-util follow-symlinks "a"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "dir/dir2/d
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:50"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_327
#AT_START_328
at_fn_group_banner 328 'file_name.at:53' \
  "follow_symlinks - absolute symlinks" "            " 24
at_xfail=no
(
  $as_echo "328. $at_setup_line: testing $at_desc ..."
  $at_traceon

: > target
ln -s "`pwd`/target" source
$as_echo "file_name.at:56" >"$at_check_line_file"
(test ! -h source) \
  && at_fn_check_skip 77 "$at_srcdir/file_name.at:56"
echo "check source -> `pwd`/target"
   { set +x
$as_echo "$at_srcdir/file_name.at:57: test-util follow-symlinks \"source\""
at_fn_check_prepare_trace "file_name.at:57"
( $at_check_trace; test-util follow-symlinks "source"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "`pwd`/target
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:57"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo

mkdir dir
ln -s "`pwd`/dir/target2" dir/source2
echo "check dir/source2 -> `pwd`/dir/target2"
   { set +x
$as_echo "$at_srcdir/file_name.at:61: test-util follow-symlinks \"dir/source2\""
at_fn_check_prepare_trace "file_name.at:61"
( $at_check_trace; test-util follow-symlinks "dir/source2"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "`pwd`/dir/target2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:61"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo

mkdir dir/dir2
ln -s "`pwd`/dir/b" a
ln -s "`pwd`/dir/c" dir/b
ln -s "`pwd`/dir/dir2/d" dir/c
echo "check a -> `pwd`/dir/dir2/d"
   { set +x
$as_echo "$at_srcdir/file_name.at:67: test-util follow-symlinks \"a\""
at_fn_check_prepare_trace "file_name.at:67"
( $at_check_trace; test-util follow-symlinks "a"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "`pwd`/dir/dir2/d
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:67"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_328
#AT_START_329
at_fn_group_banner 329 'file_name.at:70' \
  "follow_symlinks - symlinks to directories" "      " 24
at_xfail=no
(
  $as_echo "329. $at_setup_line: testing $at_desc ..."
  $at_traceon

mkdir target
ln -s target source
$as_echo "file_name.at:73" >"$at_check_line_file"
(test ! -h source) \
  && at_fn_check_skip 77 "$at_srcdir/file_name.at:73"
ln -s target/ source2
echo "check source -> target"
   { set +x
$as_echo "$at_srcdir/file_name.at:75: test-util follow-symlinks \"source\""
at_fn_check_prepare_trace "file_name.at:75"
( $at_check_trace; test-util follow-symlinks "source"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "target
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:75"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo
echo "check source2 -> target/"
   { set +x
$as_echo "$at_srcdir/file_name.at:76: test-util follow-symlinks \"source2\""
at_fn_check_prepare_trace "file_name.at:76"
( $at_check_trace; test-util follow-symlinks "source2"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "target/
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:76"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo

# follow_symlinks() doesn't expand symlinks in the middle of a name.
: > source/x
echo "check source/x -> source/x"
   { set +x
$as_echo "$at_srcdir/file_name.at:80: test-util follow-symlinks \"source/x\""
at_fn_check_prepare_trace "file_name.at:80"
( $at_check_trace; test-util follow-symlinks "source/x"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "source/x
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:80"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_329
#AT_START_330
at_fn_group_banner 330 'file_name.at:83' \
  "follow_symlinks - nonexistent targets" "          " 24
at_xfail=no
(
  $as_echo "330. $at_setup_line: testing $at_desc ..."
  $at_traceon

ln -s target source
$as_echo "file_name.at:85" >"$at_check_line_file"
(test ! -h source) \
  && at_fn_check_skip 77 "$at_srcdir/file_name.at:85"
echo "check source -> target"
   { set +x
$as_echo "$at_srcdir/file_name.at:86: test-util follow-symlinks \"source\""
at_fn_check_prepare_trace "file_name.at:86"
( $at_check_trace; test-util follow-symlinks "source"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "target
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:86"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo
echo "check target -> target"
   { set +x
$as_echo "$at_srcdir/file_name.at:87: test-util follow-symlinks \"target\""
at_fn_check_prepare_trace "file_name.at:87"
( $at_check_trace; test-util follow-symlinks "target"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "target
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo
echo "check target -> target"
   { set +x
$as_echo "$at_srcdir/file_name.at:88: test-util follow-symlinks \"target\""
at_fn_check_prepare_trace "file_name.at:88"
( $at_check_trace; test-util follow-symlinks "target"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "target
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:88"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_330
#AT_START_331
at_fn_group_banner 331 'file_name.at:91' \
  "follow_symlinks - regular files" "                " 24
at_xfail=no
(
  $as_echo "331. $at_setup_line: testing $at_desc ..."
  $at_traceon

touch x
echo "check x -> x"
   { set +x
$as_echo "$at_srcdir/file_name.at:93: test-util follow-symlinks \"x\""
at_fn_check_prepare_trace "file_name.at:93"
( $at_check_trace; test-util follow-symlinks "x"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "x
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:93"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_331
#AT_START_332
at_fn_group_banner 332 'file_name.at:96' \
  "follow_symlinks - device targets" "               " 24
at_xfail=no
(
  $as_echo "332. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "file_name.at:97" >"$at_check_line_file"
(test ! -e /dev/null) \
  && at_fn_check_skip 77 "$at_srcdir/file_name.at:97"
$as_echo "file_name.at:98" >"$at_check_line_file"
(test ! -e /dev/full) \
  && at_fn_check_skip 77 "$at_srcdir/file_name.at:98"
ln -s /dev/null x
ln -s /dev/full y
echo "check x -> /dev/null"
   { set +x
$as_echo "$at_srcdir/file_name.at:101: test-util follow-symlinks \"x\""
at_fn_check_prepare_trace "file_name.at:101"
( $at_check_trace; test-util follow-symlinks "x"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "/dev/null
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:101"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo
echo "check y -> /dev/full"
   { set +x
$as_echo "$at_srcdir/file_name.at:102: test-util follow-symlinks \"y\""
at_fn_check_prepare_trace "file_name.at:102"
( $at_check_trace; test-util follow-symlinks "y"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "/dev/full
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:102"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_332
#AT_START_333
at_fn_group_banner 333 'file_name.at:105' \
  "follow_symlinks - nonexistent files" "            " 24
at_xfail=no
(
  $as_echo "333. $at_setup_line: testing $at_desc ..."
  $at_traceon

echo "check nonexistent -> nonexistent"
   { set +x
$as_echo "$at_srcdir/file_name.at:106: test-util follow-symlinks \"nonexistent\""
at_fn_check_prepare_trace "file_name.at:106"
( $at_check_trace; test-util follow-symlinks "nonexistent"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "nonexistent
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:106"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo
echo "check a/b/c -> a/b/c"
   { set +x
$as_echo "$at_srcdir/file_name.at:107: test-util follow-symlinks \"a/b/c\""
at_fn_check_prepare_trace "file_name.at:107"
( $at_check_trace; test-util follow-symlinks "a/b/c"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a/b/c
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:107"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo
echo "check /a/b/c -> /a/b/c"
   { set +x
$as_echo "$at_srcdir/file_name.at:108: test-util follow-symlinks \"/a/b/c\""
at_fn_check_prepare_trace "file_name.at:108"
( $at_check_trace; test-util follow-symlinks "/a/b/c"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "/a/b/c
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:108"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo
echo "check //a/b/c -> //a/b/c"
   { set +x
$as_echo "$at_srcdir/file_name.at:109: test-util follow-symlinks \"//a/b/c\""
at_fn_check_prepare_trace "file_name.at:109"
( $at_check_trace; test-util follow-symlinks "//a/b/c"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "//a/b/c
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:109"
$at_failed && at_fn_log_failure
$at_traceon; }

   echo
  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_333
#AT_START_334
at_fn_group_banner 334 'file_name.at:112' \
  "follow_symlinks - symlink loop" "                 " 24
at_xfail=no
(
  $as_echo "334. $at_setup_line: testing $at_desc ..."
  $at_traceon

ln -s a b
$as_echo "file_name.at:114" >"$at_check_line_file"
(test ! -h b) \
  && at_fn_check_skip 77 "$at_srcdir/file_name.at:114"
ln -s b a
$as_echo "file_name.at:116" >"$at_check_line_file"
(test ! -h a) \
  && at_fn_check_skip 77 "$at_srcdir/file_name.at:116"

{ set +x
$as_echo "$at_srcdir/file_name.at:118: test-util follow-symlinks a"
at_fn_check_prepare_trace "file_name.at:118"
( $at_check_trace; test-util follow-symlinks a
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:118"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/file_name.at:120: sed 's/^[^|]*|//' stderr"
at_fn_check_prepare_notrace 'a shell pipeline' "file_name.at:120"
( $at_check_trace; sed 's/^[^|]*|//' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "00001|util|WARN|a: too many levels of symlinks
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/file_name.at:120"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_334
#AT_START_335
at_fn_group_banner 335 'aes128.at:10' \
  "wikipedia test vector 1" "                        " 25
at_xfail=no
(
  $as_echo "335. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:10: test-aes128 00010203050607080a0b0c0d0f101112 506812a45f08c889b97f5980038b8359"
at_fn_check_prepare_trace "aes128.at:10"
( $at_check_trace; test-aes128 00010203050607080a0b0c0d0f101112 506812a45f08c889b97f5980038b8359
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "d8f532538289ef7d06b506a4fd5be9c9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:10"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_335
#AT_START_336
at_fn_group_banner 336 'aes128.at:16' \
  "wikipedia test vector 2" "                        " 25
at_xfail=no
(
  $as_echo "336. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:16: test-aes128 95A8EE8E89979B9EFDCBC6EB9797528D 4ec137a426dabf8aa0beb8bc0c2b89d6"
at_fn_check_prepare_trace "aes128.at:16"
( $at_check_trace; test-aes128 95A8EE8E89979B9EFDCBC6EB9797528D 4ec137a426dabf8aa0beb8bc0c2b89d6
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "d9b65d1232ba0199cdbd487b2a1fd646
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:16"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_336
#AT_START_337
at_fn_group_banner 337 'aes128.at:22' \
  "NIST KAT ECBKeySbox128e vector 0" "               " 25
at_xfail=no
(
  $as_echo "337. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:22: test-aes128 10a58869d74be5a374cf867cfb473859 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:22"
( $at_check_trace; test-aes128 10a58869d74be5a374cf867cfb473859 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "6d251e6944b051e04eaa6fb4dbf78465
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:22"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_337
#AT_START_338
at_fn_group_banner 338 'aes128.at:28' \
  "NIST KAT ECBKeySbox128e vector 1" "               " 25
at_xfail=no
(
  $as_echo "338. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:28: test-aes128 caea65cdbb75e9169ecd22ebe6e54675 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:28"
( $at_check_trace; test-aes128 caea65cdbb75e9169ecd22ebe6e54675 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "6e29201190152df4ee058139def610bb
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:28"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_338
#AT_START_339
at_fn_group_banner 339 'aes128.at:34' \
  "NIST KAT ECBKeySbox128e vector 2" "               " 25
at_xfail=no
(
  $as_echo "339. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:34: test-aes128 a2e2fa9baf7d20822ca9f0542f764a41 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:34"
( $at_check_trace; test-aes128 a2e2fa9baf7d20822ca9f0542f764a41 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "c3b44b95d9d2f25670eee9a0de099fa3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:34"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_339
#AT_START_340
at_fn_group_banner 340 'aes128.at:40' \
  "NIST KAT ECBKeySbox128e vector 3" "               " 25
at_xfail=no
(
  $as_echo "340. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:40: test-aes128 b6364ac4e1de1e285eaf144a2415f7a0 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:40"
( $at_check_trace; test-aes128 b6364ac4e1de1e285eaf144a2415f7a0 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "5d9b05578fc944b3cf1ccf0e746cd581
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:40"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_340
#AT_START_341
at_fn_group_banner 341 'aes128.at:46' \
  "NIST KAT ECBKeySbox128e vector 4" "               " 25
at_xfail=no
(
  $as_echo "341. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:46: test-aes128 64cf9c7abc50b888af65f49d521944b2 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:46"
( $at_check_trace; test-aes128 64cf9c7abc50b888af65f49d521944b2 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "f7efc89d5dba578104016ce5ad659c05
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:46"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_341
#AT_START_342
at_fn_group_banner 342 'aes128.at:52' \
  "NIST KAT ECBKeySbox128e vector 5" "               " 25
at_xfail=no
(
  $as_echo "342. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:52: test-aes128 47d6742eefcc0465dc96355e851b64d9 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:52"
( $at_check_trace; test-aes128 47d6742eefcc0465dc96355e851b64d9 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0306194f666d183624aa230a8b264ae7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:52"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_342
#AT_START_343
at_fn_group_banner 343 'aes128.at:58' \
  "NIST KAT ECBKeySbox128e vector 6" "               " 25
at_xfail=no
(
  $as_echo "343. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:58: test-aes128 3eb39790678c56bee34bbcdeccf6cdb5 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:58"
( $at_check_trace; test-aes128 3eb39790678c56bee34bbcdeccf6cdb5 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "858075d536d79ccee571f7d7204b1f67
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:58"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_343
#AT_START_344
at_fn_group_banner 344 'aes128.at:64' \
  "NIST KAT ECBKeySbox128e vector 7" "               " 25
at_xfail=no
(
  $as_echo "344. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:64: test-aes128 64110a924f0743d500ccadae72c13427 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:64"
( $at_check_trace; test-aes128 64110a924f0743d500ccadae72c13427 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "35870c6a57e9e92314bcb8087cde72ce
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:64"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_344
#AT_START_345
at_fn_group_banner 345 'aes128.at:70' \
  "NIST KAT ECBKeySbox128e vector 8" "               " 25
at_xfail=no
(
  $as_echo "345. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:70: test-aes128 18d8126516f8a12ab1a36d9f04d68e51 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:70"
( $at_check_trace; test-aes128 18d8126516f8a12ab1a36d9f04d68e51 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "6c68e9be5ec41e22c825b7c7affb4363
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:70"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_345
#AT_START_346
at_fn_group_banner 346 'aes128.at:76' \
  "NIST KAT ECBKeySbox128e vector 9" "               " 25
at_xfail=no
(
  $as_echo "346. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:76: test-aes128 f530357968578480b398a3c251cd1093 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:76"
( $at_check_trace; test-aes128 f530357968578480b398a3c251cd1093 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "f5df39990fc688f1b07224cc03e86cea
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:76"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_346
#AT_START_347
at_fn_group_banner 347 'aes128.at:82' \
  "NIST KAT ECBKeySbox128e vector 10" "              " 25
at_xfail=no
(
  $as_echo "347. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:82: test-aes128 da84367f325d42d601b4326964802e8e 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:82"
( $at_check_trace; test-aes128 da84367f325d42d601b4326964802e8e 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "bba071bcb470f8f6586e5d3add18bc66
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:82"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_347
#AT_START_348
at_fn_group_banner 348 'aes128.at:88' \
  "NIST KAT ECBKeySbox128e vector 11" "              " 25
at_xfail=no
(
  $as_echo "348. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:88: test-aes128 e37b1c6aa2846f6fdb413f238b089f23 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:88"
( $at_check_trace; test-aes128 e37b1c6aa2846f6fdb413f238b089f23 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "43c9f7e62f5d288bb27aa40ef8fe1ea8
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:88"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_348
#AT_START_349
at_fn_group_banner 349 'aes128.at:94' \
  "NIST KAT ECBKeySbox128e vector 12" "              " 25
at_xfail=no
(
  $as_echo "349. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:94: test-aes128 6c002b682483e0cabcc731c253be5674 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:94"
( $at_check_trace; test-aes128 6c002b682483e0cabcc731c253be5674 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "3580d19cff44f1014a7c966a69059de5
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:94"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_349
#AT_START_350
at_fn_group_banner 350 'aes128.at:100' \
  "NIST KAT ECBKeySbox128e vector 13" "              " 25
at_xfail=no
(
  $as_echo "350. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:100: test-aes128 143ae8ed6555aba96110ab58893a8ae1 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:100"
( $at_check_trace; test-aes128 143ae8ed6555aba96110ab58893a8ae1 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "806da864dd29d48deafbe764f8202aef
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:100"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_350
#AT_START_351
at_fn_group_banner 351 'aes128.at:106' \
  "NIST KAT ECBKeySbox128e vector 14" "              " 25
at_xfail=no
(
  $as_echo "351. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:106: test-aes128 b69418a85332240dc82492353956ae0c 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:106"
( $at_check_trace; test-aes128 b69418a85332240dc82492353956ae0c 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a303d940ded8f0baff6f75414cac5243
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:106"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_351
#AT_START_352
at_fn_group_banner 352 'aes128.at:112' \
  "NIST KAT ECBKeySbox128e vector 15" "              " 25
at_xfail=no
(
  $as_echo "352. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:112: test-aes128 71b5c08a1993e1362e4d0ce9b22b78d5 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:112"
( $at_check_trace; test-aes128 71b5c08a1993e1362e4d0ce9b22b78d5 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "c2dabd117f8a3ecabfbb11d12194d9d0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_352
#AT_START_353
at_fn_group_banner 353 'aes128.at:118' \
  "NIST KAT ECBKeySbox128e vector 16" "              " 25
at_xfail=no
(
  $as_echo "353. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:118: test-aes128 e234cdca2606b81f29408d5f6da21206 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:118"
( $at_check_trace; test-aes128 e234cdca2606b81f29408d5f6da21206 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "fff60a4740086b3b9c56195b98d91a7b
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:118"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_353
#AT_START_354
at_fn_group_banner 354 'aes128.at:124' \
  "NIST KAT ECBKeySbox128e vector 17" "              " 25
at_xfail=no
(
  $as_echo "354. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:124: test-aes128 13237c49074a3da078dc1d828bb78c6f 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:124"
( $at_check_trace; test-aes128 13237c49074a3da078dc1d828bb78c6f 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "8146a08e2357f0caa30ca8c94d1a0544
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:124"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_354
#AT_START_355
at_fn_group_banner 355 'aes128.at:130' \
  "NIST KAT ECBKeySbox128e vector 18" "              " 25
at_xfail=no
(
  $as_echo "355. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:130: test-aes128 3071a2a48fe6cbd04f1a129098e308f8 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:130"
( $at_check_trace; test-aes128 3071a2a48fe6cbd04f1a129098e308f8 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "4b98e06d356deb07ebb824e5713f7be3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:130"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_355
#AT_START_356
at_fn_group_banner 356 'aes128.at:136' \
  "NIST KAT ECBKeySbox128e vector 19" "              " 25
at_xfail=no
(
  $as_echo "356. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:136: test-aes128 90f42ec0f68385f2ffc5dfc03a654dce 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:136"
( $at_check_trace; test-aes128 90f42ec0f68385f2ffc5dfc03a654dce 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "7a20a53d460fc9ce0423a7a0764c6cf2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:136"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_356
#AT_START_357
at_fn_group_banner 357 'aes128.at:142' \
  "NIST KAT ECBKeySbox128e vector 20" "              " 25
at_xfail=no
(
  $as_echo "357. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/aes128.at:142: test-aes128 febd9a24d8b65c1c787d50a4ed3619a9 00000000000000000000000000000000"
at_fn_check_prepare_trace "aes128.at:142"
( $at_check_trace; test-aes128 febd9a24d8b65c1c787d50a4ed3619a9 00000000000000000000000000000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "f4a70d8af877f9b02b4c40df57d45b17
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/aes128.at:142"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_357
#AT_START_358
at_fn_group_banner 358 'unixctl-py.at:6' \
  "unixctl ovs-vswitchd exit - Python" "             " 26
at_xfail=no
(
  $as_echo "358. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "unixctl-py.at:7" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/unixctl-py.at:7"
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/unixctl-py.at:8: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "unixctl-py.at:8"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:8"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/unixctl-py.at:8: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "unixctl-py.at:8"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:8"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/unixctl-py.at:8: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "unixctl-py.at:8"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:8"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/unixctl-py.at:8: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "unixctl-py.at:8"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:8"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/unixctl-py.at:8: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "unixctl-py.at:8"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:8"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/unixctl-py.at:8: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "unixctl-py.at:8"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:8"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/unixctl-py.at:8: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "unixctl-py.at:8"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:8"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/unixctl-py.at:10: \$PYTHON \$srcdir/appctl.py --timeout 20 -t ovs-vswitchd exit"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 -t ovs-vswitchd exit" "unixctl-py.at:10"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:10"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:11: ovs_wait_cond () { if test -s ovs-vswitchd.pid; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "unixctl-py.at:11"
( $at_check_trace; ovs_wait_cond () { if test -s ovs-vswitchd.pid; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:11"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:13: \$PYTHON \$srcdir/appctl.py --timeout 20 -t ovsdb-server exit"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 -t ovsdb-server exit" "unixctl-py.at:13"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:13"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:14: ovs_wait_cond () { if test -s ovsdb-server.pid; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "unixctl-py.at:14"
( $at_check_trace; ovs_wait_cond () { if test -s ovsdb-server.pid; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:14"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_358
#AT_START_359
at_fn_group_banner 359 'unixctl-py.at:17' \
  "unixctl ovs-vswitchd help - Python" "             " 26
at_xfail=no
(
  $as_echo "359. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "unixctl-py.at:18" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/unixctl-py.at:18"
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/unixctl-py.at:19: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "unixctl-py.at:19"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:19"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/unixctl-py.at:19: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "unixctl-py.at:19"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:19"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/unixctl-py.at:19: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "unixctl-py.at:19"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:19"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/unixctl-py.at:19: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "unixctl-py.at:19"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:19"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/unixctl-py.at:19: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "unixctl-py.at:19"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:19"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/unixctl-py.at:19: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "unixctl-py.at:19"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:19"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/unixctl-py.at:19: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "unixctl-py.at:19"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:19"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/unixctl-py.at:21: ovs-appctl --timeout 20 help"
at_fn_check_prepare_trace "unixctl-py.at:21"
( $at_check_trace; ovs-appctl --timeout 20 help
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:21"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:22: head -1 stdout"
at_fn_check_prepare_trace "unixctl-py.at:22"
( $at_check_trace; head -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "The available commands are:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:22"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

mv stdout expout
{ set +x
$as_echo "$at_srcdir/unixctl-py.at:26: \$PYTHON \$srcdir/appctl.py --timeout 20 help"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 help" "unixctl-py.at:26"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 help
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:26"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:28: check_logs "
at_fn_check_prepare_trace "unixctl-py.at:28"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:28"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/unixctl-py.at:28: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "unixctl-py.at:28"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:28"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/unixctl-py.at:28: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "unixctl-py.at:28"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:28"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_359
#AT_START_360
at_fn_group_banner 360 'unixctl-py.at:32' \
  "unixctl ovs-vswitchd arguments - Python" "        " 26
at_xfail=no
(
  $as_echo "360. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "unixctl-py.at:33" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/unixctl-py.at:33"
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/unixctl-py.at:34: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "unixctl-py.at:34"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:34"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/unixctl-py.at:34: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "unixctl-py.at:34"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:34"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/unixctl-py.at:34: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "unixctl-py.at:34"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:34"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/unixctl-py.at:34: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "unixctl-py.at:34"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/unixctl-py.at:34: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "unixctl-py.at:34"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/unixctl-py.at:34: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "unixctl-py.at:34"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/unixctl-py.at:34: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "unixctl-py.at:34"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/unixctl-py.at:36: ovs-appctl --timeout 20 bond/hash"
at_fn_check_prepare_trace "unixctl-py.at:36"
( $at_check_trace; ovs-appctl --timeout 20 bond/hash
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:36"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:37: head -1 stderr"
at_fn_check_prepare_trace "unixctl-py.at:37"
( $at_check_trace; head -1 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"bond/hash\" command requires at least 1 arguments
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:37"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

sed 's/ovs-appctl/appctl.py/' stderr > experr
{ set +x
$as_echo "$at_srcdir/unixctl-py.at:41: \$PYTHON \$srcdir/appctl.py --timeout 20 bond/hash"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 bond/hash" "unixctl-py.at:41"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 bond/hash
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
$at_diff experr "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:41"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:43: ovs-appctl --timeout 20 bond/hash mac"
at_fn_check_prepare_trace "unixctl-py.at:43"
( $at_check_trace; ovs-appctl --timeout 20 bond/hash mac
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:43"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:44: head -1 stderr"
at_fn_check_prepare_trace "unixctl-py.at:44"
( $at_check_trace; head -1 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "invalid mac
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:44"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

sed 's/ovs-appctl/appctl.py/' stderr > experr
{ set +x
$as_echo "$at_srcdir/unixctl-py.at:48: \$PYTHON \$srcdir/appctl.py --timeout 20 bond/hash mac"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 bond/hash mac" "unixctl-py.at:48"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 bond/hash mac
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
$at_diff experr "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:48"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:50: ovs-appctl --timeout 20 bond/hash mac vlan"
at_fn_check_prepare_trace "unixctl-py.at:50"
( $at_check_trace; ovs-appctl --timeout 20 bond/hash mac vlan
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:50"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:51: head -1 stderr"
at_fn_check_prepare_trace "unixctl-py.at:51"
( $at_check_trace; head -1 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "invalid vlan
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:51"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

sed 's/ovs-appctl/appctl.py/' stderr > experr
{ set +x
$as_echo "$at_srcdir/unixctl-py.at:55: \$PYTHON \$srcdir/appctl.py --timeout 20 bond/hash mac vlan"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 bond/hash mac vlan" "unixctl-py.at:55"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 bond/hash mac vlan
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
$at_diff experr "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:55"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:57: ovs-appctl --timeout 20 bond/hash mac vlan basis"
at_fn_check_prepare_trace "unixctl-py.at:57"
( $at_check_trace; ovs-appctl --timeout 20 bond/hash mac vlan basis
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:57"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:58: head -1 stderr"
at_fn_check_prepare_trace "unixctl-py.at:58"
( $at_check_trace; head -1 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "invalid vlan
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:58"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

sed 's/ovs-appctl/appctl.py/' stderr > experr
{ set +x
$as_echo "$at_srcdir/unixctl-py.at:62: \$PYTHON \$srcdir/appctl.py --timeout 20 bond/hash vlan basis"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 bond/hash vlan basis" "unixctl-py.at:62"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 bond/hash vlan basis
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
$at_diff experr "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:62"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:64: ovs-appctl --timeout 20 bond/hash mac vlan basis extra"
at_fn_check_prepare_trace "unixctl-py.at:64"
( $at_check_trace; ovs-appctl --timeout 20 bond/hash mac vlan basis extra
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:64"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:65: head -1 stderr"
at_fn_check_prepare_trace "unixctl-py.at:65"
( $at_check_trace; head -1 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"bond/hash\" command takes at most 3 arguments
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:65"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

sed 's/ovs-appctl/appctl.py/' stderr > experr
{ set +x
$as_echo "$at_srcdir/unixctl-py.at:69: \$PYTHON \$srcdir/appctl.py --timeout 20 bond/hash mac vlan basis extra"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 bond/hash mac vlan basis extra" "unixctl-py.at:69"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 bond/hash mac vlan basis extra
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
$at_diff experr "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:69"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:71: check_logs "
at_fn_check_prepare_trace "unixctl-py.at:71"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:71"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/unixctl-py.at:71: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "unixctl-py.at:71"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:71"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/unixctl-py.at:71: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "unixctl-py.at:71"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:71"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_360
#AT_START_361
at_fn_group_banner 361 'unixctl-py.at:74' \
  "unixctl bad target - Python" "                    " 26
at_xfail=no
(
  $as_echo "361. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
OVS_DBDIR=`pwd`; export OVS_DBDIR
$as_echo "unixctl-py.at:77" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/unixctl-py.at:77"

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:79: \$PYTHON \$srcdir/appctl.py --timeout 20 -t bogus doit"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 -t bogus doit" "unixctl-py.at:79"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 -t bogus doit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/unixctl-py.at:79"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:80: tail -1 stderr"
at_fn_check_prepare_trace "unixctl-py.at:80"
( $at_check_trace; tail -1 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "appctl.py: cannot read pidfile \"`pwd`/bogus.pid\" (No such file or directory)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:80"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:84: \$PYTHON \$srcdir/appctl.py --timeout 20 -t /bogus/path.pid doit"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 -t /bogus/path.pid doit" "unixctl-py.at:84"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 -t /bogus/path.pid doit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/unixctl-py.at:84"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:85: tail -1 stderr"
at_fn_check_prepare_trace "unixctl-py.at:85"
( $at_check_trace; tail -1 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "appctl.py: cannot connect to \"/bogus/path.pid\" (No such file or directory)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:85"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_361
#AT_START_362
at_fn_group_banner 362 'unixctl-py.at:91' \
  "unixctl server - Python" "                        " 26
at_xfail=no
(
  $as_echo "362. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "unixctl-py.at:92" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/unixctl-py.at:92"
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
OVS_LOGDIR=`pwd`; export OVS_LOGDIR
OVS_DBDIR=`pwd`; export OVS_DBDIR
OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat test-unixctl.py.pid`
EOF


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:99: \$PYTHON \$srcdir/test-unixctl.py --log-file --pidfile --detach"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-unixctl.py --log-file --pidfile --detach" "unixctl-py.at:99"
( $at_check_trace; $PYTHON $srcdir/test-unixctl.py --log-file --pidfile --detach
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:99"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:101: ovs-appctl --timeout 20 -t test-unixctl.py help"
at_fn_check_prepare_trace "unixctl-py.at:101"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py help
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:101"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:102: cat stdout"
at_fn_check_prepare_trace "unixctl-py.at:102"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "The available commands are:
  block
  echo                    [arg ...]
  echo_error              [arg ...]
  exit
  help
  log                     [arg ...]
  version
  vlog/list
  vlog/reopen
  vlog/set                spec
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:102"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }

mv stdout expout
{ set +x
$as_echo "$at_srcdir/unixctl-py.at:116: \$PYTHON \$srcdir/appctl.py --timeout 20 -t test-unixctl.py help"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 -t test-unixctl.py help" "unixctl-py.at:116"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 -t test-unixctl.py help
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:116"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:118: ovs-vsctl --version | sed 's/ovs-vsctl/test-unixctl.py/' | head -1 > expout"
at_fn_check_prepare_notrace 'a shell pipeline' "unixctl-py.at:118"
( $at_check_trace; ovs-vsctl --version | sed 's/ovs-vsctl/test-unixctl.py/' | head -1 > expout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:118"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:119: ovs-appctl --timeout 20 -t test-unixctl.py version"
at_fn_check_prepare_trace "unixctl-py.at:119"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py version
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:119"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:120: \$PYTHON \$srcdir/appctl.py --timeout 20 -t test-unixctl.py version"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 -t test-unixctl.py version" "unixctl-py.at:120"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 -t test-unixctl.py version
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:120"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:122: ovs-appctl --timeout 20 -t test-unixctl.py echo robot ninja"
at_fn_check_prepare_trace "unixctl-py.at:122"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py echo robot ninja
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:122"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:123: cat stdout"
at_fn_check_prepare_trace "unixctl-py.at:123"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[u'robot', u'ninja']
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:123"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }

mv stdout expout
{ set +x
$as_echo "$at_srcdir/unixctl-py.at:127: \$PYTHON \$srcdir/appctl.py --timeout 20 -t test-unixctl.py echo robot ninja"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 -t test-unixctl.py echo robot ninja" "unixctl-py.at:127"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 -t test-unixctl.py echo robot ninja
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:127"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:129: ovs-appctl --timeout 20 -t test-unixctl.py echo_error robot ninja"
at_fn_check_prepare_trace "unixctl-py.at:129"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py echo_error robot ninja
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:129"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:130: cat stderr"
at_fn_check_prepare_trace "unixctl-py.at:130"
( $at_check_trace; cat stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[u'robot', u'ninja']
ovs-appctl: test-unixctl.py: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:130"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }

sed 's/ovs-appctl/appctl.py/' stderr > experr
{ set +x
$as_echo "$at_srcdir/unixctl-py.at:135: \$PYTHON \$srcdir/appctl.py --timeout 20 -t test-unixctl.py echo_error robot ninja"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 -t test-unixctl.py echo_error robot ninja" "unixctl-py.at:135"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 -t test-unixctl.py echo_error robot ninja
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
$at_diff experr "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:135"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:137: ovs-appctl --timeout 20 -t test-unixctl.py echo"
at_fn_check_prepare_trace "unixctl-py.at:137"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py echo
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:137"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:138: cat stderr"
at_fn_check_prepare_trace "unixctl-py.at:138"
( $at_check_trace; cat stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"echo\" command requires at least 1 arguments
ovs-appctl: test-unixctl.py: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:138"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }

sed 's/ovs-appctl/appctl.py/' stderr > experr
{ set +x
$as_echo "$at_srcdir/unixctl-py.at:143: \$PYTHON \$srcdir/appctl.py --timeout 20 -t test-unixctl.py echo"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 -t test-unixctl.py echo" "unixctl-py.at:143"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 -t test-unixctl.py echo
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
$at_diff experr "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:143"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:145: ovs-appctl --timeout 20 -t test-unixctl.py echo robot ninja pirates"
at_fn_check_prepare_trace "unixctl-py.at:145"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py echo robot ninja pirates
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:145"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:146: cat stderr"
at_fn_check_prepare_trace "unixctl-py.at:146"
( $at_check_trace; cat stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"echo\" command takes at most 2 arguments
ovs-appctl: test-unixctl.py: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:146"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }

sed 's/ovs-appctl/appctl.py/' stderr > experr
{ set +x
$as_echo "$at_srcdir/unixctl-py.at:151: \$PYTHON \$srcdir/appctl.py --timeout 20 -t test-unixctl.py echo robot ninja pirates"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 -t test-unixctl.py echo robot ninja pirates" "unixctl-py.at:151"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 -t test-unixctl.py echo robot ninja pirates
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
$at_diff experr "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:151"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:153: ovs-appctl --timeout 20 -t test-unixctl.py bogus"
at_fn_check_prepare_trace "unixctl-py.at:153"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py bogus
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:153"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/unixctl-py.at:154: cat stderr"
at_fn_check_prepare_trace "unixctl-py.at:154"
( $at_check_trace; cat stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"bogus\" is not a valid command
ovs-appctl: test-unixctl.py: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:154"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }

sed 's/ovs-appctl/appctl.py/' stderr > experr
{ set +x
$as_echo "$at_srcdir/unixctl-py.at:159: \$PYTHON \$srcdir/appctl.py --timeout 20 -t test-unixctl.py bogus"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/appctl.py --timeout 20 -t test-unixctl.py bogus" "unixctl-py.at:159"
( $at_check_trace; $PYTHON $srcdir/appctl.py --timeout 20 -t test-unixctl.py bogus
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
$at_diff experr "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/unixctl-py.at:159"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/unixctl-py.at:161: ovs-appctl --timeout 20 -t test-unixctl.py exit"
at_fn_check_prepare_trace "unixctl-py.at:161"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/unixctl-py.at:161"
$at_failed && at_fn_log_failure  \
"`pwd`/test-unixctl.py.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_362
#AT_START_363
at_fn_group_banner 363 'unixctl-py.at:165' \
  "unixctl server errors - Python" "                 " 26
at_xfail=no
(
  $as_echo "363. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "unixctl-py.at:166" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/unixctl-py.at:166"
{ set +x
$as_echo "$at_srcdir/unixctl-py.at:167: \$PYTHON \$srcdir/test-unixctl.py --unixctl \"\`pwd\`\"/bogus/path"
at_fn_check_prepare_notrace 'a `...` command substitution' "unixctl-py.at:167"
( $at_check_trace; $PYTHON $srcdir/test-unixctl.py --unixctl "`pwd`"/bogus/path
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/unixctl-py.at:167"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_363
#AT_START_364
at_fn_group_banner 364 'uuid.at:15' \
  "UUID generation, parsing, serialization" "        " 27
at_xfail=no
(
  $as_echo "364. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/uuid.at:17:
  uuids=
  for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 ; do
     # Generate random UUID and check that it is in the expected format.
     uuid=\`test-uuid\`
     if expr \"\$uuid\" : '[0-9a-f]\\{8\\}-[0-9a-f]\\{4\\}-4[0-9a-f]\\{3\\}-[89ab][0-9a-f]\\{3\\}-[0-9a-f]\\{12\\}\$' > /dev/null
   then
      :
   else
     echo \"\$uuid: not a random UUID\"
     exit 1
   fi

     # Verify that \$uuid does not duplicate any UUID generated so far.
     case \$uuids in
       *\$uuid*)
         echo \"\$uuid: generated duplicate UUID\"
         exit 1
     esac
     uuids=\"\$uuids \$uuid\"

     # Verify that test-uuid parses and re-serializes this UUID correctly.
     serialized=\`test-uuid \$uuid\`
     if test \"\$uuid\" != \"\$serialized\"; then
       echo \"\$uuid: test-uuid serialized this as \$serialized\"
       exit 1
     fi
   done"
at_fn_check_prepare_notrace 'a `...` command substitution' "uuid.at:17"
( $at_check_trace;
  uuids=
  for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 ; do
     # Generate random UUID and check that it is in the expected format.
     uuid=`test-uuid`
     if expr "$uuid" : '[0-9a-f]\{8\}-[0-9a-f]\{4\}-4[0-9a-f]\{3\}-[89ab][0-9a-f]\{3\}-[0-9a-f]\{12\}$' > /dev/null
   then
      :
   else
     echo "$uuid: not a random UUID"
     exit 1
   fi

     # Verify that $uuid does not duplicate any UUID generated so far.
     case $uuids in
       *$uuid*)
         echo "$uuid: generated duplicate UUID"
         exit 1
     esac
     uuids="$uuids $uuid"

     # Verify that test-uuid parses and re-serializes this UUID correctly.
     serialized=`test-uuid $uuid`
     if test "$uuid" != "$serialized"; then
       echo "$uuid: test-uuid serialized this as $serialized"
       exit 1
     fi
   done
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/uuid.at:17"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_364
#AT_START_365
at_fn_group_banner 365 'json.at:65' \
  "empty array - C" "                                " 28
at_xfail=no
(
  $as_echo "365. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:65: printf %s \" [   ] \" > input"
at_fn_check_prepare_trace "json.at:65"
( $at_check_trace; printf %s " [   ] " > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:65"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:65: test-json  input"
at_fn_check_prepare_trace "json.at:65"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:65"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:65: cat stdout"
at_fn_check_prepare_trace "json.at:65"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:65"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_365
#AT_START_366
at_fn_group_banner 366 'json.at:65' \
  "empty array - Python" "                           " 28
at_xfail=no
(
  $as_echo "366. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:65" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:65"
   { set +x
$as_echo "$at_srcdir/json.at:65: printf %s \" [   ] \" > input"
at_fn_check_prepare_trace "json.at:65"
( $at_check_trace; printf %s " [   ] " > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:65"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:65: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:65"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:65"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:65: cat stdout"
at_fn_check_prepare_trace "json.at:65"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:65"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_366
#AT_START_367
at_fn_group_banner 367 'json.at:66' \
  "single-element array - C" "                       " 28
at_xfail=no
(
  $as_echo "367. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:66: printf %s \" [ 1 ] \" > input"
at_fn_check_prepare_trace "json.at:66"
( $at_check_trace; printf %s " [ 1 ] " > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:66"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:66: test-json  input"
at_fn_check_prepare_trace "json.at:66"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:66"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:66: cat stdout"
at_fn_check_prepare_trace "json.at:66"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[1]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:66"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_367
#AT_START_368
at_fn_group_banner 368 'json.at:66' \
  "single-element array - Python" "                  " 28
at_xfail=no
(
  $as_echo "368. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:66" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:66"
   { set +x
$as_echo "$at_srcdir/json.at:66: printf %s \" [ 1 ] \" > input"
at_fn_check_prepare_trace "json.at:66"
( $at_check_trace; printf %s " [ 1 ] " > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:66"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:66: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:66"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:66"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:66: cat stdout"
at_fn_check_prepare_trace "json.at:66"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[1]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:66"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_368
#AT_START_369
at_fn_group_banner 369 'json.at:67' \
  "2-element array - C" "                            " 28
at_xfail=no
(
  $as_echo "369. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:67: printf %s \" [ 1, 2 ] \" > input"
at_fn_check_prepare_trace "json.at:67"
( $at_check_trace; printf %s " [ 1, 2 ] " > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:67"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:67: test-json  input"
at_fn_check_prepare_trace "json.at:67"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:67"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:67: cat stdout"
at_fn_check_prepare_trace "json.at:67"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[1,2]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:67"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_369
#AT_START_370
at_fn_group_banner 370 'json.at:67' \
  "2-element array - Python" "                       " 28
at_xfail=no
(
  $as_echo "370. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:67" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:67"
   { set +x
$as_echo "$at_srcdir/json.at:67: printf %s \" [ 1, 2 ] \" > input"
at_fn_check_prepare_trace "json.at:67"
( $at_check_trace; printf %s " [ 1, 2 ] " > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:67"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:67: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:67"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:67"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:67: cat stdout"
at_fn_check_prepare_trace "json.at:67"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[1,2]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:67"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_370
#AT_START_371
at_fn_group_banner 371 'json.at:68' \
  "many-element array - C" "                         " 28
at_xfail=no
(
  $as_echo "371. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:68: printf %s \" [ 1, 2, 3, 4, 5 ] \" > input"
at_fn_check_prepare_trace "json.at:68"
( $at_check_trace; printf %s " [ 1, 2, 3, 4, 5 ] " > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:68"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:68: test-json  input"
at_fn_check_prepare_trace "json.at:68"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:68"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:68: cat stdout"
at_fn_check_prepare_trace "json.at:68"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[1,2,3,4,5]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:68"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_371
#AT_START_372
at_fn_group_banner 372 'json.at:68' \
  "many-element array - Python" "                    " 28
at_xfail=no
(
  $as_echo "372. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:68" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:68"
   { set +x
$as_echo "$at_srcdir/json.at:68: printf %s \" [ 1, 2, 3, 4, 5 ] \" > input"
at_fn_check_prepare_trace "json.at:68"
( $at_check_trace; printf %s " [ 1, 2, 3, 4, 5 ] " > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:68"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:68: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:68"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:68"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:68: cat stdout"
at_fn_check_prepare_trace "json.at:68"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[1,2,3,4,5]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:68"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_372
#AT_START_373
at_fn_group_banner 373 'json.at:71' \
  "missing comma - C" "                              " 28
at_xfail=no
(
  $as_echo "373. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:71: printf %s \" [ 1, 2, 3 4, 5 ] \" > input"
at_fn_check_prepare_trace "json.at:71"
( $at_check_trace; printf %s " [ 1, 2, 3 4, 5 ] " > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:71"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:71: test-json  input"
at_fn_check_prepare_trace "json.at:71"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:71"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:71: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:71"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error expecting ']' or ','
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:71"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_373
#AT_START_374
at_fn_group_banner 374 'json.at:71' \
  "missing comma - Python" "                         " 28
at_xfail=no
(
  $as_echo "374. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:71" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:71"
   { set +x
$as_echo "$at_srcdir/json.at:71: printf %s \" [ 1, 2, 3 4, 5 ] \" > input"
at_fn_check_prepare_trace "json.at:71"
( $at_check_trace; printf %s " [ 1, 2, 3 4, 5 ] " > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:71"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:71: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:71"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:71"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:71: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:71"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error expecting ']' or ','
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:71"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_374
#AT_START_375
at_fn_group_banner 375 'json.at:73' \
  "trailing comma not allowed - C" "                 " 28
at_xfail=no
(
  $as_echo "375. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:73: printf %s \"[1,2,]\" > input"
at_fn_check_prepare_trace "json.at:73"
( $at_check_trace; printf %s "[1,2,]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:73"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:73: test-json  input"
at_fn_check_prepare_trace "json.at:73"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:73"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:73: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:73"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error expecting value
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:73"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_375
#AT_START_376
at_fn_group_banner 376 'json.at:73' \
  "trailing comma not allowed - Python" "            " 28
at_xfail=no
(
  $as_echo "376. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:73" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:73"
   { set +x
$as_echo "$at_srcdir/json.at:73: printf %s \"[1,2,]\" > input"
at_fn_check_prepare_trace "json.at:73"
( $at_check_trace; printf %s "[1,2,]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:73"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:73: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:73"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:73"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:73: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:73"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error expecting value
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:73"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_376
#AT_START_377
at_fn_group_banner 377 'json.at:75' \
  "doubled comma not allowed - C" "                  " 28
at_xfail=no
(
  $as_echo "377. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:75: printf %s \"[1,,2]\" > input"
at_fn_check_prepare_trace "json.at:75"
( $at_check_trace; printf %s "[1,,2]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:75"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:75: test-json  input"
at_fn_check_prepare_trace "json.at:75"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:75"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:75: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:75"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error expecting value
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:75"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_377
#AT_START_378
at_fn_group_banner 378 'json.at:75' \
  "doubled comma not allowed - Python" "             " 28
at_xfail=no
(
  $as_echo "378. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:75" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:75"
   { set +x
$as_echo "$at_srcdir/json.at:75: printf %s \"[1,,2]\" > input"
at_fn_check_prepare_trace "json.at:75"
( $at_check_trace; printf %s "[1,,2]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:75"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:75: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:75"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:75"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:75: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:75"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error expecting value
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:75"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_378
#AT_START_379
at_fn_group_banner 379 'json.at:80' \
  "empty string - C" "                               " 29
at_xfail=no
(
  $as_echo "379. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:80: printf %s \"[ \\\"\\\" ]\" > input"
at_fn_check_prepare_trace "json.at:80"
( $at_check_trace; printf %s "[ \"\" ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:80"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:80: test-json  input"
at_fn_check_prepare_trace "json.at:80"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:80"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:80: cat stdout"
at_fn_check_prepare_trace "json.at:80"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:80"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_379
#AT_START_380
at_fn_group_banner 380 'json.at:80' \
  "empty string - Python" "                          " 29
at_xfail=no
(
  $as_echo "380. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:80" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:80"
   { set +x
$as_echo "$at_srcdir/json.at:80: printf %s \"[ \\\"\\\" ]\" > input"
at_fn_check_prepare_trace "json.at:80"
( $at_check_trace; printf %s "[ \"\" ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:80"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:80: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:80"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:80"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:80: cat stdout"
at_fn_check_prepare_trace "json.at:80"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:80"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_380
#AT_START_381
at_fn_group_banner 381 'json.at:81' \
  "1-character strings - C" "                        " 29
at_xfail=no
(
  $as_echo "381. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:81: printf %s \"[ \\\"a\\\", \\\"b\\\", \\\"c\\\" ]\" > input"
at_fn_check_prepare_trace "json.at:81"
( $at_check_trace; printf %s "[ \"a\", \"b\", \"c\" ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:81"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:81: test-json  input"
at_fn_check_prepare_trace "json.at:81"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:81"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:81: cat stdout"
at_fn_check_prepare_trace "json.at:81"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"a\",\"b\",\"c\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:81"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_381
#AT_START_382
at_fn_group_banner 382 'json.at:81' \
  "1-character strings - Python" "                   " 29
at_xfail=no
(
  $as_echo "382. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:81" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:81"
   { set +x
$as_echo "$at_srcdir/json.at:81: printf %s \"[ \\\"a\\\", \\\"b\\\", \\\"c\\\" ]\" > input"
at_fn_check_prepare_trace "json.at:81"
( $at_check_trace; printf %s "[ \"a\", \"b\", \"c\" ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:81"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:81: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:81"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:81"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:81: cat stdout"
at_fn_check_prepare_trace "json.at:81"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"a\",\"b\",\"c\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:81"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_382
#AT_START_383
at_fn_group_banner 383 'json.at:84' \
  "escape sequences - C" "                           " 29
at_xfail=no
(
  $as_echo "383. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:84: printf %s \"[ \\\" \\\\\\\" \\\\\\\\ \\\\/ \\\\b \\\\f \\\\n \\\\r \\\\t\\\" ]\" > input"
at_fn_check_prepare_trace "json.at:84"
( $at_check_trace; printf %s "[ \" \\\" \\\\ \\/ \\b \\f \\n \\r \\t\" ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:84"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:84: test-json  input"
at_fn_check_prepare_trace "json.at:84"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:84"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:84: cat stdout"
at_fn_check_prepare_trace "json.at:84"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\" \\\" \\\\ / \\b \\f \\n \\r \\t\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:84"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_383
#AT_START_384
at_fn_group_banner 384 'json.at:84' \
  "escape sequences - Python" "                      " 29
at_xfail=no
(
  $as_echo "384. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:84" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:84"
   { set +x
$as_echo "$at_srcdir/json.at:84: printf %s \"[ \\\" \\\\\\\" \\\\\\\\ \\\\/ \\\\b \\\\f \\\\n \\\\r \\\\t\\\" ]\" > input"
at_fn_check_prepare_trace "json.at:84"
( $at_check_trace; printf %s "[ \" \\\" \\\\ \\/ \\b \\f \\n \\r \\t\" ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:84"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:84: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:84"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:84"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:84: cat stdout"
at_fn_check_prepare_trace "json.at:84"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\" \\\" \\\\ / \\b \\f \\n \\r \\t\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:84"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_384
#AT_START_385
at_fn_group_banner 385 'json.at:87' \
  "Unicode escape sequences - C" "                   " 29
at_xfail=no
(
  $as_echo "385. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:87: printf %s \"[ \\\" \\\\u0022 \\\\u005c \\\\u002F \\\\u0008 \\\\u000c \\\\u000A \\\\u000d \\\\u0009\\\" ]\" > input"
at_fn_check_prepare_trace "json.at:87"
( $at_check_trace; printf %s "[ \" \\u0022 \\u005c \\u002F \\u0008 \\u000c \\u000A \\u000d \\u0009\" ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:87: test-json  input"
at_fn_check_prepare_trace "json.at:87"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:87"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:87: cat stdout"
at_fn_check_prepare_trace "json.at:87"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\" \\\" \\\\ / \\b \\f \\n \\r \\t\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:87"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_385
#AT_START_386
at_fn_group_banner 386 'json.at:87' \
  "Unicode escape sequences - Python" "              " 29
at_xfail=no
(
  $as_echo "386. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:87" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:87"
   { set +x
$as_echo "$at_srcdir/json.at:87: printf %s \"[ \\\" \\\\u0022 \\\\u005c \\\\u002F \\\\u0008 \\\\u000c \\\\u000A \\\\u000d \\\\u0009\\\" ]\" > input"
at_fn_check_prepare_trace "json.at:87"
( $at_check_trace; printf %s "[ \" \\u0022 \\u005c \\u002F \\u0008 \\u000c \\u000A \\u000d \\u0009\" ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:87: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:87"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:87"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:87: cat stdout"
at_fn_check_prepare_trace "json.at:87"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\" \\\" \\\\ / \\b \\f \\n \\r \\t\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:87"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_386
#AT_START_387
at_fn_group_banner 387 'json.at:90' \
  "surrogate pairs - C" "                            " 29
at_xfail=no
(
  $as_echo "387. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:90: printf %s \"[\\\"\\\\ud834\\\\udd1e\\\"]\" > input"
at_fn_check_prepare_trace "json.at:90"
( $at_check_trace; printf %s "[\"\\ud834\\udd1e\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:90"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:90: test-json  input"
at_fn_check_prepare_trace "json.at:90"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:90"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:90: cat stdout"
at_fn_check_prepare_trace "json.at:90"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"𝄞\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:90"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_387
#AT_START_388
at_fn_group_banner 388 'json.at:93' \
  "surrogate pairs - Python" "                       " 29
at_xfail=no
      $PYTHON -c "exit(len(u'\U00010800'))"; test $? -ne 1 && at_xfail=yes
(
  $as_echo "388. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:93" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:93"

   { set +x
$as_echo "$at_srcdir/json.at:93: printf %s \"[\\\"\\\\ud834\\\\udd1e\\\"]\" > input"
at_fn_check_prepare_trace "json.at:93"
( $at_check_trace; printf %s "[\"\\ud834\\udd1e\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:93"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:93: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:93"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:93"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:93: cat stdout"
at_fn_check_prepare_trace "json.at:93"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"𝄞\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:93"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_388
#AT_START_389
at_fn_group_banner 389 'json.at:96' \
  "a string by itself is not valid JSON - C" "       " 29
at_xfail=no
(
  $as_echo "389. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:96: printf %s \"\\\"xxx\\\"\" > input"
at_fn_check_prepare_trace "json.at:96"
( $at_check_trace; printf %s "\"xxx\"" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:96"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:96: test-json  input"
at_fn_check_prepare_trace "json.at:96"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:96"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:96: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:96"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error at beginning of input
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:96"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_389
#AT_START_390
at_fn_group_banner 390 'json.at:96' \
  "a string by itself is not valid JSON - Python" "  " 29
at_xfail=no
(
  $as_echo "390. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:96" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:96"
   { set +x
$as_echo "$at_srcdir/json.at:96: printf %s \"\\\"xxx\\\"\" > input"
at_fn_check_prepare_trace "json.at:96"
( $at_check_trace; printf %s "\"xxx\"" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:96"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:96: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:96"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:96"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:96: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:96"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error at beginning of input
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:96"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_390
#AT_START_391
at_fn_group_banner 391 'json.at:98' \
  "end of line in quoted string - C" "               " 29
at_xfail=no
(
  $as_echo "391. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:98: printf %s \"[\\\"xxx
\\\"]\" > input"
at_fn_check_prepare_notrace 'an embedded newline' "json.at:98"
( $at_check_trace; printf %s "[\"xxx
\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:98"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:98: test-json  input"
at_fn_check_prepare_trace "json.at:98"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:98"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:98: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:98"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: U+000A must be escaped in quoted string
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:98"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_391
#AT_START_392
at_fn_group_banner 392 'json.at:98' \
  "end of line in quoted string - Python" "          " 29
at_xfail=no
(
  $as_echo "392. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:98" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:98"
   { set +x
$as_echo "$at_srcdir/json.at:98: printf %s \"[\\\"xxx
\\\"]\" > input"
at_fn_check_prepare_notrace 'an embedded newline' "json.at:98"
( $at_check_trace; printf %s "[\"xxx
\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:98"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:98: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:98"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:98"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:98: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:98"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: U+000A must be escaped in quoted string
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:98"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_392
#AT_START_393
at_fn_group_banner 393 'json.at:102' \
  "formfeed in quoted string - C" "                  " 29
at_xfail=no
(
  $as_echo "393. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:102: printf %s \"[\\\"xxx\\\"]\" > input"
at_fn_check_prepare_trace "json.at:102"
( $at_check_trace; printf %s "[\"xxx\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:102"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:102: test-json  input"
at_fn_check_prepare_trace "json.at:102"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:102"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:102: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:102"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: U+000C must be escaped in quoted string
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:102"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_393
#AT_START_394
at_fn_group_banner 394 'json.at:102' \
  "formfeed in quoted string - Python" "             " 29
at_xfail=no
(
  $as_echo "394. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:102" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:102"
   { set +x
$as_echo "$at_srcdir/json.at:102: printf %s \"[\\\"xxx\\\"]\" > input"
at_fn_check_prepare_trace "json.at:102"
( $at_check_trace; printf %s "[\"xxx\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:102"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:102: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:102"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:102"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:102: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:102"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: U+000C must be escaped in quoted string
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:102"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_394
#AT_START_395
at_fn_group_banner 395 'json.at:105' \
  "bad escape in quoted string - C" "                " 29
at_xfail=no
(
  $as_echo "395. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:105: printf %s \"[\\\"\\\\x12\\\"]\" > input"
at_fn_check_prepare_trace "json.at:105"
( $at_check_trace; printf %s "[\"\\x12\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:105"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:105: test-json  input"
at_fn_check_prepare_trace "json.at:105"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:105"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:105: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:105"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: bad escape \\x
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:105"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_395
#AT_START_396
at_fn_group_banner 396 'json.at:105' \
  "bad escape in quoted string - Python" "           " 29
at_xfail=no
(
  $as_echo "396. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:105" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:105"
   { set +x
$as_echo "$at_srcdir/json.at:105: printf %s \"[\\\"\\\\x12\\\"]\" > input"
at_fn_check_prepare_trace "json.at:105"
( $at_check_trace; printf %s "[\"\\x12\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:105"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:105: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:105"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:105"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:105: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:105"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: bad escape \\x
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:105"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_396
#AT_START_397
at_fn_group_banner 397 'json.at:108' \
  "\\u must be followed by 4 hex digits (1) - C" "    " 29
at_xfail=no
(
  $as_echo "397. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:108: printf %s \"[\\\"\\\\u1x\\\"]\" > input"
at_fn_check_prepare_trace "json.at:108"
( $at_check_trace; printf %s "[\"\\u1x\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:108"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:108: test-json  input"
at_fn_check_prepare_trace "json.at:108"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:108"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:108: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:108"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: quoted string ends within \\u escape
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:108"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_397
#AT_START_398
at_fn_group_banner 398 'json.at:108' \
  "\\u must be followed by 4 hex digits (1) - Python" "" 29
at_xfail=no
(
  $as_echo "398. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:108" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:108"
   { set +x
$as_echo "$at_srcdir/json.at:108: printf %s \"[\\\"\\\\u1x\\\"]\" > input"
at_fn_check_prepare_trace "json.at:108"
( $at_check_trace; printf %s "[\"\\u1x\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:108"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:108: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:108"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:108"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:108: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:108"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: quoted string ends within \\u escape
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:108"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_398
#AT_START_399
at_fn_group_banner 399 'json.at:111' \
  "\\u must be followed by 4 hex digits (2) - C" "    " 29
at_xfail=no
(
  $as_echo "399. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:111: printf %s \"[\\\"\\\\u1xyz\\\"]\" > input"
at_fn_check_prepare_trace "json.at:111"
( $at_check_trace; printf %s "[\"\\u1xyz\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:111"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:111: test-json  input"
at_fn_check_prepare_trace "json.at:111"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:111"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:111: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:111"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: malformed \\u escape
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:111"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_399
#AT_START_400
at_fn_group_banner 400 'json.at:111' \
  "\\u must be followed by 4 hex digits (2) - Python" "" 29
at_xfail=no
(
  $as_echo "400. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:111" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:111"
   { set +x
$as_echo "$at_srcdir/json.at:111: printf %s \"[\\\"\\\\u1xyz\\\"]\" > input"
at_fn_check_prepare_trace "json.at:111"
( $at_check_trace; printf %s "[\"\\u1xyz\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:111"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:111: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:111"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:111"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:111: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:111"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: malformed \\u escape
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:111"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_400
#AT_START_401
at_fn_group_banner 401 'json.at:114' \
  "isolated leading surrogate not allowed - C" "     " 29
at_xfail=no
(
  $as_echo "401. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:114: printf %s \"[\\\"\\\\ud834xxx\\\"]\" > input"
at_fn_check_prepare_trace "json.at:114"
( $at_check_trace; printf %s "[\"\\ud834xxx\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:114"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:114: test-json  input"
at_fn_check_prepare_trace "json.at:114"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:114"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:114: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:114"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: malformed escaped surrogate pair
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:114"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_401
#AT_START_402
at_fn_group_banner 402 'json.at:114' \
  "isolated leading surrogate not allowed - Python" "" 29
at_xfail=no
(
  $as_echo "402. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:114" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:114"
   { set +x
$as_echo "$at_srcdir/json.at:114: printf %s \"[\\\"\\\\ud834xxx\\\"]\" > input"
at_fn_check_prepare_trace "json.at:114"
( $at_check_trace; printf %s "[\"\\ud834xxx\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:114"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:114: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:114"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:114"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:114: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:114"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: malformed escaped surrogate pair
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:114"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_402
#AT_START_403
at_fn_group_banner 403 'json.at:117' \
  "surrogatess must paired properly - C" "           " 29
at_xfail=no
(
  $as_echo "403. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:117: printf %s \"[\\\"\\\\ud834\\\\u1234\\\"]\" > input"
at_fn_check_prepare_trace "json.at:117"
( $at_check_trace; printf %s "[\"\\ud834\\u1234\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:117"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:117: test-json  input"
at_fn_check_prepare_trace "json.at:117"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:117"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:117: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:117"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: second half of escaped surrogate pair is not trailing surrogate
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:117"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_403
#AT_START_404
at_fn_group_banner 404 'json.at:117' \
  "surrogatess must paired properly - Python" "      " 29
at_xfail=no
(
  $as_echo "404. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:117" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:117"
   { set +x
$as_echo "$at_srcdir/json.at:117: printf %s \"[\\\"\\\\ud834\\\\u1234\\\"]\" > input"
at_fn_check_prepare_trace "json.at:117"
( $at_check_trace; printf %s "[\"\\ud834\\u1234\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:117"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:117: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:117"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:117"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:117: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:117"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: second half of escaped surrogate pair is not trailing surrogate
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:117"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_404
#AT_START_405
at_fn_group_banner 405 'json.at:120' \
  "null bytes not allowed - C" "                     " 29
at_xfail=no
(
  $as_echo "405. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:120: printf %s \"[\\\"\\\\u0000\\\"]\" > input"
at_fn_check_prepare_trace "json.at:120"
( $at_check_trace; printf %s "[\"\\u0000\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:120"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:120: test-json  input"
at_fn_check_prepare_trace "json.at:120"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:120"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:120: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:120"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: null bytes not supported in quoted strings
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:120"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_405
#AT_START_406
at_fn_group_banner 406 'json.at:120' \
  "null bytes not allowed - Python" "                " 29
at_xfail=no
(
  $as_echo "406. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:120" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:120"
   { set +x
$as_echo "$at_srcdir/json.at:120: printf %s \"[\\\"\\\\u0000\\\"]\" > input"
at_fn_check_prepare_trace "json.at:120"
( $at_check_trace; printf %s "[\"\\u0000\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:120"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:120: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:120"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:120"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:120: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:120"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: null bytes not supported in quoted strings
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:120"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_406
#AT_START_407
at_fn_group_banner 407 'json.at:124' \
  "properly quoted backslash at end of string - C" " " 29
at_xfail=no
(
  $as_echo "407. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:124: printf %s \"[\\\"\\\\\\\\\\\"]\" > input"
at_fn_check_prepare_trace "json.at:124"
( $at_check_trace; printf %s "[\"\\\\\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:124"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:124: test-json  input"
at_fn_check_prepare_trace "json.at:124"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:124"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:124: cat stdout"
at_fn_check_prepare_trace "json.at:124"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"\\\\\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:124"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_407
#AT_START_408
at_fn_group_banner 408 'json.at:124' \
  "properly quoted backslash at end of string - Python" "" 29
at_xfail=no
(
  $as_echo "408. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:124" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:124"
   { set +x
$as_echo "$at_srcdir/json.at:124: printf %s \"[\\\"\\\\\\\\\\\"]\" > input"
at_fn_check_prepare_trace "json.at:124"
( $at_check_trace; printf %s "[\"\\\\\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:124"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:124: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:124"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:124"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:124: cat stdout"
at_fn_check_prepare_trace "json.at:124"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"\\\\\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:124"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_408
#AT_START_409
at_fn_group_banner 409 'json.at:127' \
  "stray backslash at end of string - C" "           " 29
at_xfail=no
(
  $as_echo "409. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:127: printf %s \"[\\\"abcd\\\\\\\"]\" > input"
at_fn_check_prepare_trace "json.at:127"
( $at_check_trace; printf %s "[\"abcd\\\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:127"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:127: test-json  input"
at_fn_check_prepare_trace "json.at:127"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:127"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:127: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:127"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: unexpected end of input in quoted string
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:127"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_409
#AT_START_410
at_fn_group_banner 410 'json.at:127' \
  "stray backslash at end of string - Python" "      " 29
at_xfail=no
(
  $as_echo "410. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:127" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:127"
   { set +x
$as_echo "$at_srcdir/json.at:127: printf %s \"[\\\"abcd\\\\\\\"]\" > input"
at_fn_check_prepare_trace "json.at:127"
( $at_check_trace; printf %s "[\"abcd\\\"]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:127"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:127: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:127"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:127"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:127: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:127"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: unexpected end of input in quoted string
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:127"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_410
#AT_START_411
at_fn_group_banner 411 'json.at:131' \
  "end of input in quoted string - C" "              " 29
at_xfail=no
(
  $as_echo "411. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/json.at:133: printf '\"xxx' | test-json -"
at_fn_check_prepare_notrace 'a shell pipeline' "json.at:133"
( $at_check_trace; printf '"xxx' | test-json -
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: line 0, column 4, byte 4: unexpected end of input in quoted string
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/json.at:133"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_411
#AT_START_412
at_fn_group_banner 412 'json.at:138' \
  "end of input in quoted string - Python" "         " 29
at_xfail=no
(
  $as_echo "412. $at_setup_line: testing $at_desc ..."
  $at_traceon


$as_echo "json.at:140" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:140"
{ set +x
$as_echo "$at_srcdir/json.at:141: printf '\"xxx' > input
\$PYTHON \$srcdir/test-json.py input"
at_fn_check_prepare_notrace 'an embedded newline' "json.at:141"
( $at_check_trace; printf '"xxx' > input
$PYTHON $srcdir/test-json.py input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: line 0, column 4, byte 4: unexpected end of input in quoted string
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/json.at:141"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_412
#AT_START_413
at_fn_group_banner 413 'json.at:149' \
  "empty object - C" "                               " 30
at_xfail=no
(
  $as_echo "413. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:149: printf %s \"{ }\" > input"
at_fn_check_prepare_trace "json.at:149"
( $at_check_trace; printf %s "{ }" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:149"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:149: test-json  input"
at_fn_check_prepare_trace "json.at:149"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:149"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:149: cat stdout"
at_fn_check_prepare_trace "json.at:149"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:149"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_413
#AT_START_414
at_fn_group_banner 414 'json.at:149' \
  "empty object - Python" "                          " 30
at_xfail=no
(
  $as_echo "414. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:149" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:149"
   { set +x
$as_echo "$at_srcdir/json.at:149: printf %s \"{ }\" > input"
at_fn_check_prepare_trace "json.at:149"
( $at_check_trace; printf %s "{ }" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:149"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:149: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:149"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:149"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:149: cat stdout"
at_fn_check_prepare_trace "json.at:149"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:149"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_414
#AT_START_415
at_fn_group_banner 415 'json.at:150' \
  "simple object - C" "                              " 30
at_xfail=no
(
  $as_echo "415. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:150: printf %s \"{\\\"b\\\": 2, \\\"a\\\": 1, \\\"c\\\": 3}\" > input"
at_fn_check_prepare_trace "json.at:150"
( $at_check_trace; printf %s "{\"b\": 2, \"a\": 1, \"c\": 3}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:150"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:150: test-json  input"
at_fn_check_prepare_trace "json.at:150"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:150"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:150: cat stdout"
at_fn_check_prepare_trace "json.at:150"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"a\":1,\"b\":2,\"c\":3}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:150"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_415
#AT_START_416
at_fn_group_banner 416 'json.at:150' \
  "simple object - Python" "                         " 30
at_xfail=no
(
  $as_echo "416. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:150" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:150"
   { set +x
$as_echo "$at_srcdir/json.at:150: printf %s \"{\\\"b\\\": 2, \\\"a\\\": 1, \\\"c\\\": 3}\" > input"
at_fn_check_prepare_trace "json.at:150"
( $at_check_trace; printf %s "{\"b\": 2, \"a\": 1, \"c\": 3}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:150"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:150: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:150"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:150"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:150: cat stdout"
at_fn_check_prepare_trace "json.at:150"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"a\":1,\"b\":2,\"c\":3}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:150"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_416
#AT_START_417
at_fn_group_banner 417 'json.at:153' \
  "bad value - C" "                                  " 30
at_xfail=no
(
  $as_echo "417. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:153: printf %s \"{\\\"a\\\": }, \\\"b\\\": 2\" > input"
at_fn_check_prepare_trace "json.at:153"
( $at_check_trace; printf %s "{\"a\": }, \"b\": 2" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:153"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:153: test-json  input"
at_fn_check_prepare_trace "json.at:153"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:153"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:153: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:153"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error expecting value
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:153"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_417
#AT_START_418
at_fn_group_banner 418 'json.at:153' \
  "bad value - Python" "                             " 30
at_xfail=no
(
  $as_echo "418. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:153" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:153"
   { set +x
$as_echo "$at_srcdir/json.at:153: printf %s \"{\\\"a\\\": }, \\\"b\\\": 2\" > input"
at_fn_check_prepare_trace "json.at:153"
( $at_check_trace; printf %s "{\"a\": }, \"b\": 2" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:153"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:153: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:153"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:153"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:153: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:153"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error expecting value
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:153"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_418
#AT_START_419
at_fn_group_banner 419 'json.at:155' \
  "missing colon - C" "                              " 30
at_xfail=no
(
  $as_echo "419. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:155: printf %s \"{\\\"b\\\": 2, \\\"a\\\" 1, \\\"c\\\": 3}\" > input"
at_fn_check_prepare_trace "json.at:155"
( $at_check_trace; printf %s "{\"b\": 2, \"a\" 1, \"c\": 3}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:155"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:155: test-json  input"
at_fn_check_prepare_trace "json.at:155"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:155"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:155: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:155"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error parsing object expecting ':'
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:155"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_419
#AT_START_420
at_fn_group_banner 420 'json.at:155' \
  "missing colon - Python" "                         " 30
at_xfail=no
(
  $as_echo "420. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:155" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:155"
   { set +x
$as_echo "$at_srcdir/json.at:155: printf %s \"{\\\"b\\\": 2, \\\"a\\\" 1, \\\"c\\\": 3}\" > input"
at_fn_check_prepare_trace "json.at:155"
( $at_check_trace; printf %s "{\"b\": 2, \"a\" 1, \"c\": 3}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:155"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:155: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:155"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:155"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:155: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:155"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error parsing object expecting ':'
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:155"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_420
#AT_START_421
at_fn_group_banner 421 'json.at:157' \
  "missing comma - C" "                              " 30
at_xfail=no
(
  $as_echo "421. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:157: printf %s \"{\\\"b\\\": 2 \\\"a\\\" 1, \\\"c\\\": 3}\" > input"
at_fn_check_prepare_trace "json.at:157"
( $at_check_trace; printf %s "{\"b\": 2 \"a\" 1, \"c\": 3}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:157"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:157: test-json  input"
at_fn_check_prepare_trace "json.at:157"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:157"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:157: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:157"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error expecting '}' or ','
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:157"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_421
#AT_START_422
at_fn_group_banner 422 'json.at:157' \
  "missing comma - Python" "                         " 30
at_xfail=no
(
  $as_echo "422. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:157" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:157"
   { set +x
$as_echo "$at_srcdir/json.at:157: printf %s \"{\\\"b\\\": 2 \\\"a\\\" 1, \\\"c\\\": 3}\" > input"
at_fn_check_prepare_trace "json.at:157"
( $at_check_trace; printf %s "{\"b\": 2 \"a\" 1, \"c\": 3}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:157"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:157: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:157"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:157"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:157: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:157"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error expecting '}' or ','
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:157"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_422
#AT_START_423
at_fn_group_banner 423 'json.at:159' \
  "trailing comma not allowed - C" "                 " 30
at_xfail=no
(
  $as_echo "423. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:159: printf %s \"{\\\"b\\\": 2, \\\"a\\\": 1, \\\"c\\\": 3, }\" > input"
at_fn_check_prepare_trace "json.at:159"
( $at_check_trace; printf %s "{\"b\": 2, \"a\": 1, \"c\": 3, }" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:159"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:159: test-json  input"
at_fn_check_prepare_trace "json.at:159"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:159"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:159: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:159"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error parsing object expecting string
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:159"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_423
#AT_START_424
at_fn_group_banner 424 'json.at:159' \
  "trailing comma not allowed - Python" "            " 30
at_xfail=no
(
  $as_echo "424. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:159" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:159"
   { set +x
$as_echo "$at_srcdir/json.at:159: printf %s \"{\\\"b\\\": 2, \\\"a\\\": 1, \\\"c\\\": 3, }\" > input"
at_fn_check_prepare_trace "json.at:159"
( $at_check_trace; printf %s "{\"b\": 2, \"a\": 1, \"c\": 3, }" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:159"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:159: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:159"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:159"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:159: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:159"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error parsing object expecting string
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:159"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_424
#AT_START_425
at_fn_group_banner 425 'json.at:162' \
  "doubled comma not allowed - C" "                  " 30
at_xfail=no
(
  $as_echo "425. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:162: printf %s \"{\\\"b\\\": 2, \\\"a\\\": 1,, \\\"c\\\": 3}\" > input"
at_fn_check_prepare_trace "json.at:162"
( $at_check_trace; printf %s "{\"b\": 2, \"a\": 1,, \"c\": 3}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:162"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:162: test-json  input"
at_fn_check_prepare_trace "json.at:162"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:162"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:162: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:162"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error parsing object expecting string
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:162"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_425
#AT_START_426
at_fn_group_banner 426 'json.at:162' \
  "doubled comma not allowed - Python" "             " 30
at_xfail=no
(
  $as_echo "426. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:162" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:162"
   { set +x
$as_echo "$at_srcdir/json.at:162: printf %s \"{\\\"b\\\": 2, \\\"a\\\": 1,, \\\"c\\\": 3}\" > input"
at_fn_check_prepare_trace "json.at:162"
( $at_check_trace; printf %s "{\"b\": 2, \"a\": 1,, \"c\": 3}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:162"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:162: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:162"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:162"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:162: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:162"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error parsing object expecting string
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:162"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_426
#AT_START_427
at_fn_group_banner 427 'json.at:165' \
  "names must be strings - C" "                      " 30
at_xfail=no
(
  $as_echo "427. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:165: printf %s \"{1: 2}\" > input"
at_fn_check_prepare_trace "json.at:165"
( $at_check_trace; printf %s "{1: 2}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:165: test-json  input"
at_fn_check_prepare_trace "json.at:165"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:165"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:165: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:165"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error parsing object expecting string
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:165"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_427
#AT_START_428
at_fn_group_banner 428 'json.at:165' \
  "names must be strings - Python" "                 " 30
at_xfail=no
(
  $as_echo "428. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:165" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:165"
   { set +x
$as_echo "$at_srcdir/json.at:165: printf %s \"{1: 2}\" > input"
at_fn_check_prepare_trace "json.at:165"
( $at_check_trace; printf %s "{1: 2}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:165: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:165"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:165"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:165: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:165"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error parsing object expecting string
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:165"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_428
#AT_START_429
at_fn_group_banner 429 'json.at:171' \
  "null - C" "                                       " 31
at_xfail=no
(
  $as_echo "429. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:171: printf %s \"[ null ]\" > input"
at_fn_check_prepare_trace "json.at:171"
( $at_check_trace; printf %s "[ null ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:171"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:171: test-json  input"
at_fn_check_prepare_trace "json.at:171"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:171"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:171: cat stdout"
at_fn_check_prepare_trace "json.at:171"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[null]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:171"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_429
#AT_START_430
at_fn_group_banner 430 'json.at:171' \
  "null - Python" "                                  " 31
at_xfail=no
(
  $as_echo "430. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:171" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:171"
   { set +x
$as_echo "$at_srcdir/json.at:171: printf %s \"[ null ]\" > input"
at_fn_check_prepare_trace "json.at:171"
( $at_check_trace; printf %s "[ null ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:171"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:171: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:171"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:171"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:171: cat stdout"
at_fn_check_prepare_trace "json.at:171"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[null]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:171"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_430
#AT_START_431
at_fn_group_banner 431 'json.at:172' \
  "false - C" "                                      " 31
at_xfail=no
(
  $as_echo "431. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:172: printf %s \"[ false ]\" > input"
at_fn_check_prepare_trace "json.at:172"
( $at_check_trace; printf %s "[ false ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:172"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:172: test-json  input"
at_fn_check_prepare_trace "json.at:172"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:172"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:172: cat stdout"
at_fn_check_prepare_trace "json.at:172"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[false]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:172"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_431
#AT_START_432
at_fn_group_banner 432 'json.at:172' \
  "false - Python" "                                 " 31
at_xfail=no
(
  $as_echo "432. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:172" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:172"
   { set +x
$as_echo "$at_srcdir/json.at:172: printf %s \"[ false ]\" > input"
at_fn_check_prepare_trace "json.at:172"
( $at_check_trace; printf %s "[ false ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:172"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:172: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:172"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:172"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:172: cat stdout"
at_fn_check_prepare_trace "json.at:172"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[false]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:172"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_432
#AT_START_433
at_fn_group_banner 433 'json.at:173' \
  "true - C" "                                       " 31
at_xfail=no
(
  $as_echo "433. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:173: printf %s \"[ true ]\" > input"
at_fn_check_prepare_trace "json.at:173"
( $at_check_trace; printf %s "[ true ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:173"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:173: test-json  input"
at_fn_check_prepare_trace "json.at:173"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:173"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:173: cat stdout"
at_fn_check_prepare_trace "json.at:173"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[true]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:173"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_433
#AT_START_434
at_fn_group_banner 434 'json.at:173' \
  "true - Python" "                                  " 31
at_xfail=no
(
  $as_echo "434. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:173" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:173"
   { set +x
$as_echo "$at_srcdir/json.at:173: printf %s \"[ true ]\" > input"
at_fn_check_prepare_trace "json.at:173"
( $at_check_trace; printf %s "[ true ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:173"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:173: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:173"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:173"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:173: cat stdout"
at_fn_check_prepare_trace "json.at:173"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[true]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:173"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_434
#AT_START_435
at_fn_group_banner 435 'json.at:174' \
  "a literal by itself is not valid JSON - C" "      " 31
at_xfail=no
(
  $as_echo "435. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:174: printf %s \"null\" > input"
at_fn_check_prepare_trace "json.at:174"
( $at_check_trace; printf %s "null" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:174"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:174: test-json  input"
at_fn_check_prepare_trace "json.at:174"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:174"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:174: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:174"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error at beginning of input
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:174"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_435
#AT_START_436
at_fn_group_banner 436 'json.at:174' \
  "a literal by itself is not valid JSON - Python" " " 31
at_xfail=no
(
  $as_echo "436. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:174" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:174"
   { set +x
$as_echo "$at_srcdir/json.at:174: printf %s \"null\" > input"
at_fn_check_prepare_trace "json.at:174"
( $at_check_trace; printf %s "null" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:174"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:174: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:174"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:174"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:174: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:174"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error at beginning of input
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:174"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_436
#AT_START_437
at_fn_group_banner 437 'json.at:176' \
  "nullify is invalid - C" "                         " 31
at_xfail=no
(
  $as_echo "437. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:176: printf %s \"[ nullify ]\" > input"
at_fn_check_prepare_trace "json.at:176"
( $at_check_trace; printf %s "[ nullify ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:176"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:176: test-json  input"
at_fn_check_prepare_trace "json.at:176"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:176"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:176: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:176"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: invalid keyword 'nullify'
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:176"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_437
#AT_START_438
at_fn_group_banner 438 'json.at:176' \
  "nullify is invalid - Python" "                    " 31
at_xfail=no
(
  $as_echo "438. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:176" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:176"
   { set +x
$as_echo "$at_srcdir/json.at:176: printf %s \"[ nullify ]\" > input"
at_fn_check_prepare_trace "json.at:176"
( $at_check_trace; printf %s "[ nullify ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:176"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:176: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:176"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:176"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:176: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:176"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: invalid keyword 'nullify'
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:176"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_438
#AT_START_439
at_fn_group_banner 439 'json.at:178' \
  "nubs is invalid - C" "                            " 31
at_xfail=no
(
  $as_echo "439. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:178: printf %s \"[ nubs ]\" > input"
at_fn_check_prepare_trace "json.at:178"
( $at_check_trace; printf %s "[ nubs ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:178"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:178: test-json  input"
at_fn_check_prepare_trace "json.at:178"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:178"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:178: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:178"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: invalid keyword 'nubs'
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:178"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_439
#AT_START_440
at_fn_group_banner 440 'json.at:178' \
  "nubs is invalid - Python" "                       " 31
at_xfail=no
(
  $as_echo "440. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:178" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:178"
   { set +x
$as_echo "$at_srcdir/json.at:178: printf %s \"[ nubs ]\" > input"
at_fn_check_prepare_trace "json.at:178"
( $at_check_trace; printf %s "[ nubs ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:178"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:178: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:178"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:178"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:178: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:178"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: invalid keyword 'nubs'
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:178"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_440
#AT_START_441
at_fn_group_banner 441 'json.at:180' \
  "xxx is invalid - C" "                             " 31
at_xfail=no
(
  $as_echo "441. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:180: printf %s \"[ xxx ]\" > input"
at_fn_check_prepare_trace "json.at:180"
( $at_check_trace; printf %s "[ xxx ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:180"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:180: test-json  input"
at_fn_check_prepare_trace "json.at:180"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:180"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:180: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:180"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: invalid keyword 'xxx'
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:180"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_441
#AT_START_442
at_fn_group_banner 442 'json.at:180' \
  "xxx is invalid - Python" "                        " 31
at_xfail=no
(
  $as_echo "442. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:180" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:180"
   { set +x
$as_echo "$at_srcdir/json.at:180: printf %s \"[ xxx ]\" > input"
at_fn_check_prepare_trace "json.at:180"
( $at_check_trace; printf %s "[ xxx ]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:180"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:180: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:180"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:180"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:180: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:180"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: invalid keyword 'xxx'
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:180"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_442
#AT_START_443
at_fn_group_banner 443 'json.at:185' \
  "integers expressed as reals - C" "                " 32
at_xfail=no
(
  $as_echo "443. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:185: printf %s \"[1.0000000000,
     2.00000000000000000000000000000000000,
     2e5,
     2.1234e4,
     2.1230e3,
     0e-10000,
     0e10000]\" > input"
at_fn_check_prepare_notrace 'an embedded newline' "json.at:185"
( $at_check_trace; printf %s "[1.0000000000,
     2.00000000000000000000000000000000000,
     2e5,
     2.1234e4,
     2.1230e3,
     0e-10000,
     0e10000]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:185"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:185: test-json  input"
at_fn_check_prepare_trace "json.at:185"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:185"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:185: cat stdout"
at_fn_check_prepare_trace "json.at:185"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[1,2,200000,21234,2123,0,0]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:185"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_443
#AT_START_444
at_fn_group_banner 444 'json.at:185' \
  "integers expressed as reals - Python" "           " 32
at_xfail=no
(
  $as_echo "444. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:185" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:185"
   { set +x
$as_echo "$at_srcdir/json.at:185: printf %s \"[1.0000000000,
     2.00000000000000000000000000000000000,
     2e5,
     2.1234e4,
     2.1230e3,
     0e-10000,
     0e10000]\" > input"
at_fn_check_prepare_notrace 'an embedded newline' "json.at:185"
( $at_check_trace; printf %s "[1.0000000000,
     2.00000000000000000000000000000000000,
     2e5,
     2.1234e4,
     2.1230e3,
     0e-10000,
     0e10000]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:185"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:185: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:185"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:185"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:185: cat stdout"
at_fn_check_prepare_trace "json.at:185"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[1,2,200000,21234,2123,0,0]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:185"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_444
#AT_START_445
at_fn_group_banner 445 'json.at:195' \
  "large integers - C" "                             " 32
at_xfail=no
(
  $as_echo "445. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:195: printf %s \"[9223372036854775807, -9223372036854775808]\" > input"
at_fn_check_prepare_trace "json.at:195"
( $at_check_trace; printf %s "[9223372036854775807, -9223372036854775808]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:195"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:195: test-json  input"
at_fn_check_prepare_trace "json.at:195"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:195"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:195: cat stdout"
at_fn_check_prepare_trace "json.at:195"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[9223372036854775807,-9223372036854775808]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:195"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_445
#AT_START_446
at_fn_group_banner 446 'json.at:195' \
  "large integers - Python" "                        " 32
at_xfail=no
(
  $as_echo "446. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:195" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:195"
   { set +x
$as_echo "$at_srcdir/json.at:195: printf %s \"[9223372036854775807, -9223372036854775808]\" > input"
at_fn_check_prepare_trace "json.at:195"
( $at_check_trace; printf %s "[9223372036854775807, -9223372036854775808]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:195"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:195: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:195"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:195"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:195: cat stdout"
at_fn_check_prepare_trace "json.at:195"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[9223372036854775807,-9223372036854775808]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:195"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_446
#AT_START_447
at_fn_group_banner 447 'json.at:199' \
  "large integers expressed as reals - C" "          " 32
at_xfail=no
(
  $as_echo "447. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:199: printf %s \"[9223372036854775807.0, -9223372036854775808.0,
     92233720.36854775807e11, -9.223372036854775808e18]\" > input"
at_fn_check_prepare_notrace 'an embedded newline' "json.at:199"
( $at_check_trace; printf %s "[9223372036854775807.0, -9223372036854775808.0,
     92233720.36854775807e11, -9.223372036854775808e18]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:199"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:199: test-json  input"
at_fn_check_prepare_trace "json.at:199"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:199"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:199: cat stdout"
at_fn_check_prepare_trace "json.at:199"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[9223372036854775807,-9223372036854775808,9223372036854775807,-9223372036854775808]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:199"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_447
#AT_START_448
at_fn_group_banner 448 'json.at:199' \
  "large integers expressed as reals - Python" "     " 32
at_xfail=no
(
  $as_echo "448. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:199" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:199"
   { set +x
$as_echo "$at_srcdir/json.at:199: printf %s \"[9223372036854775807.0, -9223372036854775808.0,
     92233720.36854775807e11, -9.223372036854775808e18]\" > input"
at_fn_check_prepare_notrace 'an embedded newline' "json.at:199"
( $at_check_trace; printf %s "[9223372036854775807.0, -9223372036854775808.0,
     92233720.36854775807e11, -9.223372036854775808e18]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:199"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:199: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:199"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:199"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:199: cat stdout"
at_fn_check_prepare_trace "json.at:199"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[9223372036854775807,-9223372036854775808,9223372036854775807,-9223372036854775808]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:199"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_448
#AT_START_449
at_fn_group_banner 449 'json.at:207' \
  "large integers that overflow to reals - C" "      " 32
at_xfail=no
(
  $as_echo "449. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:207: printf %s \"[9223372036854775807000, -92233720368547758080000]\" > input"
at_fn_check_prepare_trace "json.at:207"
( $at_check_trace; printf %s "[9223372036854775807000, -92233720368547758080000]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:207"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:207: test-json  input"
at_fn_check_prepare_trace "json.at:207"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:207"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:207: cat stdout"
at_fn_check_prepare_trace "json.at:207"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[9.22337203685478e+21,-9.22337203685478e+22]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:207"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_449
#AT_START_450
at_fn_group_banner 450 'json.at:207' \
  "large integers that overflow to reals - Python" " " 32
at_xfail=no
(
  $as_echo "450. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:207" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:207"
   { set +x
$as_echo "$at_srcdir/json.at:207: printf %s \"[9223372036854775807000, -92233720368547758080000]\" > input"
at_fn_check_prepare_trace "json.at:207"
( $at_check_trace; printf %s "[9223372036854775807000, -92233720368547758080000]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:207"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:207: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:207"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:207"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:207: cat stdout"
at_fn_check_prepare_trace "json.at:207"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[9.22337203685478e+21,-9.22337203685478e+22]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:207"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_450
#AT_START_451
at_fn_group_banner 451 'json.at:212' \
  "negative zero - C" "                              " 32
at_xfail=no
(
  $as_echo "451. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:212: printf %s \"[-0, -0.0, 1e-9999, -1e-9999]\" > input"
at_fn_check_prepare_trace "json.at:212"
( $at_check_trace; printf %s "[-0, -0.0, 1e-9999, -1e-9999]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:212"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:212: test-json  input"
at_fn_check_prepare_trace "json.at:212"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:212"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:212: cat stdout"
at_fn_check_prepare_trace "json.at:212"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[0,0,0,0]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:212"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_451
#AT_START_452
at_fn_group_banner 452 'json.at:212' \
  "negative zero - Python" "                         " 32
at_xfail=no
(
  $as_echo "452. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:212" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:212"
   { set +x
$as_echo "$at_srcdir/json.at:212: printf %s \"[-0, -0.0, 1e-9999, -1e-9999]\" > input"
at_fn_check_prepare_trace "json.at:212"
( $at_check_trace; printf %s "[-0, -0.0, 1e-9999, -1e-9999]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:212"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:212: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:212"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:212"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:212: cat stdout"
at_fn_check_prepare_trace "json.at:212"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[0,0,0,0]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:212"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_452
#AT_START_453
at_fn_group_banner 453 'json.at:217' \
  "reals - C" "                                      " 32
at_xfail=no
(
  $as_echo "453. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:217: printf %s \"[0.0, 1.0, 2.0, 3.0, 3.5, 81.250]\" > input"
at_fn_check_prepare_trace "json.at:217"
( $at_check_trace; printf %s "[0.0, 1.0, 2.0, 3.0, 3.5, 81.250]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:217"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:217: test-json  input"
at_fn_check_prepare_trace "json.at:217"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:217"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:217: cat stdout"
at_fn_check_prepare_trace "json.at:217"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[0,1,2,3,3.5,81.25]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:217"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_453
#AT_START_454
at_fn_group_banner 454 'json.at:217' \
  "reals - Python" "                                 " 32
at_xfail=no
(
  $as_echo "454. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:217" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:217"
   { set +x
$as_echo "$at_srcdir/json.at:217: printf %s \"[0.0, 1.0, 2.0, 3.0, 3.5, 81.250]\" > input"
at_fn_check_prepare_trace "json.at:217"
( $at_check_trace; printf %s "[0.0, 1.0, 2.0, 3.0, 3.5, 81.250]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:217"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:217: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:217"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:217"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:217: cat stdout"
at_fn_check_prepare_trace "json.at:217"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[0,1,2,3,3.5,81.25]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:217"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_454
#AT_START_455
at_fn_group_banner 455 'json.at:221' \
  "scientific notation - C" "                        " 32
at_xfail=no
(
  $as_echo "455. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:221: printf %s \"[1e3, 1E3, 2.5E2, 1e+3, 125e-3, 3.125e-2, 3125e-05, 1.525878906e-5]\" > input"
at_fn_check_prepare_trace "json.at:221"
( $at_check_trace; printf %s "[1e3, 1E3, 2.5E2, 1e+3, 125e-3, 3.125e-2, 3125e-05, 1.525878906e-5]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:221"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:221: test-json  input"
at_fn_check_prepare_trace "json.at:221"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:221"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:221: cat stdout"
at_fn_check_prepare_trace "json.at:221"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[1000,1000,250,1000,0.125,0.03125,0.03125,1.525878906e-05]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:221"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_455
#AT_START_456
at_fn_group_banner 456 'json.at:221' \
  "scientific notation - Python" "                   " 32
at_xfail=no
(
  $as_echo "456. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:221" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:221"
   { set +x
$as_echo "$at_srcdir/json.at:221: printf %s \"[1e3, 1E3, 2.5E2, 1e+3, 125e-3, 3.125e-2, 3125e-05, 1.525878906e-5]\" > input"
at_fn_check_prepare_trace "json.at:221"
( $at_check_trace; printf %s "[1e3, 1E3, 2.5E2, 1e+3, 125e-3, 3.125e-2, 3125e-05, 1.525878906e-5]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:221"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:221: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:221"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:221"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:221: cat stdout"
at_fn_check_prepare_trace "json.at:221"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[1000,1000,250,1000,0.125,0.03125,0.03125,1.525878906e-05]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:221"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_456
#AT_START_457
at_fn_group_banner 457 'json.at:228' \
  "+/- DBL_MAX - C" "                                " 32
at_xfail=no
(
  $as_echo "457. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:228: printf %s \"[1.7976931348623157e+308, -1.7976931348623157e+308]\" > input"
at_fn_check_prepare_trace "json.at:228"
( $at_check_trace; printf %s "[1.7976931348623157e+308, -1.7976931348623157e+308]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:228"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:228: test-json  input"
at_fn_check_prepare_trace "json.at:228"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:228"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:228: cat stdout"
at_fn_check_prepare_trace "json.at:228"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[1.79769313486232e+308,-1.79769313486232e+308]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:228"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_457
#AT_START_458
at_fn_group_banner 458 'json.at:228' \
  "+/- DBL_MAX - Python" "                           " 32
at_xfail=no
(
  $as_echo "458. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:228" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:228"
   { set +x
$as_echo "$at_srcdir/json.at:228: printf %s \"[1.7976931348623157e+308, -1.7976931348623157e+308]\" > input"
at_fn_check_prepare_trace "json.at:228"
( $at_check_trace; printf %s "[1.7976931348623157e+308, -1.7976931348623157e+308]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:228"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:228: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:228"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:228"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:228: cat stdout"
at_fn_check_prepare_trace "json.at:228"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[1.79769313486232e+308,-1.79769313486232e+308]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:228"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_458
#AT_START_459
at_fn_group_banner 459 'json.at:233' \
  "negative reals - C" "                             " 32
at_xfail=no
(
  $as_echo "459. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:233: printf %s \"[-0, -1.0, -2.0, -3.0, -3.5, -8.1250]\" > input"
at_fn_check_prepare_trace "json.at:233"
( $at_check_trace; printf %s "[-0, -1.0, -2.0, -3.0, -3.5, -8.1250]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:233"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:233: test-json  input"
at_fn_check_prepare_trace "json.at:233"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:233"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:233: cat stdout"
at_fn_check_prepare_trace "json.at:233"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[0,-1,-2,-3,-3.5,-8.125]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:233"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_459
#AT_START_460
at_fn_group_banner 460 'json.at:233' \
  "negative reals - Python" "                        " 32
at_xfail=no
(
  $as_echo "460. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:233" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:233"
   { set +x
$as_echo "$at_srcdir/json.at:233: printf %s \"[-0, -1.0, -2.0, -3.0, -3.5, -8.1250]\" > input"
at_fn_check_prepare_trace "json.at:233"
( $at_check_trace; printf %s "[-0, -1.0, -2.0, -3.0, -3.5, -8.1250]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:233"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:233: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:233"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:233"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:233: cat stdout"
at_fn_check_prepare_trace "json.at:233"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[0,-1,-2,-3,-3.5,-8.125]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:233"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_460
#AT_START_461
at_fn_group_banner 461 'json.at:237' \
  "negative scientific notation - C" "               " 32
at_xfail=no
(
  $as_echo "461. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:237: printf %s \"[-1e3, -1E3, -2.5E2, -1e+3, -125e-3, -3.125e-2, -3125e-05, -1.525878906e-5]\" > input"
at_fn_check_prepare_trace "json.at:237"
( $at_check_trace; printf %s "[-1e3, -1E3, -2.5E2, -1e+3, -125e-3, -3.125e-2, -3125e-05, -1.525878906e-5]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:237"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:237: test-json  input"
at_fn_check_prepare_trace "json.at:237"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:237"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:237: cat stdout"
at_fn_check_prepare_trace "json.at:237"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[-1000,-1000,-250,-1000,-0.125,-0.03125,-0.03125,-1.525878906e-05]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:237"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_461
#AT_START_462
at_fn_group_banner 462 'json.at:237' \
  "negative scientific notation - Python" "          " 32
at_xfail=no
(
  $as_echo "462. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:237" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:237"
   { set +x
$as_echo "$at_srcdir/json.at:237: printf %s \"[-1e3, -1E3, -2.5E2, -1e+3, -125e-3, -3.125e-2, -3125e-05, -1.525878906e-5]\" > input"
at_fn_check_prepare_trace "json.at:237"
( $at_check_trace; printf %s "[-1e3, -1E3, -2.5E2, -1e+3, -125e-3, -3.125e-2, -3125e-05, -1.525878906e-5]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:237"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:237: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:237"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:237"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:237: cat stdout"
at_fn_check_prepare_trace "json.at:237"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[-1000,-1000,-250,-1000,-0.125,-0.03125,-0.03125,-1.525878906e-05]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:237"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_462
#AT_START_463
at_fn_group_banner 463 'json.at:241' \
  "1e-9999 underflows to 0 - C" "                    " 32
at_xfail=no
(
  $as_echo "463. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:241: printf %s \"[1e-9999]\" > input"
at_fn_check_prepare_trace "json.at:241"
( $at_check_trace; printf %s "[1e-9999]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:241"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:241: test-json  input"
at_fn_check_prepare_trace "json.at:241"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:241"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:241: cat stdout"
at_fn_check_prepare_trace "json.at:241"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[0]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:241"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_463
#AT_START_464
at_fn_group_banner 464 'json.at:241' \
  "1e-9999 underflows to 0 - Python" "               " 32
at_xfail=no
(
  $as_echo "464. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:241" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:241"
   { set +x
$as_echo "$at_srcdir/json.at:241: printf %s \"[1e-9999]\" > input"
at_fn_check_prepare_trace "json.at:241"
( $at_check_trace; printf %s "[1e-9999]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:241"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:241: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:241"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:241"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:241: cat stdout"
at_fn_check_prepare_trace "json.at:241"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[0]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:241"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_464
#AT_START_465
at_fn_group_banner 465 'json.at:245' \
  "a number by itself is not valid JSON - C" "       " 32
at_xfail=no
(
  $as_echo "465. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:245: printf %s \"1\" > input"
at_fn_check_prepare_trace "json.at:245"
( $at_check_trace; printf %s "1" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:245"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:245: test-json  input"
at_fn_check_prepare_trace "json.at:245"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:245"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:245: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:245"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error at beginning of input
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:245"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_465
#AT_START_466
at_fn_group_banner 466 'json.at:245' \
  "a number by itself is not valid JSON - Python" "  " 32
at_xfail=no
(
  $as_echo "466. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:245" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:245"
   { set +x
$as_echo "$at_srcdir/json.at:245: printf %s \"1\" > input"
at_fn_check_prepare_trace "json.at:245"
( $at_check_trace; printf %s "1" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:245"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:245: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:245"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:245"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:245: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:245"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: syntax error at beginning of input
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:245"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_466
#AT_START_467
at_fn_group_banner 467 'json.at:247' \
  "leading zeros not allowed - C" "                  " 32
at_xfail=no
(
  $as_echo "467. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:247: printf %s \"[0123]\" > input"
at_fn_check_prepare_trace "json.at:247"
( $at_check_trace; printf %s "[0123]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:247"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:247: test-json  input"
at_fn_check_prepare_trace "json.at:247"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:247"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:247: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:247"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: leading zeros not allowed
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:247"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_467
#AT_START_468
at_fn_group_banner 468 'json.at:247' \
  "leading zeros not allowed - Python" "             " 32
at_xfail=no
(
  $as_echo "468. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:247" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:247"
   { set +x
$as_echo "$at_srcdir/json.at:247: printf %s \"[0123]\" > input"
at_fn_check_prepare_trace "json.at:247"
( $at_check_trace; printf %s "[0123]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:247"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:247: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:247"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:247"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:247: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:247"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: leading zeros not allowed
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:247"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_468
#AT_START_469
at_fn_group_banner 469 'json.at:251' \
  "1e9999 is too big - C" "                          " 32
at_xfail=no
(
  $as_echo "469. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:251: printf %s \"[1e9999]\" > input"
at_fn_check_prepare_trace "json.at:251"
( $at_check_trace; printf %s "[1e9999]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:251"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:251: test-json  input"
at_fn_check_prepare_trace "json.at:251"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:251"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:251: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:251"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: number outside valid range
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:251"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_469
#AT_START_470
at_fn_group_banner 470 'json.at:251' \
  "1e9999 is too big - Python" "                     " 32
at_xfail=no
(
  $as_echo "470. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:251" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:251"
   { set +x
$as_echo "$at_srcdir/json.at:251: printf %s \"[1e9999]\" > input"
at_fn_check_prepare_trace "json.at:251"
( $at_check_trace; printf %s "[1e9999]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:251"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:251: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:251"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:251"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:251: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:251"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: number outside valid range
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:251"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_470
#AT_START_471
at_fn_group_banner 471 'json.at:255' \
  "exponent bigger than INT_MAX - C" "               " 32
at_xfail=no
(
  $as_echo "471. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:255: printf %s \"[1e9999999999999999999]\" > input"
at_fn_check_prepare_trace "json.at:255"
( $at_check_trace; printf %s "[1e9999999999999999999]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:255"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:255: test-json  input"
at_fn_check_prepare_trace "json.at:255"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:255"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:255: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:255"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: exponent outside valid range
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:255"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_471
#AT_START_472
at_fn_group_banner 472 'json.at:255' \
  "exponent bigger than INT_MAX - Python" "          " 32
at_xfail=no
(
  $as_echo "472. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:255" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:255"
   { set +x
$as_echo "$at_srcdir/json.at:255: printf %s \"[1e9999999999999999999]\" > input"
at_fn_check_prepare_trace "json.at:255"
( $at_check_trace; printf %s "[1e9999999999999999999]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:255"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:255: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:255"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:255"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:255: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:255"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: exponent outside valid range
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:255"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_472
#AT_START_473
at_fn_group_banner 473 'json.at:259' \
  "decimal point must be followed by digit - C" "    " 32
at_xfail=no
(
  $as_echo "473. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:259: printf %s \"[1.]\" > input"
at_fn_check_prepare_trace "json.at:259"
( $at_check_trace; printf %s "[1.]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:259"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:259: test-json  input"
at_fn_check_prepare_trace "json.at:259"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:259"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:259: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:259"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: decimal point must be followed by digit
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:259"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_473
#AT_START_474
at_fn_group_banner 474 'json.at:259' \
  "decimal point must be followed by digit - Python" "" 32
at_xfail=no
(
  $as_echo "474. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:259" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:259"
   { set +x
$as_echo "$at_srcdir/json.at:259: printf %s \"[1.]\" > input"
at_fn_check_prepare_trace "json.at:259"
( $at_check_trace; printf %s "[1.]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:259"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:259: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:259"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:259"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:259: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:259"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: decimal point must be followed by digit
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:259"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_474
#AT_START_475
at_fn_group_banner 475 'json.at:263' \
  "exponent must contain at least one digit (1) - C" "" 32
at_xfail=no
(
  $as_echo "475. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:263: printf %s \"[1e]\" > input"
at_fn_check_prepare_trace "json.at:263"
( $at_check_trace; printf %s "[1e]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:263"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:263: test-json  input"
at_fn_check_prepare_trace "json.at:263"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:263"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:263: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:263"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: exponent must contain at least one digit
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:263"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_475
#AT_START_476
at_fn_group_banner 476 'json.at:263' \
  "exponent must contain at least one digit (1) - Python" "" 32
at_xfail=no
(
  $as_echo "476. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:263" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:263"
   { set +x
$as_echo "$at_srcdir/json.at:263: printf %s \"[1e]\" > input"
at_fn_check_prepare_trace "json.at:263"
( $at_check_trace; printf %s "[1e]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:263"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:263: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:263"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:263"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:263: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:263"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: exponent must contain at least one digit
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:263"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_476
#AT_START_477
at_fn_group_banner 477 'json.at:267' \
  "exponent must contain at least one digit (2) - C" "" 32
at_xfail=no
(
  $as_echo "477. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:267: printf %s \"[1e+]\" > input"
at_fn_check_prepare_trace "json.at:267"
( $at_check_trace; printf %s "[1e+]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:267"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:267: test-json  input"
at_fn_check_prepare_trace "json.at:267"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:267"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:267: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:267"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: exponent must contain at least one digit
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:267"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_477
#AT_START_478
at_fn_group_banner 478 'json.at:267' \
  "exponent must contain at least one digit (2) - Python" "" 32
at_xfail=no
(
  $as_echo "478. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:267" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:267"
   { set +x
$as_echo "$at_srcdir/json.at:267: printf %s \"[1e+]\" > input"
at_fn_check_prepare_trace "json.at:267"
( $at_check_trace; printf %s "[1e+]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:267"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:267: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:267"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:267"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:267: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:267"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: exponent must contain at least one digit
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:267"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_478
#AT_START_479
at_fn_group_banner 479 'json.at:271' \
  "exponent must contain at least one digit (3) - C" "" 32
at_xfail=no
(
  $as_echo "479. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:271: printf %s \"[1e-]\" > input"
at_fn_check_prepare_trace "json.at:271"
( $at_check_trace; printf %s "[1e-]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:271"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:271: test-json  input"
at_fn_check_prepare_trace "json.at:271"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:271"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:271: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:271"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: exponent must contain at least one digit
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:271"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_479
#AT_START_480
at_fn_group_banner 480 'json.at:271' \
  "exponent must contain at least one digit (3) - Python" "" 32
at_xfail=no
(
  $as_echo "480. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:271" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:271"
   { set +x
$as_echo "$at_srcdir/json.at:271: printf %s \"[1e-]\" > input"
at_fn_check_prepare_trace "json.at:271"
( $at_check_trace; printf %s "[1e-]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:271"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:271: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:271"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:271"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:271: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:271"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: exponent must contain at least one digit
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:271"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_480
#AT_START_481
at_fn_group_banner 481 'json.at:278' \
  "RFC 4267 object example - C" "                    " 33
at_xfail=no
(
  $as_echo "481. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:278: printf %s \"{
   \\\"Image\\\": {
       \\\"Width\\\":  800,
       \\\"Height\\\": 600,
       \\\"Title\\\":  \\\"View from 15th Floor\\\",
       \\\"Thumbnail\\\": {
           \\\"Url\\\":    \\\"http://www.example.com/image/481989943\\\",
           \\\"Height\\\": 125,
           \\\"Width\\\":  \\\"100\\\"
       },
       \\\"IDs\\\": [116, 943, 234, 38793]
     }
}\" > input"
at_fn_check_prepare_notrace 'an embedded newline' "json.at:278"
( $at_check_trace; printf %s "{
   \"Image\": {
       \"Width\":  800,
       \"Height\": 600,
       \"Title\":  \"View from 15th Floor\",
       \"Thumbnail\": {
           \"Url\":    \"http://www.example.com/image/481989943\",
           \"Height\": 125,
           \"Width\":  \"100\"
       },
       \"IDs\": [116, 943, 234, 38793]
     }
}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:278"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:278: test-json  input"
at_fn_check_prepare_trace "json.at:278"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:278"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:278: cat stdout"
at_fn_check_prepare_trace "json.at:278"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"Image\":{\"Height\":600,\"IDs\":[116,943,234,38793],\"Thumbnail\":{\"Height\":125,\"Url\":\"http://www.example.com/image/481989943\",\"Width\":\"100\"},\"Title\":\"View from 15th Floor\",\"Width\":800}}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:278"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_481
#AT_START_482
at_fn_group_banner 482 'json.at:278' \
  "RFC 4267 object example - Python" "               " 33
at_xfail=no
(
  $as_echo "482. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:278" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:278"
   { set +x
$as_echo "$at_srcdir/json.at:278: printf %s \"{
   \\\"Image\\\": {
       \\\"Width\\\":  800,
       \\\"Height\\\": 600,
       \\\"Title\\\":  \\\"View from 15th Floor\\\",
       \\\"Thumbnail\\\": {
           \\\"Url\\\":    \\\"http://www.example.com/image/481989943\\\",
           \\\"Height\\\": 125,
           \\\"Width\\\":  \\\"100\\\"
       },
       \\\"IDs\\\": [116, 943, 234, 38793]
     }
}\" > input"
at_fn_check_prepare_notrace 'an embedded newline' "json.at:278"
( $at_check_trace; printf %s "{
   \"Image\": {
       \"Width\":  800,
       \"Height\": 600,
       \"Title\":  \"View from 15th Floor\",
       \"Thumbnail\": {
           \"Url\":    \"http://www.example.com/image/481989943\",
           \"Height\": 125,
           \"Width\":  \"100\"
       },
       \"IDs\": [116, 943, 234, 38793]
     }
}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:278"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:278: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:278"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:278"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:278: cat stdout"
at_fn_check_prepare_trace "json.at:278"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"Image\":{\"Height\":600,\"IDs\":[116,943,234,38793],\"Thumbnail\":{\"Height\":125,\"Url\":\"http://www.example.com/image/481989943\",\"Width\":\"100\"},\"Title\":\"View from 15th Floor\",\"Width\":800}}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:278"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_482
#AT_START_483
at_fn_group_banner 483 'json.at:294' \
  "RFC 4267 array example - C" "                     " 33
at_xfail=no
(
  $as_echo "483. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:294: printf %s \"[
   {
      \\\"precision\\\": \\\"zip\\\",
      \\\"Latitude\\\":  37.7668,
      \\\"Longitude\\\": -122.3959,
      \\\"Address\\\":   \\\"\\\",
      \\\"City\\\":      \\\"SAN FRANCISCO\\\",
      \\\"State\\\":     \\\"CA\\\",
      \\\"Zip\\\":       \\\"94107\\\",
      \\\"Country\\\":   \\\"US\\\"
   },
   {
      \\\"precision\\\": \\\"zip\\\",
      \\\"Latitude\\\":  37.371991,
      \\\"Longitude\\\": -122.026020,
      \\\"Address\\\":   \\\"\\\",
      \\\"City\\\":      \\\"SUNNYVALE\\\",
      \\\"State\\\":     \\\"CA\\\",
      \\\"Zip\\\":       \\\"94085\\\",
      \\\"Country\\\":   \\\"US\\\"
   }
]\" > input"
at_fn_check_prepare_notrace 'an embedded newline' "json.at:294"
( $at_check_trace; printf %s "[
   {
      \"precision\": \"zip\",
      \"Latitude\":  37.7668,
      \"Longitude\": -122.3959,
      \"Address\":   \"\",
      \"City\":      \"SAN FRANCISCO\",
      \"State\":     \"CA\",
      \"Zip\":       \"94107\",
      \"Country\":   \"US\"
   },
   {
      \"precision\": \"zip\",
      \"Latitude\":  37.371991,
      \"Longitude\": -122.026020,
      \"Address\":   \"\",
      \"City\":      \"SUNNYVALE\",
      \"State\":     \"CA\",
      \"Zip\":       \"94085\",
      \"Country\":   \"US\"
   }
]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:294"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:294: test-json  input"
at_fn_check_prepare_trace "json.at:294"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:294"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:294: cat stdout"
at_fn_check_prepare_trace "json.at:294"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"Address\":\"\",\"City\":\"SAN FRANCISCO\",\"Country\":\"US\",\"Latitude\":37.7668,\"Longitude\":-122.3959,\"State\":\"CA\",\"Zip\":\"94107\",\"precision\":\"zip\"},{\"Address\":\"\",\"City\":\"SUNNYVALE\",\"Country\":\"US\",\"Latitude\":37.371991,\"Longitude\":-122.02602,\"State\":\"CA\",\"Zip\":\"94085\",\"precision\":\"zip\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:294"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_483
#AT_START_484
at_fn_group_banner 484 'json.at:294' \
  "RFC 4267 array example - Python" "                " 33
at_xfail=no
(
  $as_echo "484. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:294" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:294"
   { set +x
$as_echo "$at_srcdir/json.at:294: printf %s \"[
   {
      \\\"precision\\\": \\\"zip\\\",
      \\\"Latitude\\\":  37.7668,
      \\\"Longitude\\\": -122.3959,
      \\\"Address\\\":   \\\"\\\",
      \\\"City\\\":      \\\"SAN FRANCISCO\\\",
      \\\"State\\\":     \\\"CA\\\",
      \\\"Zip\\\":       \\\"94107\\\",
      \\\"Country\\\":   \\\"US\\\"
   },
   {
      \\\"precision\\\": \\\"zip\\\",
      \\\"Latitude\\\":  37.371991,
      \\\"Longitude\\\": -122.026020,
      \\\"Address\\\":   \\\"\\\",
      \\\"City\\\":      \\\"SUNNYVALE\\\",
      \\\"State\\\":     \\\"CA\\\",
      \\\"Zip\\\":       \\\"94085\\\",
      \\\"Country\\\":   \\\"US\\\"
   }
]\" > input"
at_fn_check_prepare_notrace 'an embedded newline' "json.at:294"
( $at_check_trace; printf %s "[
   {
      \"precision\": \"zip\",
      \"Latitude\":  37.7668,
      \"Longitude\": -122.3959,
      \"Address\":   \"\",
      \"City\":      \"SAN FRANCISCO\",
      \"State\":     \"CA\",
      \"Zip\":       \"94107\",
      \"Country\":   \"US\"
   },
   {
      \"precision\": \"zip\",
      \"Latitude\":  37.371991,
      \"Longitude\": -122.026020,
      \"Address\":   \"\",
      \"City\":      \"SUNNYVALE\",
      \"State\":     \"CA\",
      \"Zip\":       \"94085\",
      \"Country\":   \"US\"
   }
]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:294"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:294: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:294"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:294"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:294: cat stdout"
at_fn_check_prepare_trace "json.at:294"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"Address\":\"\",\"City\":\"SAN FRANCISCO\",\"Country\":\"US\",\"Latitude\":37.7668,\"Longitude\":-122.3959,\"State\":\"CA\",\"Zip\":\"94107\",\"precision\":\"zip\"},{\"Address\":\"\",\"City\":\"SUNNYVALE\",\"Country\":\"US\",\"Latitude\":37.371991,\"Longitude\":-122.02602,\"State\":\"CA\",\"Zip\":\"94085\",\"precision\":\"zip\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:294"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_484
#AT_START_485
at_fn_group_banner 485 'json.at:321' \
  "trailing garbage - C" "                           " 34
at_xfail=no
(
  $as_echo "485. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:321: printf %s \"[1]null\" > input"
at_fn_check_prepare_trace "json.at:321"
( $at_check_trace; printf %s "[1]null" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:321"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:321: test-json  input"
at_fn_check_prepare_trace "json.at:321"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:321"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:321: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:321"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: trailing garbage at end of input
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:321"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_485
#AT_START_486
at_fn_group_banner 486 'json.at:321' \
  "trailing garbage - Python" "                      " 34
at_xfail=no
(
  $as_echo "486. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:321" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:321"
   { set +x
$as_echo "$at_srcdir/json.at:321: printf %s \"[1]null\" > input"
at_fn_check_prepare_trace "json.at:321"
( $at_check_trace; printf %s "[1]null" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:321"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:321: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:321"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:321"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:321: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:321"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: trailing garbage at end of input
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:321"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_486
#AT_START_487
at_fn_group_banner 487 'json.at:323' \
  "formfeeds are not valid white space - C" "        " 34
at_xfail=no
(
  $as_echo "487. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:323: printf %s \"[]\" > input"
at_fn_check_prepare_trace "json.at:323"
( $at_check_trace; printf %s "[]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:323"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:323: test-json  input"
at_fn_check_prepare_trace "json.at:323"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:323"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:323: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:323"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: invalid character U+000c
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:323"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_487
#AT_START_488
at_fn_group_banner 488 'json.at:323' \
  "formfeeds are not valid white space - Python" "   " 34
at_xfail=no
(
  $as_echo "488. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:323" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:323"
   { set +x
$as_echo "$at_srcdir/json.at:323: printf %s \"[]\" > input"
at_fn_check_prepare_trace "json.at:323"
( $at_check_trace; printf %s "[]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:323"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:323: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:323"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:323"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:323: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:323"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: invalid character U+000c
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:323"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_488
#AT_START_489
at_fn_group_banner 489 'json.at:325' \
  "';' is not a valid token - C" "                   " 34
at_xfail=no
(
  $as_echo "489. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:325: printf %s \";\" > input"
at_fn_check_prepare_trace "json.at:325"
( $at_check_trace; printf %s ";" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:325"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:325: test-json  input"
at_fn_check_prepare_trace "json.at:325"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:325"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:325: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:325"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: invalid character ';'
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:325"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_489
#AT_START_490
at_fn_group_banner 490 'json.at:325' \
  "';' is not a valid token - Python" "              " 34
at_xfail=no
(
  $as_echo "490. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:325" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:325"
   { set +x
$as_echo "$at_srcdir/json.at:325: printf %s \";\" > input"
at_fn_check_prepare_trace "json.at:325"
( $at_check_trace; printf %s ";" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:325"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:325: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:325"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:325"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:325: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:325"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: invalid character ';'
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:325"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_490
#AT_START_491
at_fn_group_banner 491 'json.at:327' \
  "arrays nesting too deep - C" "                    " 34
at_xfail=no
(
  $as_echo "491. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:327: printf %s \"[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[                     ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\" > input"
at_fn_check_prepare_trace "json.at:327"
( $at_check_trace; printf %s "[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[                     ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:327"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:327: test-json  input"
at_fn_check_prepare_trace "json.at:327"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:327"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:327: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:327"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: input exceeds maximum nesting depth 1000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:327"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_491
#AT_START_492
at_fn_group_banner 492 'json.at:327' \
  "arrays nesting too deep - Python" "               " 34
at_xfail=no
(
  $as_echo "492. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:327" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:327"
   { set +x
$as_echo "$at_srcdir/json.at:327: printf %s \"[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[                     ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\" > input"
at_fn_check_prepare_trace "json.at:327"
( $at_check_trace; printf %s "[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[                     ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:327"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:327: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:327"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:327"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:327: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:327"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: input exceeds maximum nesting depth 1000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:327"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_492
#AT_START_493
at_fn_group_banner 493 'json.at:331' \
  "objects nesting too deep - C" "                   " 34
at_xfail=no
(
  $as_echo "493. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:331: printf %s \"{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":                     }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}\" > input"
at_fn_check_prepare_trace "json.at:331"
( $at_check_trace; printf %s "{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":                     }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:331"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:331: test-json  input"
at_fn_check_prepare_trace "json.at:331"
( $at_check_trace; test-json  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:331"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:331: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:331"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: input exceeds maximum nesting depth 1000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:331"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_493
#AT_START_494
at_fn_group_banner 494 'json.at:331' \
  "objects nesting too deep - Python" "              " 34
at_xfail=no
(
  $as_echo "494. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:331" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:331"
   { set +x
$as_echo "$at_srcdir/json.at:331: printf %s \"{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":{\\\"x\\\":                     }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}\" > input"
at_fn_check_prepare_trace "json.at:331"
( $at_check_trace; printf %s "{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":{\"x\":                     }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:331"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:331: \$PYTHON \$srcdir/test-json.py  input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py  input" "json.at:331"
( $at_check_trace; $PYTHON $srcdir/test-json.py  input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:331"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:331: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:331"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: input exceeds maximum nesting depth 1000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:331"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_494
#AT_START_495
at_fn_group_banner 495 'json.at:336' \
  "input may not be empty" "                         " 34
at_xfail=no
(
  $as_echo "495. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/json.at:338: test-json /dev/null"
at_fn_check_prepare_trace "json.at:338"
( $at_check_trace; test-json /dev/null
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "error: line 0, column 0, byte 0: empty input stream
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/json.at:338"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_495
#AT_START_496
at_fn_group_banner 496 'json.at:344' \
  "multiple adjacent objects - C" "                  " 35
at_xfail=no
(
  $as_echo "496. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:344: printf %s \"{}{}{}\" > input"
at_fn_check_prepare_trace "json.at:344"
( $at_check_trace; printf %s "{}{}{}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:344"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:344: test-json --multiple input"
at_fn_check_prepare_trace "json.at:344"
( $at_check_trace; test-json --multiple input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:344"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:344: cat stdout"
at_fn_check_prepare_trace "json.at:344"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{}
{}
{}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:344"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_496
#AT_START_497
at_fn_group_banner 497 'json.at:344' \
  "multiple adjacent objects - Python" "             " 35
at_xfail=no
(
  $as_echo "497. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:344" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:344"
   { set +x
$as_echo "$at_srcdir/json.at:344: printf %s \"{}{}{}\" > input"
at_fn_check_prepare_trace "json.at:344"
( $at_check_trace; printf %s "{}{}{}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:344"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:344: \$PYTHON \$srcdir/test-json.py --multiple input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py --multiple input" "json.at:344"
( $at_check_trace; $PYTHON $srcdir/test-json.py --multiple input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:344"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:344: cat stdout"
at_fn_check_prepare_trace "json.at:344"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{}
{}
{}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:344"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_497
#AT_START_498
at_fn_group_banner 498 'json.at:349' \
  "multiple space-separated objects - C" "           " 35
at_xfail=no
(
  $as_echo "498. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:349: printf %s \"{}  {}  {}\" > input"
at_fn_check_prepare_trace "json.at:349"
( $at_check_trace; printf %s "{}  {}  {}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:349"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:349: test-json --multiple input"
at_fn_check_prepare_trace "json.at:349"
( $at_check_trace; test-json --multiple input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:349"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:349: cat stdout"
at_fn_check_prepare_trace "json.at:349"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{}
{}
{}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:349"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_498
#AT_START_499
at_fn_group_banner 499 'json.at:349' \
  "multiple space-separated objects - Python" "      " 35
at_xfail=no
(
  $as_echo "499. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:349" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:349"
   { set +x
$as_echo "$at_srcdir/json.at:349: printf %s \"{}  {}  {}\" > input"
at_fn_check_prepare_trace "json.at:349"
( $at_check_trace; printf %s "{}  {}  {}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:349"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:349: \$PYTHON \$srcdir/test-json.py --multiple input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py --multiple input" "json.at:349"
( $at_check_trace; $PYTHON $srcdir/test-json.py --multiple input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:349"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:349: cat stdout"
at_fn_check_prepare_trace "json.at:349"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{}
{}
{}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:349"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_499
#AT_START_500
at_fn_group_banner 500 'json.at:354' \
  "multiple objects on separate lines - C" "         " 35
at_xfail=no
(
  $as_echo "500. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:354: printf %s \"{}
{}
{}\" > input"
at_fn_check_prepare_notrace 'an embedded newline' "json.at:354"
( $at_check_trace; printf %s "{}
{}
{}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:354"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:354: test-json --multiple input"
at_fn_check_prepare_trace "json.at:354"
( $at_check_trace; test-json --multiple input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:354"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:354: cat stdout"
at_fn_check_prepare_trace "json.at:354"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{}
{}
{}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:354"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_500
#AT_START_501
at_fn_group_banner 501 'json.at:354' \
  "multiple objects on separate lines - Python" "    " 35
at_xfail=no
(
  $as_echo "501. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:354" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:354"
   { set +x
$as_echo "$at_srcdir/json.at:354: printf %s \"{}
{}
{}\" > input"
at_fn_check_prepare_notrace 'an embedded newline' "json.at:354"
( $at_check_trace; printf %s "{}
{}
{}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:354"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:354: \$PYTHON \$srcdir/test-json.py --multiple input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py --multiple input" "json.at:354"
( $at_check_trace; $PYTHON $srcdir/test-json.py --multiple input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:354"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:354: cat stdout"
at_fn_check_prepare_trace "json.at:354"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{}
{}
{}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:354"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_501
#AT_START_502
at_fn_group_banner 502 'json.at:361' \
  "multiple objects and arrays - C" "                " 35
at_xfail=no
(
  $as_echo "502. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:361: printf %s \"{}[]{}[]\" > input"
at_fn_check_prepare_trace "json.at:361"
( $at_check_trace; printf %s "{}[]{}[]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:361"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:361: test-json --multiple input"
at_fn_check_prepare_trace "json.at:361"
( $at_check_trace; test-json --multiple input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:361"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:361: cat stdout"
at_fn_check_prepare_trace "json.at:361"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{}
[]
{}
[]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:361"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_502
#AT_START_503
at_fn_group_banner 503 'json.at:361' \
  "multiple objects and arrays - Python" "           " 35
at_xfail=no
(
  $as_echo "503. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:361" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:361"
   { set +x
$as_echo "$at_srcdir/json.at:361: printf %s \"{}[]{}[]\" > input"
at_fn_check_prepare_trace "json.at:361"
( $at_check_trace; printf %s "{}[]{}[]" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:361"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:361: \$PYTHON \$srcdir/test-json.py --multiple input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py --multiple input" "json.at:361"
( $at_check_trace; $PYTHON $srcdir/test-json.py --multiple input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/json.at:361"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:361: cat stdout"
at_fn_check_prepare_trace "json.at:361"
( $at_check_trace; cat stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{}
[]
{}
[]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:361"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_503
#AT_START_504
at_fn_group_banner 504 'json.at:367' \
  "garbage between multiple objects - C" "           " 35
at_xfail=no
(
  $as_echo "504. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:367: printf %s \"{}x{}\" > input"
at_fn_check_prepare_trace "json.at:367"
( $at_check_trace; printf %s "{}x{}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:367"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:367: test-json --multiple input"
at_fn_check_prepare_trace "json.at:367"
( $at_check_trace; test-json --multiple input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:367"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:367: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:367"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{}
error: invalid keyword 'x'
{}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:367"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_504
#AT_START_505
at_fn_group_banner 505 'json.at:367' \
  "garbage between multiple objects - Python" "      " 35
at_xfail=no
(
  $as_echo "505. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:367" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:367"
   { set +x
$as_echo "$at_srcdir/json.at:367: printf %s \"{}x{}\" > input"
at_fn_check_prepare_trace "json.at:367"
( $at_check_trace; printf %s "{}x{}" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:367"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:367: \$PYTHON \$srcdir/test-json.py --multiple input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py --multiple input" "json.at:367"
( $at_check_trace; $PYTHON $srcdir/test-json.py --multiple input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:367"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:367: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:367"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{}
error: invalid keyword 'x'
{}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:367"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_505
#AT_START_506
at_fn_group_banner 506 'json.at:371' \
  "garbage after multiple objects - C" "             " 35
at_xfail=no
(
  $as_echo "506. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/json.at:371: printf %s \"{}{}x\" > input"
at_fn_check_prepare_trace "json.at:371"
( $at_check_trace; printf %s "{}{}x" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:371"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:371: test-json --multiple input"
at_fn_check_prepare_trace "json.at:371"
( $at_check_trace; test-json --multiple input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:371"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:371: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:371"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{}
{}
error: invalid keyword 'x'
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:371"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_506
#AT_START_507
at_fn_group_banner 507 'json.at:371' \
  "garbage after multiple objects - Python" "        " 35
at_xfail=no
(
  $as_echo "507. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "json.at:371" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/json.at:371"
   { set +x
$as_echo "$at_srcdir/json.at:371: printf %s \"{}{}x\" > input"
at_fn_check_prepare_trace "json.at:371"
( $at_check_trace; printf %s "{}{}x" > input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:371"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/json.at:371: \$PYTHON \$srcdir/test-json.py --multiple input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-json.py --multiple input" "json.at:371"
( $at_check_trace; $PYTHON $srcdir/test-json.py --multiple input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/json.at:371"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/json.at:371: sed 's/^error: [^:]*:/error:/' < stdout"
at_fn_check_prepare_trace "json.at:371"
( $at_check_trace; sed 's/^error: [^:]*:/error:/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{}
{}
error: invalid keyword 'x'
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/json.at:371"
$at_failed && at_fn_log_failure  \
"input"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_507
#AT_START_508
at_fn_group_banner 508 'jsonrpc.at:3' \
  "JSON-RPC request and successful reply" "          " 36
at_xfail=no
(
  $as_echo "508. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
{ set +x
$as_echo "$at_srcdir/jsonrpc.at:5: test-jsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/pid listen punix:socket"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc.at:5"
( $at_check_trace; test-jsonrpc --detach --no-chdir --pidfile="`pwd`"/pid listen punix:socket
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:5"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc.at:6: test -s pid"
at_fn_check_prepare_trace "jsonrpc.at:6"
( $at_check_trace; test -s pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:6"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc.at:7: kill -0 \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc.at:7"
( $at_check_trace; kill -0 `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:7"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc.at:8: test-jsonrpc request unix:socket echo '[{\"a\": \"b\", \"x\": null}]'"
at_fn_check_prepare_trace "jsonrpc.at:8"
( $at_check_trace; test-jsonrpc request unix:socket echo '[{"a": "b", "x": null}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"error\":null,\"id\":0,\"result\":[{\"a\":\"b\",\"x\":null}]}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:8"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc.at:12: kill \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc.at:12"
( $at_check_trace; kill `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:12"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_508
#AT_START_509
at_fn_group_banner 509 'jsonrpc.at:15' \
  "JSON-RPC request and error reply" "               " 36
at_xfail=no
(
  $as_echo "509. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
{ set +x
$as_echo "$at_srcdir/jsonrpc.at:17: test-jsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/pid listen punix:socket"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc.at:17"
( $at_check_trace; test-jsonrpc --detach --no-chdir --pidfile="`pwd`"/pid listen punix:socket
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:17"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc.at:18: test -s pid"
at_fn_check_prepare_trace "jsonrpc.at:18"
( $at_check_trace; test -s pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:18"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc.at:19: kill -0 \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc.at:19"
( $at_check_trace; kill -0 `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:19"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc.at:20: test-jsonrpc request unix:socket bad-request '[]'"
at_fn_check_prepare_trace "jsonrpc.at:20"
( $at_check_trace; test-jsonrpc request unix:socket bad-request '[]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"error\":{\"error\":\"unknown method\"},\"id\":0,\"result\":null}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:20"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc.at:24: kill \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc.at:24"
( $at_check_trace; kill `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:24"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_509
#AT_START_510
at_fn_group_banner 510 'jsonrpc.at:27' \
  "JSON-RPC notification" "                          " 36
at_xfail=no
(
  $as_echo "510. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
{ set +x
$as_echo "$at_srcdir/jsonrpc.at:29: test-jsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/pid listen punix:socket"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc.at:29"
( $at_check_trace; test-jsonrpc --detach --no-chdir --pidfile="`pwd`"/pid listen punix:socket
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:29"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc.at:30: test -s pid"
at_fn_check_prepare_trace "jsonrpc.at:30"
( $at_check_trace; test -s pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

# When a daemon dies it deletes its pidfile, so make a copy.
{ set +x
$as_echo "$at_srcdir/jsonrpc.at:32: cp pid pid2"
at_fn_check_prepare_trace "jsonrpc.at:32"
( $at_check_trace; cp pid pid2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:32"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc.at:33: kill -0 \`cat pid2\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc.at:33"
( $at_check_trace; kill -0 `cat pid2`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:33"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc.at:34: test-jsonrpc notify unix:socket shutdown '[]'"
at_fn_check_prepare_trace "jsonrpc.at:34"
( $at_check_trace; test-jsonrpc notify unix:socket shutdown '[]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:34"
if $at_failed; then :
  kill `cat pid2`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc.at:36: pid=\`cat pid2\`
   # First try a quick sleep, so that the test completes very quickly
   # in the normal case.  POSIX doesn't require fractional times to
   # work, so this might not work.
   sleep 0.1; if kill -0 \$pid; then :; else echo success; exit 0; fi
   # Then wait up to 2 seconds.
   sleep 1; if kill -0 \$pid; then :; else echo success; exit 0; fi
   sleep 1; if kill -0 \$pid; then :; else echo success; exit 0; fi
   echo failure; exit 1"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc.at:36"
( $at_check_trace; pid=`cat pid2`
   # First try a quick sleep, so that the test completes very quickly
   # in the normal case.  POSIX doesn't require fractional times to
   # work, so this might not work.
   sleep 0.1; if kill -0 $pid; then :; else echo success; exit 0; fi
   # Then wait up to 2 seconds.
   sleep 1; if kill -0 $pid; then :; else echo success; exit 0; fi
   sleep 1; if kill -0 $pid; then :; else echo success; exit 0; fi
   echo failure; exit 1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "success
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:36"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc.at:47: test ! -e pid"
at_fn_check_prepare_trace "jsonrpc.at:47"
( $at_check_trace; test ! -e pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc.at:47"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_510
#AT_START_511
at_fn_group_banner 511 'jsonrpc-py.at:3' \
  "JSON-RPC request and successful reply - Python" " " 37
at_xfail=no
(
  $as_echo "511. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "jsonrpc-py.at:4" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/jsonrpc-py.at:4"
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:6: \$PYTHON \$srcdir/test-jsonrpc.py --detach --pidfile=\`pwd\`/pid listen punix:socket"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc-py.at:6"
( $at_check_trace; $PYTHON $srcdir/test-jsonrpc.py --detach --pidfile=`pwd`/pid listen punix:socket
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:6"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:7: test -s pid"
at_fn_check_prepare_trace "jsonrpc-py.at:7"
( $at_check_trace; test -s pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:7"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:8: kill -0 \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc-py.at:8"
( $at_check_trace; kill -0 `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:8"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:9: \$PYTHON \$srcdir/test-jsonrpc.py request unix:socket echo '[{\"a\": \"b\", \"x\": null}]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-jsonrpc.py request unix:socket echo '[{\"a\": \"b\", \"x\": null}]'" "jsonrpc-py.at:9"
( $at_check_trace; $PYTHON $srcdir/test-jsonrpc.py request unix:socket echo '[{"a": "b", "x": null}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"error\":null,\"id\":0,\"result\":[{\"a\":\"b\",\"x\":null}]}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:9"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:13: kill \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc-py.at:13"
( $at_check_trace; kill `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:13"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_511
#AT_START_512
at_fn_group_banner 512 'jsonrpc-py.at:16' \
  "JSON-RPC request and error reply - Python" "      " 37
at_xfail=no
(
  $as_echo "512. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "jsonrpc-py.at:17" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/jsonrpc-py.at:17"
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:19: \$PYTHON \$srcdir/test-jsonrpc.py --detach --pidfile=\`pwd\`/pid listen punix:socket"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc-py.at:19"
( $at_check_trace; $PYTHON $srcdir/test-jsonrpc.py --detach --pidfile=`pwd`/pid listen punix:socket
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:19"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:20: test -s pid"
at_fn_check_prepare_trace "jsonrpc-py.at:20"
( $at_check_trace; test -s pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:21: kill -0 \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc-py.at:21"
( $at_check_trace; kill -0 `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:21"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:22: \$PYTHON \$srcdir/test-jsonrpc.py request unix:socket bad-request '[]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-jsonrpc.py request unix:socket bad-request '[]'" "jsonrpc-py.at:22"
( $at_check_trace; $PYTHON $srcdir/test-jsonrpc.py request unix:socket bad-request '[]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"error\":{\"error\":\"unknown method\"},\"id\":0,\"result\":null}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:22"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:26: kill \`cat pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc-py.at:26"
( $at_check_trace; kill `cat pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:26"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_512
#AT_START_513
at_fn_group_banner 513 'jsonrpc-py.at:29' \
  "JSON-RPC notification - Python" "                 " 37
at_xfail=no
(
  $as_echo "513. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "jsonrpc-py.at:30" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/jsonrpc-py.at:30"
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:32: \$PYTHON \$srcdir/test-jsonrpc.py --detach --pidfile=\`pwd\`/pid listen punix:socket"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc-py.at:32"
( $at_check_trace; $PYTHON $srcdir/test-jsonrpc.py --detach --pidfile=`pwd`/pid listen punix:socket
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:32"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:33: test -s pid"
at_fn_check_prepare_trace "jsonrpc-py.at:33"
( $at_check_trace; test -s pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:33"
$at_failed && at_fn_log_failure
$at_traceon; }

# When a daemon dies it deletes its pidfile, so make a copy.
{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:35: cp pid pid2"
at_fn_check_prepare_trace "jsonrpc-py.at:35"
( $at_check_trace; cp pid pid2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:35"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:36: kill -0 \`cat pid2\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc-py.at:36"
( $at_check_trace; kill -0 `cat pid2`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:36"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:37: \$PYTHON \$srcdir/test-jsonrpc.py notify unix:socket shutdown '[]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-jsonrpc.py notify unix:socket shutdown '[]'" "jsonrpc-py.at:37"
( $at_check_trace; $PYTHON $srcdir/test-jsonrpc.py notify unix:socket shutdown '[]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:37"
if $at_failed; then :
  kill `cat pid2`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:39: pid=\`cat pid2\`
   # First try a quick sleep, so that the test completes very quickly
   # in the normal case.  POSIX doesn't require fractional times to
   # work, so this might not work.
   sleep 0.1; if kill -0 \$pid; then :; else echo success; exit 0; fi
   # Then wait up to 2 seconds.
   sleep 1; if kill -0 \$pid; then :; else echo success; exit 0; fi
   sleep 1; if kill -0 \$pid; then :; else echo success; exit 0; fi
   echo failure; exit 1"
at_fn_check_prepare_notrace 'a `...` command substitution' "jsonrpc-py.at:39"
( $at_check_trace; pid=`cat pid2`
   # First try a quick sleep, so that the test completes very quickly
   # in the normal case.  POSIX doesn't require fractional times to
   # work, so this might not work.
   sleep 0.1; if kill -0 $pid; then :; else echo success; exit 0; fi
   # Then wait up to 2 seconds.
   sleep 1; if kill -0 $pid; then :; else echo success; exit 0; fi
   sleep 1; if kill -0 $pid; then :; else echo success; exit 0; fi
   echo failure; exit 1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "success
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/jsonrpc-py.at:50: test ! -e pid"
at_fn_check_prepare_trace "jsonrpc-py.at:50"
( $at_check_trace; test ! -e pid
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/jsonrpc-py.at:50"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_513
#AT_START_514
at_fn_group_banner 514 'timeval.at:3' \
  "check that time advances" "                       " 38
at_xfail=no
(
  $as_echo "514. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/timeval.at:5: test-timeval plain"
at_fn_check_prepare_trace "timeval.at:5"
( $at_check_trace; test-timeval plain
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/timeval.at:5"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_514
#AT_START_515
at_fn_group_banner 515 'timeval.at:8' \
  "check that time advances after daemonize()" "     " 38
at_xfail=no
(
  $as_echo "515. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/timeval.at:10: test-timeval daemon"
at_fn_check_prepare_trace "timeval.at:10"
( $at_check_trace; test-timeval daemon
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/timeval.at:10"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/timeval.at:11: # First try a quick sleep, so that the test completes very quickly
   # in the normal case.  POSIX doesn't require fractional times to
   # work, so this might not work.
   sleep 0.1; if test -e test-timeval.success; then echo success; exit 0; fi
   # Then wait up to 2 seconds.
   sleep 1; if test -e test-timeval.success; then echo success; exit 0; fi
   sleep 1; if test -e test-timeval.success; then echo success; exit 0; fi
   echo failure; exit 1"
at_fn_check_prepare_notrace 'an embedded newline' "timeval.at:11"
( $at_check_trace; # First try a quick sleep, so that the test completes very quickly
   # in the normal case.  POSIX doesn't require fractional times to
   # work, so this might not work.
   sleep 0.1; if test -e test-timeval.success; then echo success; exit 0; fi
   # Then wait up to 2 seconds.
   sleep 1; if test -e test-timeval.success; then echo success; exit 0; fi
   sleep 1; if test -e test-timeval.success; then echo success; exit 0; fi
   echo failure; exit 1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "success
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/timeval.at:11"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_515
#AT_START_516
at_fn_group_banner 516 'tunnel.at:3' \
  "tunnel - input" "                                 " 39
at_xfail=no
(
  $as_echo "516. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/tunnel.at:4: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "tunnel.at:4"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:4: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "tunnel.at:4"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:4: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:4"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/tunnel.at:4: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "tunnel.at:4"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:4: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "tunnel.at:4"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/tunnel.at:4: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:4"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:4: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=gre \\
                    options:remote_ip=1.1.1.1 ofport_request=1\\
                    -- add-port br0 p2 -- set Interface p2 type=gre \\
                    options:local_ip=2.2.2.2 options:remote_ip=1.1.1.1 \\
                    ofport_request=2 \\
                    -- add-port br0 p3 -- set Interface p3 type=gre \\
                    options:remote_ip=2.2.2.2 ofport_request=3 "
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:4"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=gre \
                    options:remote_ip=1.1.1.1 ofport_request=1\
                    -- add-port br0 p2 -- set Interface p2 type=gre \
                    options:local_ip=2.2.2.2 options:remote_ip=1.1.1.1 \
                    ofport_request=2 \
                    -- add-port br0 p3 -- set Interface p3 type=gre \
                    options:remote_ip=2.2.2.2 ofport_request=3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


cat >flows.txt <<'_ATEOF'
actions=IN_PORT
_ATEOF


{ set +x
$as_echo "$at_srcdir/tunnel.at:15: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "tunnel.at:15"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:15"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:17: ovs-appctl dpif/show | tail -n +5"
at_fn_check_prepare_notrace 'a shell pipeline' "tunnel.at:17"
( $at_check_trace; ovs-appctl dpif/show | tail -n +5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "		br0 65534/100: (dummy)
		p1 1/1: (gre: remote_ip=1.1.1.1)
		p2 2/1: (gre: local_ip=2.2.2.2, remote_ip=1.1.1.1)
		p3 3/1: (gre: remote_ip=2.2.2.2)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:17"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:25: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=1.2.3.4,tos=0x0,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:25"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=1.2.3.4,tos=0x0,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:25"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:26: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:26"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(tunnel(tun_id=0x0,src=0.0.0.0,dst=1.1.1.1,tos=0x0,ttl=64,flags(df))),1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:26"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:31: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:31"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:31"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:32: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:32"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(tunnel(tun_id=0x0,src=2.2.2.2,dst=1.1.1.1,tos=0x0,ttl=64,flags(df))),1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:32"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:37: ovs-vsctl set Interface p2 type=gre options:local_ip=2.2.2.3 \\
          options:df_default=false options:ttl=1 options:csum=true \\
          -- set Interface p3 type=gre64"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:37"
( $at_check_trace; ovs-vsctl set Interface p2 type=gre options:local_ip=2.2.2.3 \
          options:df_default=false options:ttl=1 options:csum=true \
          -- set Interface p3 type=gre64
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:37"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:40: ovs-appctl dpif/show | tail -n +5"
at_fn_check_prepare_notrace 'a shell pipeline' "tunnel.at:40"
( $at_check_trace; ovs-appctl dpif/show | tail -n +5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "		br0 65534/100: (dummy)
		p1 1/1: (gre: remote_ip=1.1.1.1)
		p2 2/1: (gre: csum=true, df_default=false, local_ip=2.2.2.3, remote_ip=1.1.1.1, ttl=1)
		p3 3/64: (gre64: remote_ip=2.2.2.2)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:40"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:46: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:46"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:46"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:47: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:47"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(tunnel(tun_id=0x0,src=0.0.0.0,dst=1.1.1.1,tos=0x0,ttl=64,flags(df))),1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:47"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:50: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.3,tos=0x0,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:50"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.3,tos=0x0,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:50"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:51: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:51"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(tunnel(tun_id=0x0,src=2.2.2.3,dst=1.1.1.1,tos=0x0,ttl=1,flags(csum))),1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:51"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:56: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=5.5.5.5,dst=6.6.6.6,tos=0x0,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:56"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=5.5.5.5,dst=6.6.6.6,tos=0x0,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "Invalid datapath flow
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 2 $at_status "$at_srcdir/tunnel.at:56"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:61: check_logs \"/receive tunnel port not found/d\""
at_fn_check_prepare_trace "tunnel.at:61"
( $at_check_trace; check_logs "/receive tunnel port not found/d"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:61"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:61: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "tunnel.at:61"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:61"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:61: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "tunnel.at:61"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:61"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_516
#AT_START_517
at_fn_group_banner 517 'tunnel.at:64' \
  "tunnel - ECN decapsulation" "                     " 39
at_xfail=no
(
  $as_echo "517. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/tunnel.at:65: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "tunnel.at:65"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:65"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:65: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "tunnel.at:65"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:65"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:65: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:65"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:65"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/tunnel.at:65: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "tunnel.at:65"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:65"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:65: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "tunnel.at:65"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:65"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/tunnel.at:65: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:65"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:65"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:65: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=gre \\
                    options:remote_ip=1.1.1.1 ofport_request=1 \\
                    -- add-port br0 p2 -- set Interface p2 type=dummy \\
                    ofport_request=2 "
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:65"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=gre \
                    options:remote_ip=1.1.1.1 ofport_request=1 \
                    -- add-port br0 p2 -- set Interface p2 type=dummy \
                    ofport_request=2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:65"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


cat >flows.txt <<'_ATEOF'
actions=2
_ATEOF


{ set +x
$as_echo "$at_srcdir/tunnel.at:73: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "tunnel.at:73"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:73"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:75: ovs-appctl dpif/show | tail -n +5"
at_fn_check_prepare_notrace 'a shell pipeline' "tunnel.at:75"
( $at_check_trace; ovs-appctl dpif/show | tail -n +5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "		br0 65534/100: (dummy)
		p1 1/1: (gre: remote_ip=1.1.1.1)
		p2 2/2: (dummy)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:75"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:82: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.2,tos=0x3,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=3,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:82"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.2,tos=0x3,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=3,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:82"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:83: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:83"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:83"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:88: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.2,tos=0x3,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=1,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:88"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.2,tos=0x3,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=1,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:88"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:89: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:89"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0x3,ttl=64,frag=no)),2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:89"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:94: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.2,tos=0x3,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=2,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:94"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.2,tos=0x3,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=2,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:94"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:95: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:95"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0x3,ttl=64,frag=no)),2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:95"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:100: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.2,tos=0x3,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:100"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.2,tos=0x3,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:100"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:101: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:101"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: drop
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:101"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:104: check_logs \"/dropping tunnel packet marked ECN CE but is not ECN capable/d\""
at_fn_check_prepare_trace "tunnel.at:104"
( $at_check_trace; check_logs "/dropping tunnel packet marked ECN CE but is not ECN capable/d"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:104"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:104: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "tunnel.at:104"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:104"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:104: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "tunnel.at:104"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:104"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_517
#AT_START_518
at_fn_group_banner 518 'tunnel.at:107' \
  "tunnel - output" "                                " 39
at_xfail=no
(
  $as_echo "518. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/tunnel.at:108: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "tunnel.at:108"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:108"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:108: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "tunnel.at:108"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:108"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:108: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:108"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:108"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/tunnel.at:108: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "tunnel.at:108"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:108: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "tunnel.at:108"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/tunnel.at:108: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:108"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:108: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=gre \\
                    options:remote_ip=1.1.1.1 options:local_ip=2.2.2.2 \\
                    options:key=5 ofport_request=1\\
                    -- add-port br0 p2 -- set Interface p2 type=dummy \\
                    ofport_request=2 ofport_request=2 "
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:108"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=gre \
                    options:remote_ip=1.1.1.1 options:local_ip=2.2.2.2 \
                    options:key=5 ofport_request=1\
                    -- add-port br0 p2 -- set Interface p2 type=dummy \
                    ofport_request=2 ofport_request=2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


cat >flows.txt <<'_ATEOF'
actions=output:1
_ATEOF


{ set +x
$as_echo "$at_srcdir/tunnel.at:117: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "tunnel.at:117"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:117"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:119: ovs-appctl dpif/show | tail -n +5"
at_fn_check_prepare_notrace 'a shell pipeline' "tunnel.at:119"
( $at_check_trace; ovs-appctl dpif/show | tail -n +5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "		br0 65534/100: (dummy)
		p1 1/1: (gre: key=5, local_ip=2.2.2.2, remote_ip=1.1.1.1)
		p2 2/2: (dummy)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:119"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:126: ovs-appctl ofproto/trace ovs-dummy 'in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=4,ttl=128,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:126"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=4,ttl=128,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:126"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:127: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:127"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(tunnel(tun_id=0x5,src=2.2.2.2,dst=1.1.1.1,tos=0x0,ttl=64,flags(df,key))),1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:127"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:132: ovs-appctl ofproto/trace ovs-dummy 'in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=1,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:132"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=1,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:132"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:133: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:133"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(tunnel(tun_id=0x5,src=2.2.2.2,dst=1.1.1.1,tos=0x1,ttl=64,flags(df,key))),1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:133"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:136: check_logs "
at_fn_check_prepare_trace "tunnel.at:136"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:136"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:136: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "tunnel.at:136"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:136"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:136: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "tunnel.at:136"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:136"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_518
#AT_START_519
at_fn_group_banner 519 'tunnel.at:139' \
  "tunnel - ToS and TTL inheritance" "               " 39
at_xfail=no
(
  $as_echo "519. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/tunnel.at:140: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "tunnel.at:140"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:140"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:140: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "tunnel.at:140"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:140"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:140: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:140"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:140"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/tunnel.at:140: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "tunnel.at:140"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:140"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:140: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "tunnel.at:140"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:140"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/tunnel.at:140: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:140"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:140"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:140: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=gre \\
                    options:remote_ip=1.1.1.1 options:tos=inherit \\
                    options:ttl=inherit ofport_request=1 \\
                    -- add-port br0 p2 -- set Interface p2 type=dummy \\
                    ofport_request=2 ofport_request=2 "
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:140"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=gre \
                    options:remote_ip=1.1.1.1 options:tos=inherit \
                    options:ttl=inherit ofport_request=1 \
                    -- add-port br0 p2 -- set Interface p2 type=dummy \
                    ofport_request=2 ofport_request=2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:140"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


cat >flows.txt <<'_ATEOF'
actions=output:1
_ATEOF


{ set +x
$as_echo "$at_srcdir/tunnel.at:149: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "tunnel.at:149"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:149"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:151: ovs-appctl dpif/show | tail -n +5"
at_fn_check_prepare_notrace 'a shell pipeline' "tunnel.at:151"
( $at_check_trace; ovs-appctl dpif/show | tail -n +5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "		br0 65534/100: (dummy)
		p1 1/1: (gre: remote_ip=1.1.1.1, tos=inherit, ttl=inherit)
		p2 2/2: (dummy)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:151"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:158: ovs-appctl ofproto/trace ovs-dummy 'in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=4,ttl=128,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:158"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=4,ttl=128,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:158"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:159: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:159"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(tunnel(tun_id=0x0,src=0.0.0.0,dst=1.1.1.1,tos=0x4,ttl=128,flags(df))),1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:159"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:164: ovs-appctl ofproto/trace ovs-dummy 'in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=5,ttl=128,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:164"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=5,ttl=128,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:164"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:165: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:165"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(tunnel(tun_id=0x0,src=0.0.0.0,dst=1.1.1.1,tos=0x5,ttl=128,flags(df))),1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:165"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:170: ovs-appctl ofproto/trace ovs-dummy 'in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0806),arp(sip=1.2.3.4,tip=5.6.7.8,op=1,sha=00:0f:10:11:12:13,tha=00:14:15:16:17:18)'"
at_fn_check_prepare_trace "tunnel.at:170"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0806),arp(sip=1.2.3.4,tip=5.6.7.8,op=1,sha=00:0f:10:11:12:13,tha=00:14:15:16:17:18)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:170"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:171: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:171"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(tunnel(tun_id=0x0,src=0.0.0.0,dst=1.1.1.1,tos=0x0,ttl=64,flags(df))),1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:171"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:174: check_logs "
at_fn_check_prepare_trace "tunnel.at:174"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:174"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:174: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "tunnel.at:174"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:174"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:174: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "tunnel.at:174"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:174"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_519
#AT_START_520
at_fn_group_banner 520 'tunnel.at:177' \
  "tunnel - set_tunnel" "                            " 39
at_xfail=no
(
  $as_echo "520. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/tunnel.at:178: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "tunnel.at:178"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:178"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:178: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "tunnel.at:178"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:178"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:178: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:178"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:178"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/tunnel.at:178: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "tunnel.at:178"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:178"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:178: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "tunnel.at:178"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:178"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/tunnel.at:178: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:178"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:178"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:178: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --     add-port br0 p1 -- set Interface p1 type=gre options:key=flow \\
        options:remote_ip=1.1.1.1 ofport_request=1 \\
    -- add-port br0 p2 -- set Interface p2 type=gre options:key=flow \\
        options:remote_ip=2.2.2.2 ofport_request=2 \\
    -- add-port br0 p3 -- set Interface p3 type=gre options:key=flow \\
        options:remote_ip=3.3.3.3 ofport_request=3 \\
    -- add-port br0 p4 -- set Interface p4 type=gre options:key=flow \\
        options:remote_ip=4.4.4.4 ofport_request=4 "
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:178"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --     add-port br0 p1 -- set Interface p1 type=gre options:key=flow \
        options:remote_ip=1.1.1.1 ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=gre options:key=flow \
        options:remote_ip=2.2.2.2 ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=gre options:key=flow \
        options:remote_ip=3.3.3.3 ofport_request=3 \
    -- add-port br0 p4 -- set Interface p4 type=gre options:key=flow \
        options:remote_ip=4.4.4.4 ofport_request=4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:178"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


cat >flows.txt <<'_ATEOF'
actions=set_tunnel:1,output:1,set_tunnel:2,output:2,set_tunnel:3,output:3,set_tunnel:5,output:4
_ATEOF


{ set +x
$as_echo "$at_srcdir/tunnel.at:191: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "tunnel.at:191"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:191"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:193: ovs-appctl dpif/show | tail -n +5"
at_fn_check_prepare_notrace 'a shell pipeline' "tunnel.at:193"
( $at_check_trace; ovs-appctl dpif/show | tail -n +5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "		br0 65534/100: (dummy)
		p1 1/1: (gre: key=flow, remote_ip=1.1.1.1)
		p2 2/1: (gre: key=flow, remote_ip=2.2.2.2)
		p3 3/1: (gre: key=flow, remote_ip=3.3.3.3)
		p4 4/1: (gre: key=flow, remote_ip=4.4.4.4)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:193"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:201: ovs-appctl ofproto/trace ovs-dummy 'in_port(100),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "tunnel.at:201"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(100),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:201"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:202: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:202"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(tunnel(tun_id=0x1,src=0.0.0.0,dst=1.1.1.1,tos=0x0,ttl=64,flags(df,key))),1,set(tunnel(tun_id=0x2,src=0.0.0.0,dst=2.2.2.2,tos=0x0,ttl=64,flags(df,key))),1,set(tunnel(tun_id=0x3,src=0.0.0.0,dst=3.3.3.3,tos=0x0,ttl=64,flags(df,key))),1,set(tunnel(tun_id=0x5,src=0.0.0.0,dst=4.4.4.4,tos=0x0,ttl=64,flags(df,key))),1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:208: check_logs "
at_fn_check_prepare_trace "tunnel.at:208"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:208"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:208: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "tunnel.at:208"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:208"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:208: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "tunnel.at:208"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:208"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_520
#AT_START_521
at_fn_group_banner 521 'tunnel.at:211' \
  "tunnel - key" "                                   " 39
at_xfail=no
(
  $as_echo "521. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/tunnel.at:212: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "tunnel.at:212"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:212"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:212: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "tunnel.at:212"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:212"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:212: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:212"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:212"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/tunnel.at:212: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "tunnel.at:212"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:212"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:212: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "tunnel.at:212"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:212"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/tunnel.at:212: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:212"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:212"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:212: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --     add-port br0 p1 -- set Interface p1 type=gre options:key=1 \\
        options:remote_ip=1.1.1.1 ofport_request=1 \\
    -- add-port br0 p2 -- set Interface p2 type=gre options:in_key=2 \\
        options:out_key=3 options:remote_ip=1.1.1.1 ofport_request=2 \\
    -- add-port br0 p3 -- set Interface p3 type=gre options:out_key=5 \\
        options:remote_ip=1.1.1.1 ofport_request=3 "
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:212"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --     add-port br0 p1 -- set Interface p1 type=gre options:key=1 \
        options:remote_ip=1.1.1.1 ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=gre options:in_key=2 \
        options:out_key=3 options:remote_ip=1.1.1.1 ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=gre options:out_key=5 \
        options:remote_ip=1.1.1.1 ofport_request=3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:212"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


cat >flows.txt <<'_ATEOF'
actions=IN_PORT,output:1,output:2,output:3
_ATEOF


{ set +x
$as_echo "$at_srcdir/tunnel.at:223: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "tunnel.at:223"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:223"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:225: ovs-appctl dpif/show | tail -n +5"
at_fn_check_prepare_notrace 'a shell pipeline' "tunnel.at:225"
( $at_check_trace; ovs-appctl dpif/show | tail -n +5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "		br0 65534/100: (dummy)
		p1 1/1: (gre: key=1, remote_ip=1.1.1.1)
		p2 2/1: (gre: in_key=2, out_key=3, remote_ip=1.1.1.1)
		p3 3/1: (gre: out_key=5, remote_ip=1.1.1.1)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:225"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:232: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x1,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags(key)),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:232"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x1,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags(key)),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:232"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:233: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:233"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(tunnel(tun_id=0x1,src=0.0.0.0,dst=1.1.1.1,tos=0x0,ttl=64,flags(df,key))),1,set(tunnel(tun_id=0x3,src=0.0.0.0,dst=1.1.1.1,tos=0x0,ttl=64,flags(df,key))),1,set(tunnel(tun_id=0x5,src=0.0.0.0,dst=1.1.1.1,tos=0x0,ttl=64,flags(df,key))),1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:233"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:239: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x2,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags(key)),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:239"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x2,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags(key)),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:239"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:240: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:240"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(tunnel(tun_id=0x3,src=0.0.0.0,dst=1.1.1.1,tos=0x0,ttl=64,flags(df,key))),1,set(tunnel(tun_id=0x1,src=0.0.0.0,dst=1.1.1.1,tos=0x0,ttl=64,flags(df,key))),1,set(tunnel(tun_id=0x5,src=0.0.0.0,dst=1.1.1.1,tos=0x0,ttl=64,flags(df,key))),1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:240"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:246: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:246"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags()),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:246"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:247: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:247"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(tunnel(tun_id=0x5,src=0.0.0.0,dst=1.1.1.1,tos=0x0,ttl=64,flags(df,key))),1,set(tunnel(tun_id=0x1,src=0.0.0.0,dst=1.1.1.1,tos=0x0,ttl=64,flags(df,key))),1,set(tunnel(tun_id=0x3,src=0.0.0.0,dst=1.1.1.1,tos=0x0,ttl=64,flags(df,key))),1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:247"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:253: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0xf,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags(key)),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:253"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0xf,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags(key)),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "Invalid datapath flow
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 2 $at_status "$at_srcdir/tunnel.at:253"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:257: check_logs \"/receive tunnel port not found/d\""
at_fn_check_prepare_trace "tunnel.at:257"
( $at_check_trace; check_logs "/receive tunnel port not found/d"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:257"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:257: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "tunnel.at:257"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:257"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:257: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "tunnel.at:257"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:257"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_521
#AT_START_522
at_fn_group_banner 522 'tunnel.at:260' \
  "tunnel - key match" "                             " 39
at_xfail=no
(
  $as_echo "522. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/tunnel.at:261: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "tunnel.at:261"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:261"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:261: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "tunnel.at:261"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:261"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:261: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:261"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:261"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/tunnel.at:261: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "tunnel.at:261"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:261"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:261: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "tunnel.at:261"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:261"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/tunnel.at:261: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:261"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:261"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:261: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --     add-port br0 p1 -- set Interface p1 type=gre options:key=flow \\
        options:remote_ip=1.1.1.1 ofport_request=1 \\
    -- add-port br0 p2 -- set Interface p2 type=gre options:key=3 \\
        options:remote_ip=3.3.3.3 ofport_request=2 \\
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3 \\
    -- add-port br0 p4 -- set Interface p4 type=dummy ofport_request=4 \\
    -- add-port br0 p5 -- set Interface p5 type=dummy ofport_request=5 "
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:261"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --     add-port br0 p1 -- set Interface p1 type=gre options:key=flow \
        options:remote_ip=1.1.1.1 ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=gre options:key=3 \
        options:remote_ip=3.3.3.3 ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3 \
    -- add-port br0 p4 -- set Interface p4 type=dummy ofport_request=4 \
    -- add-port br0 p5 -- set Interface p5 type=dummy ofport_request=5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:261"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


cat >flows.txt <<'_ATEOF'
tun_id=2,actions=output:3
tun_id=3,actions=output:4,set_tunnel:2,resubmit:99,set_tunnel:4,output:2,resubmit:99
tun_id=4,actions=output:5
_ATEOF


{ set +x
$as_echo "$at_srcdir/tunnel.at:275: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "tunnel.at:275"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:275"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:277: ovs-appctl dpif/show | tail -n +5"
at_fn_check_prepare_notrace 'a shell pipeline' "tunnel.at:277"
( $at_check_trace; ovs-appctl dpif/show | tail -n +5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "		br0 65534/100: (dummy)
		p1 1/1: (gre: key=flow, remote_ip=1.1.1.1)
		p2 2/1: (gre: key=3, remote_ip=3.3.3.3)
		p3 3/3: (dummy)
		p4 4/4: (dummy)
		p5 5/5: (dummy)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:277"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:286: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x2,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags(key)),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:286"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x2,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags(key)),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:286"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:287: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:287"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:287"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:291: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x3,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags(key)),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:291"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x3,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags(key)),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:291"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:292: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:292"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 4,3,set(tunnel(tun_id=0x3,src=0.0.0.0,dst=3.3.3.3,tos=0x0,ttl=64,flags(df,key))),1,5
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:292"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:296: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x3,src=3.3.3.3,dst=2.2.2.2,tos=0x0,ttl=64,flags(key)),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:296"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x3,src=3.3.3.3,dst=2.2.2.2,tos=0x0,ttl=64,flags(key)),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:296"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:297: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:297"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 4,3,5
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:297"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:301: ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags(key)),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'"
at_fn_check_prepare_trace "tunnel.at:301"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'tunnel(tun_id=0x0,src=1.1.1.1,dst=2.2.2.2,tos=0x0,ttl=64,flags(key)),in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:301"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:302: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:302"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	- Sends \"packet-in\" messages to the OpenFlow controller.
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:302"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:306: check_logs "
at_fn_check_prepare_trace "tunnel.at:306"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:306"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:306: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "tunnel.at:306"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:306"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:306: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "tunnel.at:306"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:306"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_522
#AT_START_523
at_fn_group_banner 523 'tunnel.at:309' \
  "tunnel - VXLAN" "                                 " 39
at_xfail=no
(
  $as_echo "523. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/tunnel.at:310: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "tunnel.at:310"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:310"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:310: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "tunnel.at:310"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:310"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:310: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:310"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:310"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/tunnel.at:310: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "tunnel.at:310"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:310"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:310: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "tunnel.at:310"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:310"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/tunnel.at:310: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:310"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:310"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:310: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=vxlan \\
                    options:remote_ip=1.1.1.1 ofport_request=1 "
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:310"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=vxlan \
                    options:remote_ip=1.1.1.1 ofport_request=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:310"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/tunnel.at:313: ovs-appctl dpif/show | tail -n +5"
at_fn_check_prepare_notrace 'a shell pipeline' "tunnel.at:313"
( $at_check_trace; ovs-appctl dpif/show | tail -n +5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "		br0 65534/100: (dummy)
		p1 1/1: (vxlan: remote_ip=1.1.1.1)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:313"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:318: check_logs "
at_fn_check_prepare_trace "tunnel.at:318"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:318"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:318: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "tunnel.at:318"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:318"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:318: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "tunnel.at:318"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:318"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_523
#AT_START_524
at_fn_group_banner 524 'tunnel.at:321' \
  "tunnel - LISP" "                                  " 39
at_xfail=no
(
  $as_echo "524. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/tunnel.at:322: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "tunnel.at:322"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:322"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:322: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "tunnel.at:322"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:322"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:322: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:322"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:322"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/tunnel.at:322: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "tunnel.at:322"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:322"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:322: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "tunnel.at:322"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:322"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/tunnel.at:322: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:322"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:322"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:322: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=lisp \\
                    options:remote_ip=1.1.1.1 ofport_request=1 "
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:322"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=lisp \
                    options:remote_ip=1.1.1.1 ofport_request=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:322"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/tunnel.at:325: ovs-appctl dpif/show | tail -n +5"
at_fn_check_prepare_notrace 'a shell pipeline' "tunnel.at:325"
( $at_check_trace; ovs-appctl dpif/show | tail -n +5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "		br0 65534/100: (dummy)
		p1 1/1: (lisp: remote_ip=1.1.1.1)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:325"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:330: check_logs "
at_fn_check_prepare_trace "tunnel.at:330"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:330"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:330: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "tunnel.at:330"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:330"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:330: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "tunnel.at:330"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:330"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_524
#AT_START_525
at_fn_group_banner 525 'tunnel.at:333' \
  "tunnel - different VXLAN UDP port" "              " 39
at_xfail=no
(
  $as_echo "525. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/tunnel.at:334: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "tunnel.at:334"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:334"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:334: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "tunnel.at:334"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:334"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:334: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:334"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:334"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/tunnel.at:334: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "tunnel.at:334"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:334"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:334: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "tunnel.at:334"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:334"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/tunnel.at:334: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:334"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:334"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:334: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=vxlan \\
                    options:remote_ip=1.1.1.1 ofport_request=1 options:dst_port=4341 "
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:334"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=vxlan \
                    options:remote_ip=1.1.1.1 ofport_request=1 options:dst_port=4341
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:334"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/tunnel.at:337: ovs-appctl dpif/show | tail -n +5"
at_fn_check_prepare_notrace 'a shell pipeline' "tunnel.at:337"
( $at_check_trace; ovs-appctl dpif/show | tail -n +5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "		br0 65534/100: (dummy)
		p1 1/1: (vxlan: dst_port=4341, remote_ip=1.1.1.1)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:337"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/tunnel.at:344: ovs-vsctl -- set Interface p1 options:dst_port=5000"
at_fn_check_prepare_trace "tunnel.at:344"
( $at_check_trace; ovs-vsctl -- set Interface p1 options:dst_port=5000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:344"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:346: ovs-appctl dpif/show | tail -n +5"
at_fn_check_prepare_notrace 'a shell pipeline' "tunnel.at:346"
( $at_check_trace; ovs-appctl dpif/show | tail -n +5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "		br0 65534/100: (dummy)
		p1 1/2: (vxlan: dst_port=5000, remote_ip=1.1.1.1)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:346"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/tunnel.at:353: ovs-vsctl -- set Interface p1 options:dst_port=4789"
at_fn_check_prepare_trace "tunnel.at:353"
( $at_check_trace; ovs-vsctl -- set Interface p1 options:dst_port=4789
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:353"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/tunnel.at:355: ovs-appctl dpif/show | tail -n +5"
at_fn_check_prepare_notrace 'a shell pipeline' "tunnel.at:355"
( $at_check_trace; ovs-appctl dpif/show | tail -n +5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "		br0 65534/100: (dummy)
		p1 1/1: (vxlan: remote_ip=1.1.1.1)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:355"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:359: check_logs "
at_fn_check_prepare_trace "tunnel.at:359"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:359"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:359: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "tunnel.at:359"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:359"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:359: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "tunnel.at:359"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:359"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_525
#AT_START_526
at_fn_group_banner 526 'tunnel.at:362' \
  "ofproto-dpif - set_field - tun_src/tun_dst/tun_id" "" 39
at_xfail=no
(
  $as_echo "526. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/tunnel.at:363: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "tunnel.at:363"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:363"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:363: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "tunnel.at:363"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:363"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:363: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:363"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:363"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/tunnel.at:363: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "tunnel.at:363"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:363"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:363: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "tunnel.at:363"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:363"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/tunnel.at:363: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:363"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:363"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/tunnel.at:363: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --     add-port br0 p1 -- set Interface p1 type=gre options:key=flow \\
        options:remote_ip=1.1.1.1 ofport_request=1 \\
    -- add-port br0 p2 -- set Interface p2 type=gre options:key=flow \\
        options:remote_ip=flow ofport_request=2 \\
    -- add-port br0 p3 -- set Interface p3 type=gre options:key=flow \\
        options:remote_ip=flow options:local_ip=flow ofport_request=3 \\
    -- add-port br0 p4 -- set Interface p4 type=gre options:key=3 \\
        options:remote_ip=flow ofport_request=4 \\
    -- add-port br0 p5 -- set Interface p5 type=gre options:key=flow \\
        options:remote_ip=5.5.5.5 ofport_request=5 "
at_fn_check_prepare_notrace 'an embedded newline' "tunnel.at:363"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --     add-port br0 p1 -- set Interface p1 type=gre options:key=flow \
        options:remote_ip=1.1.1.1 ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=gre options:key=flow \
        options:remote_ip=flow ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=gre options:key=flow \
        options:remote_ip=flow options:local_ip=flow ofport_request=3 \
    -- add-port br0 p4 -- set Interface p4 type=gre options:key=3 \
        options:remote_ip=flow ofport_request=4 \
    -- add-port br0 p5 -- set Interface p5 type=gre options:key=flow \
        options:remote_ip=5.5.5.5 ofport_request=5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:363"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p90 -- set Interface p90 type=dummy ofport_request=90
cat >flows.txt <<'_ATEOF'
in_port=90 actions=resubmit:1,resubmit:2,resubmit:3,resubmit:4,resubmit:5
in_port=1 actions=set_field:42->tun_id,output:1
in_port=2 actions=set_field:3.3.3.3->tun_dst,output:2
in_port=3 actions=set_field:1.1.1.1->tun_src,set_field:4.4.4.4->tun_dst,output:3
in_port=4 actions=set_field:2.2.2.2->tun_dst,output:4
in_port=5 actions=set_field:5->tun_id
_ATEOF

{ set +x
$as_echo "$at_srcdir/tunnel.at:383: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "tunnel.at:383"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:383"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:384: ovs-appctl ofproto/trace ovs-dummy 'in_port(90),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "tunnel.at:384"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(90),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:384"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:385: tail -1 stdout"
at_fn_check_prepare_trace "tunnel.at:385"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(tunnel(tun_id=0x2a,src=0.0.0.0,dst=1.1.1.1,tos=0x0,ttl=64,flags(df,key))),1,set(tunnel(tun_id=0x2a,src=0.0.0.0,dst=3.3.3.3,tos=0x0,ttl=64,flags(df,key))),1,set(tunnel(tun_id=0x2a,src=1.1.1.1,dst=4.4.4.4,tos=0x0,ttl=64,flags(df,key))),1,set(tunnel(tun_id=0x3,src=0.0.0.0,dst=2.2.2.2,tos=0x0,ttl=64,flags(df,key))),1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:385"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/tunnel.at:388: check_logs "
at_fn_check_prepare_trace "tunnel.at:388"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:388"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:388: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "tunnel.at:388"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:388"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/tunnel.at:388: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "tunnel.at:388"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/tunnel.at:388"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_526
#AT_START_527
at_fn_group_banner 527 'lockfile.at:12' \
  "lock and unlock" "                                " 40
at_xfail=no
(
  $as_echo "527. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/lockfile.at:12: test-lockfile lock_and_unlock"
at_fn_check_prepare_trace "lockfile.at:12"
( $at_check_trace; test-lockfile lock_and_unlock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "lock_and_unlock: success (0 children)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:12"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lockfile.at:12: sed 's/pid [0-9]*/pid <pid>/' stderr"
at_fn_check_prepare_trace "lockfile.at:12"
( $at_check_trace; sed 's/pid [0-9]*/pid <pid>/' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:12"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_527
#AT_START_528
at_fn_group_banner 528 'lockfile.at:14' \
  "lock and unlock twice" "                          " 40
at_xfail=no
(
  $as_echo "528. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/lockfile.at:14: test-lockfile lock_and_unlock_twice"
at_fn_check_prepare_trace "lockfile.at:14"
( $at_check_trace; test-lockfile lock_and_unlock_twice
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "lock_and_unlock_twice: success (0 children)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:14"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lockfile.at:14: sed 's/pid [0-9]*/pid <pid>/' stderr"
at_fn_check_prepare_trace "lockfile.at:14"
( $at_check_trace; sed 's/pid [0-9]*/pid <pid>/' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:14"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_528
#AT_START_529
at_fn_group_banner 529 'lockfile.at:16' \
  "lock blocks same process" "                       " 40
at_xfail=no
(
  $as_echo "529. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/lockfile.at:16: test-lockfile lock_blocks_same_process"
at_fn_check_prepare_trace "lockfile.at:16"
( $at_check_trace; test-lockfile lock_blocks_same_process
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "lock_blocks_same_process: success (0 children)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:16"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lockfile.at:16: sed 's/pid [0-9]*/pid <pid>/' stderr"
at_fn_check_prepare_trace "lockfile.at:16"
( $at_check_trace; sed 's/pid [0-9]*/pid <pid>/' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "lockfile|WARN|.file.~lock~: failed to lock file: Resource deadlock avoided
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:16"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_529
#AT_START_530
at_fn_group_banner 530 'lockfile.at:20' \
  "lock blocks same process twice" "                 " 40
at_xfail=no
(
  $as_echo "530. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/lockfile.at:20: test-lockfile lock_blocks_same_process_twice"
at_fn_check_prepare_trace "lockfile.at:20"
( $at_check_trace; test-lockfile lock_blocks_same_process_twice
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "lock_blocks_same_process_twice: success (0 children)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lockfile.at:20: sed 's/pid [0-9]*/pid <pid>/' stderr"
at_fn_check_prepare_trace "lockfile.at:20"
( $at_check_trace; sed 's/pid [0-9]*/pid <pid>/' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "lockfile|WARN|.file.~lock~: failed to lock file: Resource deadlock avoided
lockfile|WARN|.file.~lock~: failed to lock file: Resource deadlock avoided
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:20"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_530
#AT_START_531
at_fn_group_banner 531 'lockfile.at:25' \
  "lock blocks other process" "                      " 40
at_xfail=no
(
  $as_echo "531. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/lockfile.at:25: test-lockfile lock_blocks_other_process"
at_fn_check_prepare_trace "lockfile.at:25"
( $at_check_trace; test-lockfile lock_blocks_other_process
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "lock_blocks_other_process: success (1 child)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:25"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lockfile.at:25: sed 's/pid [0-9]*/pid <pid>/' stderr"
at_fn_check_prepare_trace "lockfile.at:25"
( $at_check_trace; sed 's/pid [0-9]*/pid <pid>/' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "lockfile|WARN|.file.~lock~: child does not inherit lock
lockfile|WARN|.file.~lock~: cannot lock file because it is already locked by pid <pid>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:25"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_531
#AT_START_532
at_fn_group_banner 532 'lockfile.at:30' \
  "lock twice blocks other process" "                " 40
at_xfail=no
(
  $as_echo "532. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/lockfile.at:30: test-lockfile lock_twice_blocks_other_process"
at_fn_check_prepare_trace "lockfile.at:30"
( $at_check_trace; test-lockfile lock_twice_blocks_other_process
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "lock_twice_blocks_other_process: success (1 child)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lockfile.at:30: sed 's/pid [0-9]*/pid <pid>/' stderr"
at_fn_check_prepare_trace "lockfile.at:30"
( $at_check_trace; sed 's/pid [0-9]*/pid <pid>/' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "lockfile|WARN|.file.~lock~: failed to lock file: Resource deadlock avoided
lockfile|WARN|.file.~lock~: child does not inherit lock
lockfile|WARN|.file.~lock~: cannot lock file because it is already locked by pid <pid>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_532
#AT_START_533
at_fn_group_banner 533 'lockfile.at:36' \
  "lock and unlock allows other process" "           " 40
at_xfail=no
(
  $as_echo "533. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/lockfile.at:36: test-lockfile lock_and_unlock_allows_other_process"
at_fn_check_prepare_trace "lockfile.at:36"
( $at_check_trace; test-lockfile lock_and_unlock_allows_other_process
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "lock_and_unlock_allows_other_process: success (1 child)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:36"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lockfile.at:36: sed 's/pid [0-9]*/pid <pid>/' stderr"
at_fn_check_prepare_trace "lockfile.at:36"
( $at_check_trace; sed 's/pid [0-9]*/pid <pid>/' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:36"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_533
#AT_START_534
at_fn_group_banner 534 'lockfile.at:38' \
  "lock multiple" "                                  " 40
at_xfail=no
(
  $as_echo "534. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/lockfile.at:38: test-lockfile lock_multiple"
at_fn_check_prepare_trace "lockfile.at:38"
( $at_check_trace; test-lockfile lock_multiple
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "lock_multiple: success (0 children)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:38"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lockfile.at:38: sed 's/pid [0-9]*/pid <pid>/' stderr"
at_fn_check_prepare_trace "lockfile.at:38"
( $at_check_trace; sed 's/pid [0-9]*/pid <pid>/' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "lockfile|WARN|.a.~lock~: failed to lock file: Resource deadlock avoided
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:38"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_534
#AT_START_535
at_fn_group_banner 535 'lockfile.at:42' \
  "lock symlink" "                                   " 40
at_xfail=no
(
  $as_echo "535. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/lockfile.at:42: test-lockfile lock_symlink"
at_fn_check_prepare_trace "lockfile.at:42"
( $at_check_trace; test-lockfile lock_symlink
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "lock_symlink: success (0 children)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:42"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lockfile.at:42: sed 's/pid [0-9]*/pid <pid>/' stderr"
at_fn_check_prepare_trace "lockfile.at:42"
( $at_check_trace; sed 's/pid [0-9]*/pid <pid>/' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "lockfile|WARN|.a.~lock~: failed to lock file: Resource deadlock avoided
lockfile|WARN|.b.~lock~: failed to lock file: Resource deadlock avoided
lockfile|WARN|.b.~lock~: failed to lock file: Resource deadlock avoided
lockfile|WARN|.a.~lock~: failed to lock file: Resource deadlock avoided
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:42"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_535
#AT_START_536
at_fn_group_banner 536 'lockfile.at:49' \
  "lock symlink to dir" "                            " 40
at_xfail=no
(
  $as_echo "536. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/lockfile.at:49: test-lockfile lock_symlink_to_dir"
at_fn_check_prepare_trace "lockfile.at:49"
( $at_check_trace; test-lockfile lock_symlink_to_dir
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo >>"$at_stdout"; $as_echo "lock_symlink_to_dir: success (0 children)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:49"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/lockfile.at:49: sed 's/pid [0-9]*/pid <pid>/' stderr"
at_fn_check_prepare_trace "lockfile.at:49"
( $at_check_trace; sed 's/pid [0-9]*/pid <pid>/' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "lockfile|WARN|dir/.b.~lock~: failed to lock file: Resource deadlock avoided
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/lockfile.at:49"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_536
#AT_START_537
at_fn_group_banner 537 'reconnect.at:26' \
  "nothing happens if not enabled - C" "             " 41
at_xfail=no
(
  $as_echo "537. $at_setup_line: testing $at_desc ..."
  $at_traceon



   cat >input <<'_ATEOF'
run
timeout
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:26: test-reconnect < input"
at_fn_check_prepare_trace "reconnect.at:26"
( $at_check_trace; test-reconnect < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
run
timeout
  no timeout
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:26"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_537
#AT_START_538
at_fn_group_banner 538 'reconnect.at:26' \
  "nothing happens if not enabled - Python" "        " 41
at_xfail=no
(
  $as_echo "538. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "reconnect.at:26" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/reconnect.at:26"

   cat >input <<'_ATEOF'
run
timeout
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:26: \$PYTHON \$srcdir/test-reconnect.py < input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-reconnect.py < input" "reconnect.at:26"
( $at_check_trace; $PYTHON $srcdir/test-reconnect.py < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
run
timeout
  no timeout
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:26"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_538
#AT_START_539
at_fn_group_banner 539 'reconnect.at:37' \
  "quick connect, idle disconnect - C" "             " 41
at_xfail=no
(
  $as_echo "539. $at_setup_line: testing $at_desc ..."
  $at_traceon



   cat >input <<'_ATEOF'
enable

# Connection succeeds.
run
connected

# Send inactivity probe.
timeout
run

# Idle timeout kills connection.
timeout
run
disconnected
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:37: test-reconnect < input"
at_fn_check_prepare_trace "reconnect.at:37"
( $at_check_trace; test-reconnect < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
enable
  in BACKOFF for 0 ms (0 ms backoff)

# Connection succeeds.
run
  should connect
connected
  in ACTIVE for 0 ms (0 ms backoff)
  created 1000, last activity 1000, last connected 1000
  1 successful connections out of 1 attempts, seqno 1
  connected
  last connected 0 ms ago, connected 0 ms total

# Send inactivity probe.
timeout
  advance 5000 ms

### t=6000 ###
  in ACTIVE for 5000 ms (0 ms backoff)
run
  should send probe
  in IDLE for 0 ms (0 ms backoff)

# Idle timeout kills connection.
timeout
  advance 5000 ms

### t=11000 ###
  in IDLE for 5000 ms (0 ms backoff)
run
  should disconnect
disconnected
  in BACKOFF for 0 ms (1000 ms backoff)
  1 successful connections out of 1 attempts, seqno 2
  disconnected
  disconnected at 11000 ms (0 ms ago)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:37"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_539
#AT_START_540
at_fn_group_banner 540 'reconnect.at:37' \
  "quick connect, idle disconnect - Python" "        " 41
at_xfail=no
(
  $as_echo "540. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "reconnect.at:37" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/reconnect.at:37"

   cat >input <<'_ATEOF'
enable

# Connection succeeds.
run
connected

# Send inactivity probe.
timeout
run

# Idle timeout kills connection.
timeout
run
disconnected
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:37: \$PYTHON \$srcdir/test-reconnect.py < input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-reconnect.py < input" "reconnect.at:37"
( $at_check_trace; $PYTHON $srcdir/test-reconnect.py < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
enable
  in BACKOFF for 0 ms (0 ms backoff)

# Connection succeeds.
run
  should connect
connected
  in ACTIVE for 0 ms (0 ms backoff)
  created 1000, last activity 1000, last connected 1000
  1 successful connections out of 1 attempts, seqno 1
  connected
  last connected 0 ms ago, connected 0 ms total

# Send inactivity probe.
timeout
  advance 5000 ms

### t=6000 ###
  in ACTIVE for 5000 ms (0 ms backoff)
run
  should send probe
  in IDLE for 0 ms (0 ms backoff)

# Idle timeout kills connection.
timeout
  advance 5000 ms

### t=11000 ###
  in IDLE for 5000 ms (0 ms backoff)
run
  should disconnect
disconnected
  in BACKOFF for 0 ms (1000 ms backoff)
  1 successful connections out of 1 attempts, seqno 2
  disconnected
  disconnected at 11000 ms (0 ms ago)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:37"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_540
#AT_START_541
at_fn_group_banner 541 'reconnect.at:93' \
  "slow connect, idle disconnect - C" "              " 41
at_xfail=no
(
  $as_echo "541. $at_setup_line: testing $at_desc ..."
  $at_traceon



   cat >input <<'_ATEOF'
enable

# Start connecting.
run
connecting

# Connect after 500 ms.
advance 500
run
connected

# Send inactivity probe.
timeout
run

# Idle timeout kills connection.
timeout
run
disconnected
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:93: test-reconnect < input"
at_fn_check_prepare_trace "reconnect.at:93"
( $at_check_trace; test-reconnect < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
enable
  in BACKOFF for 0 ms (0 ms backoff)

# Start connecting.
run
  should connect
connecting
  in CONNECTING for 0 ms (0 ms backoff)

# Connect after 500 ms.
advance 500

### t=1500 ###
  in CONNECTING for 500 ms (0 ms backoff)
run
connected
  in ACTIVE for 0 ms (0 ms backoff)
  created 1000, last activity 1000, last connected 1500
  1 successful connections out of 1 attempts, seqno 1
  connected
  last connected 0 ms ago, connected 0 ms total

# Send inactivity probe.
timeout
  advance 5000 ms

### t=6500 ###
  in ACTIVE for 5000 ms (0 ms backoff)
run
  should send probe
  in IDLE for 0 ms (0 ms backoff)

# Idle timeout kills connection.
timeout
  advance 5000 ms

### t=11500 ###
  in IDLE for 5000 ms (0 ms backoff)
run
  should disconnect
disconnected
  in BACKOFF for 0 ms (1000 ms backoff)
  1 successful connections out of 1 attempts, seqno 2
  disconnected
  disconnected at 11500 ms (0 ms ago)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:93"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_541
#AT_START_542
at_fn_group_banner 542 'reconnect.at:93' \
  "slow connect, idle disconnect - Python" "         " 41
at_xfail=no
(
  $as_echo "542. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "reconnect.at:93" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/reconnect.at:93"

   cat >input <<'_ATEOF'
enable

# Start connecting.
run
connecting

# Connect after 500 ms.
advance 500
run
connected

# Send inactivity probe.
timeout
run

# Idle timeout kills connection.
timeout
run
disconnected
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:93: \$PYTHON \$srcdir/test-reconnect.py < input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-reconnect.py < input" "reconnect.at:93"
( $at_check_trace; $PYTHON $srcdir/test-reconnect.py < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
enable
  in BACKOFF for 0 ms (0 ms backoff)

# Start connecting.
run
  should connect
connecting
  in CONNECTING for 0 ms (0 ms backoff)

# Connect after 500 ms.
advance 500

### t=1500 ###
  in CONNECTING for 500 ms (0 ms backoff)
run
connected
  in ACTIVE for 0 ms (0 ms backoff)
  created 1000, last activity 1000, last connected 1500
  1 successful connections out of 1 attempts, seqno 1
  connected
  last connected 0 ms ago, connected 0 ms total

# Send inactivity probe.
timeout
  advance 5000 ms

### t=6500 ###
  in ACTIVE for 5000 ms (0 ms backoff)
run
  should send probe
  in IDLE for 0 ms (0 ms backoff)

# Idle timeout kills connection.
timeout
  advance 5000 ms

### t=11500 ###
  in IDLE for 5000 ms (0 ms backoff)
run
  should disconnect
disconnected
  in BACKOFF for 0 ms (1000 ms backoff)
  1 successful connections out of 1 attempts, seqno 2
  disconnected
  disconnected at 11500 ms (0 ms ago)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:93"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_542
#AT_START_543
at_fn_group_banner 543 'reconnect.at:163' \
  "connect backs off - C" "                          " 41
at_xfail=no
(
  $as_echo "543. $at_setup_line: testing $at_desc ..."
  $at_traceon



   cat >input <<'_ATEOF'
enable

# First connection attempt fails after 1000 ms.
run
connecting
run
timeout
run
connect-failed

# Back off for 1000 ms.
timeout
run

# Second connection attempt fails after 1000 ms.
connecting
timeout
run
connect-failed

# Back off for 2000 ms.
timeout
run

# Third connection attempt fails after 2000 ms.
connecting
timeout
run
connect-failed

# Back off for 4000 ms.
timeout
run

# Third connection attempt fails after 4000 ms.
connecting
timeout
run
connect-failed

# Back off for 8000 ms.
timeout
run

# Third connection attempt fails after 8000 ms.
connecting
timeout
run
connect-failed

# Back off for 8000 ms.
timeout
run

# Fourth connection attempt fails after 8000 ms.
connecting
timeout
run
connect-failed
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:163: test-reconnect < input"
at_fn_check_prepare_trace "reconnect.at:163"
( $at_check_trace; test-reconnect < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
enable
  in BACKOFF for 0 ms (0 ms backoff)

# First connection attempt fails after 1000 ms.
run
  should connect
connecting
  in CONNECTING for 0 ms (0 ms backoff)
run
timeout
  advance 1000 ms

### t=2000 ###
  in CONNECTING for 1000 ms (0 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (1000 ms backoff)
  0 successful connections out of 1 attempts, seqno 0

# Back off for 1000 ms.
timeout
  advance 1000 ms

### t=3000 ###
  in BACKOFF for 1000 ms (1000 ms backoff)
run
  should connect

# Second connection attempt fails after 1000 ms.
connecting
  in CONNECTING for 0 ms (1000 ms backoff)
timeout
  advance 1000 ms

### t=4000 ###
  in CONNECTING for 1000 ms (1000 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (2000 ms backoff)
  0 successful connections out of 2 attempts, seqno 0

# Back off for 2000 ms.
timeout
  advance 2000 ms

### t=6000 ###
  in BACKOFF for 2000 ms (2000 ms backoff)
run
  should connect

# Third connection attempt fails after 2000 ms.
connecting
  in CONNECTING for 0 ms (2000 ms backoff)
timeout
  advance 2000 ms

### t=8000 ###
  in CONNECTING for 2000 ms (2000 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (4000 ms backoff)
  0 successful connections out of 3 attempts, seqno 0

# Back off for 4000 ms.
timeout
  advance 4000 ms

### t=12000 ###
  in BACKOFF for 4000 ms (4000 ms backoff)
run
  should connect

# Third connection attempt fails after 4000 ms.
connecting
  in CONNECTING for 0 ms (4000 ms backoff)
timeout
  advance 4000 ms

### t=16000 ###
  in CONNECTING for 4000 ms (4000 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (8000 ms backoff)
  0 successful connections out of 4 attempts, seqno 0

# Back off for 8000 ms.
timeout
  advance 8000 ms

### t=24000 ###
  in BACKOFF for 8000 ms (8000 ms backoff)
run
  should connect

# Third connection attempt fails after 8000 ms.
connecting
  in CONNECTING for 0 ms (8000 ms backoff)
timeout
  advance 8000 ms

### t=32000 ###
  in CONNECTING for 8000 ms (8000 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (8000 ms backoff)
  0 successful connections out of 5 attempts, seqno 0

# Back off for 8000 ms.
timeout
  advance 8000 ms

### t=40000 ###
  in BACKOFF for 8000 ms (8000 ms backoff)
run
  should connect

# Fourth connection attempt fails after 8000 ms.
connecting
  in CONNECTING for 0 ms (8000 ms backoff)
timeout
  advance 8000 ms

### t=48000 ###
  in CONNECTING for 8000 ms (8000 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (8000 ms backoff)
  0 successful connections out of 6 attempts, seqno 0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:163"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_543
#AT_START_544
at_fn_group_banner 544 'reconnect.at:163' \
  "connect backs off - Python" "                     " 41
at_xfail=no
(
  $as_echo "544. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "reconnect.at:163" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/reconnect.at:163"

   cat >input <<'_ATEOF'
enable

# First connection attempt fails after 1000 ms.
run
connecting
run
timeout
run
connect-failed

# Back off for 1000 ms.
timeout
run

# Second connection attempt fails after 1000 ms.
connecting
timeout
run
connect-failed

# Back off for 2000 ms.
timeout
run

# Third connection attempt fails after 2000 ms.
connecting
timeout
run
connect-failed

# Back off for 4000 ms.
timeout
run

# Third connection attempt fails after 4000 ms.
connecting
timeout
run
connect-failed

# Back off for 8000 ms.
timeout
run

# Third connection attempt fails after 8000 ms.
connecting
timeout
run
connect-failed

# Back off for 8000 ms.
timeout
run

# Fourth connection attempt fails after 8000 ms.
connecting
timeout
run
connect-failed
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:163: \$PYTHON \$srcdir/test-reconnect.py < input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-reconnect.py < input" "reconnect.at:163"
( $at_check_trace; $PYTHON $srcdir/test-reconnect.py < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
enable
  in BACKOFF for 0 ms (0 ms backoff)

# First connection attempt fails after 1000 ms.
run
  should connect
connecting
  in CONNECTING for 0 ms (0 ms backoff)
run
timeout
  advance 1000 ms

### t=2000 ###
  in CONNECTING for 1000 ms (0 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (1000 ms backoff)
  0 successful connections out of 1 attempts, seqno 0

# Back off for 1000 ms.
timeout
  advance 1000 ms

### t=3000 ###
  in BACKOFF for 1000 ms (1000 ms backoff)
run
  should connect

# Second connection attempt fails after 1000 ms.
connecting
  in CONNECTING for 0 ms (1000 ms backoff)
timeout
  advance 1000 ms

### t=4000 ###
  in CONNECTING for 1000 ms (1000 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (2000 ms backoff)
  0 successful connections out of 2 attempts, seqno 0

# Back off for 2000 ms.
timeout
  advance 2000 ms

### t=6000 ###
  in BACKOFF for 2000 ms (2000 ms backoff)
run
  should connect

# Third connection attempt fails after 2000 ms.
connecting
  in CONNECTING for 0 ms (2000 ms backoff)
timeout
  advance 2000 ms

### t=8000 ###
  in CONNECTING for 2000 ms (2000 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (4000 ms backoff)
  0 successful connections out of 3 attempts, seqno 0

# Back off for 4000 ms.
timeout
  advance 4000 ms

### t=12000 ###
  in BACKOFF for 4000 ms (4000 ms backoff)
run
  should connect

# Third connection attempt fails after 4000 ms.
connecting
  in CONNECTING for 0 ms (4000 ms backoff)
timeout
  advance 4000 ms

### t=16000 ###
  in CONNECTING for 4000 ms (4000 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (8000 ms backoff)
  0 successful connections out of 4 attempts, seqno 0

# Back off for 8000 ms.
timeout
  advance 8000 ms

### t=24000 ###
  in BACKOFF for 8000 ms (8000 ms backoff)
run
  should connect

# Third connection attempt fails after 8000 ms.
connecting
  in CONNECTING for 0 ms (8000 ms backoff)
timeout
  advance 8000 ms

### t=32000 ###
  in CONNECTING for 8000 ms (8000 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (8000 ms backoff)
  0 successful connections out of 5 attempts, seqno 0

# Back off for 8000 ms.
timeout
  advance 8000 ms

### t=40000 ###
  in BACKOFF for 8000 ms (8000 ms backoff)
run
  should connect

# Fourth connection attempt fails after 8000 ms.
connecting
  in CONNECTING for 0 ms (8000 ms backoff)
timeout
  advance 8000 ms

### t=48000 ###
  in CONNECTING for 8000 ms (8000 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (8000 ms backoff)
  0 successful connections out of 6 attempts, seqno 0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:163"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_544
#AT_START_545
at_fn_group_banner 545 'reconnect.at:362' \
  "connections with no data preserve backoff - C" "  " 41
at_xfail=no
(
  $as_echo "545. $at_setup_line: testing $at_desc ..."
  $at_traceon



   cat >input <<'_ATEOF'
enable

# First connect, then idle timeout kills connection.
run
connected
timeout
run
timeout
run
disconnected

# Back off for 1000 ms.
timeout
run

# Second connect, then idle timeout kills connection.
run
connected
timeout
run
timeout
run
disconnected

# Back off for 2000 ms.
timeout
run

# Third connect, then idle timeout kills connection.
run
connected
timeout
run
timeout
run
disconnected

# Back off for 4000 ms.
timeout
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:362: test-reconnect < input"
at_fn_check_prepare_trace "reconnect.at:362"
( $at_check_trace; test-reconnect < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
enable
  in BACKOFF for 0 ms (0 ms backoff)

# First connect, then idle timeout kills connection.
run
  should connect
connected
  in ACTIVE for 0 ms (0 ms backoff)
  created 1000, last activity 1000, last connected 1000
  1 successful connections out of 1 attempts, seqno 1
  connected
  last connected 0 ms ago, connected 0 ms total
timeout
  advance 5000 ms

### t=6000 ###
  in ACTIVE for 5000 ms (0 ms backoff)
run
  should send probe
  in IDLE for 0 ms (0 ms backoff)
timeout
  advance 5000 ms

### t=11000 ###
  in IDLE for 5000 ms (0 ms backoff)
run
  should disconnect
disconnected
  in BACKOFF for 0 ms (1000 ms backoff)
  1 successful connections out of 1 attempts, seqno 2
  disconnected
  disconnected at 11000 ms (0 ms ago)

# Back off for 1000 ms.
timeout
  advance 1000 ms

### t=12000 ###
  in BACKOFF for 1000 ms (1000 ms backoff)
  last connected 11000 ms ago, connected 10000 ms total
run
  should connect

# Second connect, then idle timeout kills connection.
run
  should connect
connected
  in ACTIVE for 0 ms (1000 ms backoff)
  created 1000, last activity 1000, last connected 12000
  2 successful connections out of 2 attempts, seqno 3
  connected
  last connected 0 ms ago, connected 10000 ms total
timeout
  advance 5000 ms

### t=17000 ###
  in ACTIVE for 5000 ms (1000 ms backoff)
run
  should send probe
  in IDLE for 0 ms (1000 ms backoff)
timeout
  advance 5000 ms

### t=22000 ###
  in IDLE for 5000 ms (1000 ms backoff)
run
  should disconnect
disconnected
  in BACKOFF for 0 ms (2000 ms backoff)
  2 successful connections out of 2 attempts, seqno 4
  disconnected
  disconnected at 22000 ms (0 ms ago)

# Back off for 2000 ms.
timeout
  advance 2000 ms

### t=24000 ###
  in BACKOFF for 2000 ms (2000 ms backoff)
  last connected 12000 ms ago, connected 20000 ms total
run
  should connect

# Third connect, then idle timeout kills connection.
run
  should connect
connected
  in ACTIVE for 0 ms (2000 ms backoff)
  created 1000, last activity 1000, last connected 24000
  3 successful connections out of 3 attempts, seqno 5
  connected
  last connected 0 ms ago, connected 20000 ms total
timeout
  advance 5000 ms

### t=29000 ###
  in ACTIVE for 5000 ms (2000 ms backoff)
run
  should send probe
  in IDLE for 0 ms (2000 ms backoff)
timeout
  advance 5000 ms

### t=34000 ###
  in IDLE for 5000 ms (2000 ms backoff)
run
  should disconnect
disconnected
  in BACKOFF for 0 ms (4000 ms backoff)
  3 successful connections out of 3 attempts, seqno 6
  disconnected
  disconnected at 34000 ms (0 ms ago)

# Back off for 4000 ms.
timeout
  advance 4000 ms

### t=38000 ###
  in BACKOFF for 4000 ms (4000 ms backoff)
  last connected 14000 ms ago, connected 30000 ms total
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:362"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_545
#AT_START_546
at_fn_group_banner 546 'reconnect.at:362' \
  "connections with no data preserve backoff - Python" "" 41
at_xfail=no
(
  $as_echo "546. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "reconnect.at:362" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/reconnect.at:362"

   cat >input <<'_ATEOF'
enable

# First connect, then idle timeout kills connection.
run
connected
timeout
run
timeout
run
disconnected

# Back off for 1000 ms.
timeout
run

# Second connect, then idle timeout kills connection.
run
connected
timeout
run
timeout
run
disconnected

# Back off for 2000 ms.
timeout
run

# Third connect, then idle timeout kills connection.
run
connected
timeout
run
timeout
run
disconnected

# Back off for 4000 ms.
timeout
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:362: \$PYTHON \$srcdir/test-reconnect.py < input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-reconnect.py < input" "reconnect.at:362"
( $at_check_trace; $PYTHON $srcdir/test-reconnect.py < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
enable
  in BACKOFF for 0 ms (0 ms backoff)

# First connect, then idle timeout kills connection.
run
  should connect
connected
  in ACTIVE for 0 ms (0 ms backoff)
  created 1000, last activity 1000, last connected 1000
  1 successful connections out of 1 attempts, seqno 1
  connected
  last connected 0 ms ago, connected 0 ms total
timeout
  advance 5000 ms

### t=6000 ###
  in ACTIVE for 5000 ms (0 ms backoff)
run
  should send probe
  in IDLE for 0 ms (0 ms backoff)
timeout
  advance 5000 ms

### t=11000 ###
  in IDLE for 5000 ms (0 ms backoff)
run
  should disconnect
disconnected
  in BACKOFF for 0 ms (1000 ms backoff)
  1 successful connections out of 1 attempts, seqno 2
  disconnected
  disconnected at 11000 ms (0 ms ago)

# Back off for 1000 ms.
timeout
  advance 1000 ms

### t=12000 ###
  in BACKOFF for 1000 ms (1000 ms backoff)
  last connected 11000 ms ago, connected 10000 ms total
run
  should connect

# Second connect, then idle timeout kills connection.
run
  should connect
connected
  in ACTIVE for 0 ms (1000 ms backoff)
  created 1000, last activity 1000, last connected 12000
  2 successful connections out of 2 attempts, seqno 3
  connected
  last connected 0 ms ago, connected 10000 ms total
timeout
  advance 5000 ms

### t=17000 ###
  in ACTIVE for 5000 ms (1000 ms backoff)
run
  should send probe
  in IDLE for 0 ms (1000 ms backoff)
timeout
  advance 5000 ms

### t=22000 ###
  in IDLE for 5000 ms (1000 ms backoff)
run
  should disconnect
disconnected
  in BACKOFF for 0 ms (2000 ms backoff)
  2 successful connections out of 2 attempts, seqno 4
  disconnected
  disconnected at 22000 ms (0 ms ago)

# Back off for 2000 ms.
timeout
  advance 2000 ms

### t=24000 ###
  in BACKOFF for 2000 ms (2000 ms backoff)
  last connected 12000 ms ago, connected 20000 ms total
run
  should connect

# Third connect, then idle timeout kills connection.
run
  should connect
connected
  in ACTIVE for 0 ms (2000 ms backoff)
  created 1000, last activity 1000, last connected 24000
  3 successful connections out of 3 attempts, seqno 5
  connected
  last connected 0 ms ago, connected 20000 ms total
timeout
  advance 5000 ms

### t=29000 ###
  in ACTIVE for 5000 ms (2000 ms backoff)
run
  should send probe
  in IDLE for 0 ms (2000 ms backoff)
timeout
  advance 5000 ms

### t=34000 ###
  in IDLE for 5000 ms (2000 ms backoff)
run
  should disconnect
disconnected
  in BACKOFF for 0 ms (4000 ms backoff)
  3 successful connections out of 3 attempts, seqno 6
  disconnected
  disconnected at 34000 ms (0 ms ago)

# Back off for 4000 ms.
timeout
  advance 4000 ms

### t=38000 ###
  in BACKOFF for 4000 ms (4000 ms backoff)
  last connected 14000 ms ago, connected 30000 ms total
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:362"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_546
#AT_START_547
at_fn_group_banner 547 'reconnect.at:526' \
  "brief connection preserves backoff - C" "         " 41
at_xfail=no
(
  $as_echo "547. $at_setup_line: testing $at_desc ..."
  $at_traceon



   cat >input <<'_ATEOF'
enable

# First connection attempt fails after 1000 ms.
run
connecting
run
timeout
run
connect-failed

# Back off for 1000 ms.
timeout
run

# Second connection attempt fails after 1000 ms.
connecting
timeout
run
connect-failed

# Back off for 2000 ms.
timeout
run

# Third connection attempt succeeds after 500 ms.
connecting
advance 500
run
connected

# Connection drops after another 250 ms.
advance 250
disconnected
run

# Back off for 4000 ms.
timeout
run
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:526: test-reconnect < input"
at_fn_check_prepare_trace "reconnect.at:526"
( $at_check_trace; test-reconnect < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
enable
  in BACKOFF for 0 ms (0 ms backoff)

# First connection attempt fails after 1000 ms.
run
  should connect
connecting
  in CONNECTING for 0 ms (0 ms backoff)
run
timeout
  advance 1000 ms

### t=2000 ###
  in CONNECTING for 1000 ms (0 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (1000 ms backoff)
  0 successful connections out of 1 attempts, seqno 0

# Back off for 1000 ms.
timeout
  advance 1000 ms

### t=3000 ###
  in BACKOFF for 1000 ms (1000 ms backoff)
run
  should connect

# Second connection attempt fails after 1000 ms.
connecting
  in CONNECTING for 0 ms (1000 ms backoff)
timeout
  advance 1000 ms

### t=4000 ###
  in CONNECTING for 1000 ms (1000 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (2000 ms backoff)
  0 successful connections out of 2 attempts, seqno 0

# Back off for 2000 ms.
timeout
  advance 2000 ms

### t=6000 ###
  in BACKOFF for 2000 ms (2000 ms backoff)
run
  should connect

# Third connection attempt succeeds after 500 ms.
connecting
  in CONNECTING for 0 ms (2000 ms backoff)
advance 500

### t=6500 ###
  in CONNECTING for 500 ms (2000 ms backoff)
run
connected
  in ACTIVE for 0 ms (2000 ms backoff)
  created 1000, last activity 1000, last connected 6500
  1 successful connections out of 3 attempts, seqno 1
  connected
  last connected 0 ms ago, connected 0 ms total

# Connection drops after another 250 ms.
advance 250

### t=6750 ###
  in ACTIVE for 250 ms (2000 ms backoff)
disconnected
  in BACKOFF for 0 ms (4000 ms backoff)
  1 successful connections out of 3 attempts, seqno 2
  disconnected
  disconnected at 6750 ms (0 ms ago)
run

# Back off for 4000 ms.
timeout
  advance 4000 ms

### t=10750 ###
  in BACKOFF for 4000 ms (4000 ms backoff)
  last connected 4250 ms ago, connected 250 ms total
run
  should connect
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:526"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_547
#AT_START_548
at_fn_group_banner 548 'reconnect.at:526' \
  "brief connection preserves backoff - Python" "    " 41
at_xfail=no
(
  $as_echo "548. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "reconnect.at:526" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/reconnect.at:526"

   cat >input <<'_ATEOF'
enable

# First connection attempt fails after 1000 ms.
run
connecting
run
timeout
run
connect-failed

# Back off for 1000 ms.
timeout
run

# Second connection attempt fails after 1000 ms.
connecting
timeout
run
connect-failed

# Back off for 2000 ms.
timeout
run

# Third connection attempt succeeds after 500 ms.
connecting
advance 500
run
connected

# Connection drops after another 250 ms.
advance 250
disconnected
run

# Back off for 4000 ms.
timeout
run
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:526: \$PYTHON \$srcdir/test-reconnect.py < input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-reconnect.py < input" "reconnect.at:526"
( $at_check_trace; $PYTHON $srcdir/test-reconnect.py < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
enable
  in BACKOFF for 0 ms (0 ms backoff)

# First connection attempt fails after 1000 ms.
run
  should connect
connecting
  in CONNECTING for 0 ms (0 ms backoff)
run
timeout
  advance 1000 ms

### t=2000 ###
  in CONNECTING for 1000 ms (0 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (1000 ms backoff)
  0 successful connections out of 1 attempts, seqno 0

# Back off for 1000 ms.
timeout
  advance 1000 ms

### t=3000 ###
  in BACKOFF for 1000 ms (1000 ms backoff)
run
  should connect

# Second connection attempt fails after 1000 ms.
connecting
  in CONNECTING for 0 ms (1000 ms backoff)
timeout
  advance 1000 ms

### t=4000 ###
  in CONNECTING for 1000 ms (1000 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (2000 ms backoff)
  0 successful connections out of 2 attempts, seqno 0

# Back off for 2000 ms.
timeout
  advance 2000 ms

### t=6000 ###
  in BACKOFF for 2000 ms (2000 ms backoff)
run
  should connect

# Third connection attempt succeeds after 500 ms.
connecting
  in CONNECTING for 0 ms (2000 ms backoff)
advance 500

### t=6500 ###
  in CONNECTING for 500 ms (2000 ms backoff)
run
connected
  in ACTIVE for 0 ms (2000 ms backoff)
  created 1000, last activity 1000, last connected 6500
  1 successful connections out of 3 attempts, seqno 1
  connected
  last connected 0 ms ago, connected 0 ms total

# Connection drops after another 250 ms.
advance 250

### t=6750 ###
  in ACTIVE for 250 ms (2000 ms backoff)
disconnected
  in BACKOFF for 0 ms (4000 ms backoff)
  1 successful connections out of 3 attempts, seqno 2
  disconnected
  disconnected at 6750 ms (0 ms ago)
run

# Back off for 4000 ms.
timeout
  advance 4000 ms

### t=10750 ###
  in BACKOFF for 4000 ms (4000 ms backoff)
  last connected 4250 ms ago, connected 250 ms total
run
  should connect
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:526"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_548
#AT_START_549
at_fn_group_banner 549 'reconnect.at:657' \
  "brief connection with data preserves backoff - C" "" 41
at_xfail=no
(
  $as_echo "549. $at_setup_line: testing $at_desc ..."
  $at_traceon



   cat >input <<'_ATEOF'
enable

# First connection attempt fails after 1000 ms.
run
connecting
run
timeout
run
connect-failed

# Back off for 1000 ms.
timeout
run

# Second connection attempt fails after 1000 ms.
connecting
timeout
run
connect-failed

# Back off for 2000 ms.
timeout
run

# Third connection attempt succeeds after 500 ms.
connecting
advance 500
run
connected

# Connection receives 3 chunks of data spaced 250 ms apart.
advance 250
run
activity
advance 250
run
activity
advance 250
run
activity

# Connection drops.
disconnected
run

# Back off for 4000 ms.
timeout
run
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:657: test-reconnect < input"
at_fn_check_prepare_trace "reconnect.at:657"
( $at_check_trace; test-reconnect < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
enable
  in BACKOFF for 0 ms (0 ms backoff)

# First connection attempt fails after 1000 ms.
run
  should connect
connecting
  in CONNECTING for 0 ms (0 ms backoff)
run
timeout
  advance 1000 ms

### t=2000 ###
  in CONNECTING for 1000 ms (0 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (1000 ms backoff)
  0 successful connections out of 1 attempts, seqno 0

# Back off for 1000 ms.
timeout
  advance 1000 ms

### t=3000 ###
  in BACKOFF for 1000 ms (1000 ms backoff)
run
  should connect

# Second connection attempt fails after 1000 ms.
connecting
  in CONNECTING for 0 ms (1000 ms backoff)
timeout
  advance 1000 ms

### t=4000 ###
  in CONNECTING for 1000 ms (1000 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (2000 ms backoff)
  0 successful connections out of 2 attempts, seqno 0

# Back off for 2000 ms.
timeout
  advance 2000 ms

### t=6000 ###
  in BACKOFF for 2000 ms (2000 ms backoff)
run
  should connect

# Third connection attempt succeeds after 500 ms.
connecting
  in CONNECTING for 0 ms (2000 ms backoff)
advance 500

### t=6500 ###
  in CONNECTING for 500 ms (2000 ms backoff)
run
connected
  in ACTIVE for 0 ms (2000 ms backoff)
  created 1000, last activity 1000, last connected 6500
  1 successful connections out of 3 attempts, seqno 1
  connected
  last connected 0 ms ago, connected 0 ms total

# Connection receives 3 chunks of data spaced 250 ms apart.
advance 250

### t=6750 ###
  in ACTIVE for 250 ms (2000 ms backoff)
run
activity
  created 1000, last activity 6750, last connected 6500
advance 250

### t=7000 ###
  in ACTIVE for 500 ms (2000 ms backoff)
run
activity
  created 1000, last activity 7000, last connected 6500
advance 250

### t=7250 ###
  in ACTIVE for 750 ms (2000 ms backoff)
run
activity
  created 1000, last activity 7250, last connected 6500

# Connection drops.
disconnected
  in BACKOFF for 0 ms (4000 ms backoff)
  1 successful connections out of 3 attempts, seqno 2
  disconnected
  disconnected at 7250 ms (0 ms ago)
run

# Back off for 4000 ms.
timeout
  advance 4000 ms

### t=11250 ###
  in BACKOFF for 4000 ms (4000 ms backoff)
  last connected 4750 ms ago, connected 750 ms total
run
  should connect
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:657"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_549
#AT_START_550
at_fn_group_banner 550 'reconnect.at:657' \
  "brief connection with data preserves backoff - Python" "" 41
at_xfail=no
(
  $as_echo "550. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "reconnect.at:657" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/reconnect.at:657"

   cat >input <<'_ATEOF'
enable

# First connection attempt fails after 1000 ms.
run
connecting
run
timeout
run
connect-failed

# Back off for 1000 ms.
timeout
run

# Second connection attempt fails after 1000 ms.
connecting
timeout
run
connect-failed

# Back off for 2000 ms.
timeout
run

# Third connection attempt succeeds after 500 ms.
connecting
advance 500
run
connected

# Connection receives 3 chunks of data spaced 250 ms apart.
advance 250
run
activity
advance 250
run
activity
advance 250
run
activity

# Connection drops.
disconnected
run

# Back off for 4000 ms.
timeout
run
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:657: \$PYTHON \$srcdir/test-reconnect.py < input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-reconnect.py < input" "reconnect.at:657"
( $at_check_trace; $PYTHON $srcdir/test-reconnect.py < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
enable
  in BACKOFF for 0 ms (0 ms backoff)

# First connection attempt fails after 1000 ms.
run
  should connect
connecting
  in CONNECTING for 0 ms (0 ms backoff)
run
timeout
  advance 1000 ms

### t=2000 ###
  in CONNECTING for 1000 ms (0 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (1000 ms backoff)
  0 successful connections out of 1 attempts, seqno 0

# Back off for 1000 ms.
timeout
  advance 1000 ms

### t=3000 ###
  in BACKOFF for 1000 ms (1000 ms backoff)
run
  should connect

# Second connection attempt fails after 1000 ms.
connecting
  in CONNECTING for 0 ms (1000 ms backoff)
timeout
  advance 1000 ms

### t=4000 ###
  in CONNECTING for 1000 ms (1000 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (2000 ms backoff)
  0 successful connections out of 2 attempts, seqno 0

# Back off for 2000 ms.
timeout
  advance 2000 ms

### t=6000 ###
  in BACKOFF for 2000 ms (2000 ms backoff)
run
  should connect

# Third connection attempt succeeds after 500 ms.
connecting
  in CONNECTING for 0 ms (2000 ms backoff)
advance 500

### t=6500 ###
  in CONNECTING for 500 ms (2000 ms backoff)
run
connected
  in ACTIVE for 0 ms (2000 ms backoff)
  created 1000, last activity 1000, last connected 6500
  1 successful connections out of 3 attempts, seqno 1
  connected
  last connected 0 ms ago, connected 0 ms total

# Connection receives 3 chunks of data spaced 250 ms apart.
advance 250

### t=6750 ###
  in ACTIVE for 250 ms (2000 ms backoff)
run
activity
  created 1000, last activity 6750, last connected 6500
advance 250

### t=7000 ###
  in ACTIVE for 500 ms (2000 ms backoff)
run
activity
  created 1000, last activity 7000, last connected 6500
advance 250

### t=7250 ###
  in ACTIVE for 750 ms (2000 ms backoff)
run
activity
  created 1000, last activity 7250, last connected 6500

# Connection drops.
disconnected
  in BACKOFF for 0 ms (4000 ms backoff)
  1 successful connections out of 3 attempts, seqno 2
  disconnected
  disconnected at 7250 ms (0 ms ago)
run

# Back off for 4000 ms.
timeout
  advance 4000 ms

### t=11250 ###
  in BACKOFF for 4000 ms (4000 ms backoff)
  last connected 4750 ms ago, connected 750 ms total
run
  should connect
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:657"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_550
#AT_START_551
at_fn_group_banner 551 'reconnect.at:818' \
  "long connection resets backoff - C" "             " 41
at_xfail=no
(
  $as_echo "551. $at_setup_line: testing $at_desc ..."
  $at_traceon



   cat >input <<'_ATEOF'
enable

# First connection attempt fails after 1000 ms.
run
connecting
run
timeout
run
connect-failed

# Back off for 1000 ms.
timeout
run

# Second connection attempt fails after 1000 ms.
connecting
timeout
run
connect-failed

# Back off for 2000 ms.
timeout
run

# Third connection attempt succeeds after 500 ms.
connecting
advance 500
run
connected

# Connection receives 3 chunks of data spaced 2000 ms apart.
advance 2000
run
activity
advance 2000
run
activity
advance 2000
run
activity

# Connection drops.
disconnected
run

# Back off for 1000 ms.
timeout
run
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:818: test-reconnect < input"
at_fn_check_prepare_trace "reconnect.at:818"
( $at_check_trace; test-reconnect < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
enable
  in BACKOFF for 0 ms (0 ms backoff)

# First connection attempt fails after 1000 ms.
run
  should connect
connecting
  in CONNECTING for 0 ms (0 ms backoff)
run
timeout
  advance 1000 ms

### t=2000 ###
  in CONNECTING for 1000 ms (0 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (1000 ms backoff)
  0 successful connections out of 1 attempts, seqno 0

# Back off for 1000 ms.
timeout
  advance 1000 ms

### t=3000 ###
  in BACKOFF for 1000 ms (1000 ms backoff)
run
  should connect

# Second connection attempt fails after 1000 ms.
connecting
  in CONNECTING for 0 ms (1000 ms backoff)
timeout
  advance 1000 ms

### t=4000 ###
  in CONNECTING for 1000 ms (1000 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (2000 ms backoff)
  0 successful connections out of 2 attempts, seqno 0

# Back off for 2000 ms.
timeout
  advance 2000 ms

### t=6000 ###
  in BACKOFF for 2000 ms (2000 ms backoff)
run
  should connect

# Third connection attempt succeeds after 500 ms.
connecting
  in CONNECTING for 0 ms (2000 ms backoff)
advance 500

### t=6500 ###
  in CONNECTING for 500 ms (2000 ms backoff)
run
connected
  in ACTIVE for 0 ms (2000 ms backoff)
  created 1000, last activity 1000, last connected 6500
  1 successful connections out of 3 attempts, seqno 1
  connected
  last connected 0 ms ago, connected 0 ms total

# Connection receives 3 chunks of data spaced 2000 ms apart.
advance 2000

### t=8500 ###
  in ACTIVE for 2000 ms (2000 ms backoff)
run
activity
  created 1000, last activity 8500, last connected 6500
advance 2000

### t=10500 ###
  in ACTIVE for 4000 ms (2000 ms backoff)
run
activity
  created 1000, last activity 10500, last connected 6500
advance 2000

### t=12500 ###
  in ACTIVE for 6000 ms (2000 ms backoff)
run
activity
  created 1000, last activity 12500, last connected 6500

# Connection drops.
disconnected
  in BACKOFF for 0 ms (1000 ms backoff)
  1 successful connections out of 3 attempts, seqno 2
  disconnected
  disconnected at 12500 ms (0 ms ago)
run

# Back off for 1000 ms.
timeout
  advance 1000 ms

### t=13500 ###
  in BACKOFF for 1000 ms (1000 ms backoff)
  last connected 7000 ms ago, connected 6000 ms total
run
  should connect
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:818"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_551
#AT_START_552
at_fn_group_banner 552 'reconnect.at:818' \
  "long connection resets backoff - Python" "        " 41
at_xfail=no
(
  $as_echo "552. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "reconnect.at:818" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/reconnect.at:818"

   cat >input <<'_ATEOF'
enable

# First connection attempt fails after 1000 ms.
run
connecting
run
timeout
run
connect-failed

# Back off for 1000 ms.
timeout
run

# Second connection attempt fails after 1000 ms.
connecting
timeout
run
connect-failed

# Back off for 2000 ms.
timeout
run

# Third connection attempt succeeds after 500 ms.
connecting
advance 500
run
connected

# Connection receives 3 chunks of data spaced 2000 ms apart.
advance 2000
run
activity
advance 2000
run
activity
advance 2000
run
activity

# Connection drops.
disconnected
run

# Back off for 1000 ms.
timeout
run
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:818: \$PYTHON \$srcdir/test-reconnect.py < input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-reconnect.py < input" "reconnect.at:818"
( $at_check_trace; $PYTHON $srcdir/test-reconnect.py < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
enable
  in BACKOFF for 0 ms (0 ms backoff)

# First connection attempt fails after 1000 ms.
run
  should connect
connecting
  in CONNECTING for 0 ms (0 ms backoff)
run
timeout
  advance 1000 ms

### t=2000 ###
  in CONNECTING for 1000 ms (0 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (1000 ms backoff)
  0 successful connections out of 1 attempts, seqno 0

# Back off for 1000 ms.
timeout
  advance 1000 ms

### t=3000 ###
  in BACKOFF for 1000 ms (1000 ms backoff)
run
  should connect

# Second connection attempt fails after 1000 ms.
connecting
  in CONNECTING for 0 ms (1000 ms backoff)
timeout
  advance 1000 ms

### t=4000 ###
  in CONNECTING for 1000 ms (1000 ms backoff)
run
  should disconnect
connect-failed
  in BACKOFF for 0 ms (2000 ms backoff)
  0 successful connections out of 2 attempts, seqno 0

# Back off for 2000 ms.
timeout
  advance 2000 ms

### t=6000 ###
  in BACKOFF for 2000 ms (2000 ms backoff)
run
  should connect

# Third connection attempt succeeds after 500 ms.
connecting
  in CONNECTING for 0 ms (2000 ms backoff)
advance 500

### t=6500 ###
  in CONNECTING for 500 ms (2000 ms backoff)
run
connected
  in ACTIVE for 0 ms (2000 ms backoff)
  created 1000, last activity 1000, last connected 6500
  1 successful connections out of 3 attempts, seqno 1
  connected
  last connected 0 ms ago, connected 0 ms total

# Connection receives 3 chunks of data spaced 2000 ms apart.
advance 2000

### t=8500 ###
  in ACTIVE for 2000 ms (2000 ms backoff)
run
activity
  created 1000, last activity 8500, last connected 6500
advance 2000

### t=10500 ###
  in ACTIVE for 4000 ms (2000 ms backoff)
run
activity
  created 1000, last activity 10500, last connected 6500
advance 2000

### t=12500 ###
  in ACTIVE for 6000 ms (2000 ms backoff)
run
activity
  created 1000, last activity 12500, last connected 6500

# Connection drops.
disconnected
  in BACKOFF for 0 ms (1000 ms backoff)
  1 successful connections out of 3 attempts, seqno 2
  disconnected
  disconnected at 12500 ms (0 ms ago)
run

# Back off for 1000 ms.
timeout
  advance 1000 ms

### t=13500 ###
  in BACKOFF for 1000 ms (1000 ms backoff)
  last connected 7000 ms ago, connected 6000 ms total
run
  should connect
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:818"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_552
#AT_START_553
at_fn_group_banner 553 'reconnect.at:979' \
  "connection attempt fails quickly - C" "           " 41
at_xfail=no
(
  $as_echo "553. $at_setup_line: testing $at_desc ..."
  $at_traceon



   cat >input <<'_ATEOF'
enable

# Connection fails quickly.
run
connect-failed ECONNREFUSED

# Back off for 1000 ms.
run
timeout

# Connection fails quickly again.
run
connect-failed ECONNREFUSED

# Back off for 2000 ms.
run
timeout
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:979: test-reconnect < input"
at_fn_check_prepare_trace "reconnect.at:979"
( $at_check_trace; test-reconnect < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
enable
  in BACKOFF for 0 ms (0 ms backoff)

# Connection fails quickly.
run
  should connect
connect-failed ECONNREFUSED
  in BACKOFF for 0 ms (1000 ms backoff)
  0 successful connections out of 1 attempts, seqno 0

# Back off for 1000 ms.
run
timeout
  advance 1000 ms

### t=2000 ###
  in BACKOFF for 1000 ms (1000 ms backoff)

# Connection fails quickly again.
run
  should connect
connect-failed ECONNREFUSED
  in BACKOFF for 0 ms (2000 ms backoff)
  0 successful connections out of 2 attempts, seqno 0

# Back off for 2000 ms.
run
timeout
  advance 2000 ms

### t=4000 ###
  in BACKOFF for 2000 ms (2000 ms backoff)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:979"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_553
#AT_START_554
at_fn_group_banner 554 'reconnect.at:979' \
  "connection attempt fails quickly - Python" "      " 41
at_xfail=no
(
  $as_echo "554. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "reconnect.at:979" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/reconnect.at:979"

   cat >input <<'_ATEOF'
enable

# Connection fails quickly.
run
connect-failed ECONNREFUSED

# Back off for 1000 ms.
run
timeout

# Connection fails quickly again.
run
connect-failed ECONNREFUSED

# Back off for 2000 ms.
run
timeout
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:979: \$PYTHON \$srcdir/test-reconnect.py < input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-reconnect.py < input" "reconnect.at:979"
( $at_check_trace; $PYTHON $srcdir/test-reconnect.py < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
enable
  in BACKOFF for 0 ms (0 ms backoff)

# Connection fails quickly.
run
  should connect
connect-failed ECONNREFUSED
  in BACKOFF for 0 ms (1000 ms backoff)
  0 successful connections out of 1 attempts, seqno 0

# Back off for 1000 ms.
run
timeout
  advance 1000 ms

### t=2000 ###
  in BACKOFF for 1000 ms (1000 ms backoff)

# Connection fails quickly again.
run
  should connect
connect-failed ECONNREFUSED
  in BACKOFF for 0 ms (2000 ms backoff)
  0 successful connections out of 2 attempts, seqno 0

# Back off for 2000 ms.
run
timeout
  advance 2000 ms

### t=4000 ###
  in BACKOFF for 2000 ms (2000 ms backoff)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:979"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_554
#AT_START_555
at_fn_group_banner 555 'reconnect.at:1034' \
  "max-tries of 1 honored - C" "                     " 41
at_xfail=no
(
  $as_echo "555. $at_setup_line: testing $at_desc ..."
  $at_traceon



   cat >input <<'_ATEOF'
set-max-tries 1
enable

# Connection succeeds.
run
connected

# Send inactivity probe.
timeout
run

# Idle timeout kills connection.
timeout
run
disconnected
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:1034: test-reconnect < input"
at_fn_check_prepare_trace "reconnect.at:1034"
( $at_check_trace; test-reconnect < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
set-max-tries 1
  1 tries left
enable
  in BACKOFF for 0 ms (0 ms backoff)
  0 tries left

# Connection succeeds.
run
  should connect
connected
  in ACTIVE for 0 ms (0 ms backoff)
  created 1000, last activity 1000, last connected 1000
  1 successful connections out of 1 attempts, seqno 1
  connected
  last connected 0 ms ago, connected 0 ms total

# Send inactivity probe.
timeout
  advance 5000 ms

### t=6000 ###
  in ACTIVE for 5000 ms (0 ms backoff)
run
  should send probe
  in IDLE for 0 ms (0 ms backoff)

# Idle timeout kills connection.
timeout
  advance 5000 ms

### t=11000 ###
  in IDLE for 5000 ms (0 ms backoff)
run
  should disconnect
disconnected
  in VOID for 0 ms (1000 ms backoff)
  1 successful connections out of 1 attempts, seqno 2
  disconnected
  disconnected at 11000 ms (0 ms ago)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:1034"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_555
#AT_START_556
at_fn_group_banner 556 'reconnect.at:1034' \
  "max-tries of 1 honored - Python" "                " 41
at_xfail=no
(
  $as_echo "556. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "reconnect.at:1034" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/reconnect.at:1034"

   cat >input <<'_ATEOF'
set-max-tries 1
enable

# Connection succeeds.
run
connected

# Send inactivity probe.
timeout
run

# Idle timeout kills connection.
timeout
run
disconnected
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:1034: \$PYTHON \$srcdir/test-reconnect.py < input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-reconnect.py < input" "reconnect.at:1034"
( $at_check_trace; $PYTHON $srcdir/test-reconnect.py < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
set-max-tries 1
  1 tries left
enable
  in BACKOFF for 0 ms (0 ms backoff)
  0 tries left

# Connection succeeds.
run
  should connect
connected
  in ACTIVE for 0 ms (0 ms backoff)
  created 1000, last activity 1000, last connected 1000
  1 successful connections out of 1 attempts, seqno 1
  connected
  last connected 0 ms ago, connected 0 ms total

# Send inactivity probe.
timeout
  advance 5000 ms

### t=6000 ###
  in ACTIVE for 5000 ms (0 ms backoff)
run
  should send probe
  in IDLE for 0 ms (0 ms backoff)

# Idle timeout kills connection.
timeout
  advance 5000 ms

### t=11000 ###
  in IDLE for 5000 ms (0 ms backoff)
run
  should disconnect
disconnected
  in VOID for 0 ms (1000 ms backoff)
  1 successful connections out of 1 attempts, seqno 2
  disconnected
  disconnected at 11000 ms (0 ms ago)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:1034"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_556
#AT_START_557
at_fn_group_banner 557 'reconnect.at:1094' \
  "max-tries of 0 honored - C" "                     " 41
at_xfail=no
(
  $as_echo "557. $at_setup_line: testing $at_desc ..."
  $at_traceon



   cat >input <<'_ATEOF'
set-max-tries 0
enable
run
timeout
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:1094: test-reconnect < input"
at_fn_check_prepare_trace "reconnect.at:1094"
( $at_check_trace; test-reconnect < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
set-max-tries 0
  0 tries left
enable
run
timeout
  no timeout
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:1094"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_557
#AT_START_558
at_fn_group_banner 558 'reconnect.at:1094' \
  "max-tries of 0 honored - Python" "                " 41
at_xfail=no
(
  $as_echo "558. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "reconnect.at:1094" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/reconnect.at:1094"

   cat >input <<'_ATEOF'
set-max-tries 0
enable
run
timeout
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:1094: \$PYTHON \$srcdir/test-reconnect.py < input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-reconnect.py < input" "reconnect.at:1094"
( $at_check_trace; $PYTHON $srcdir/test-reconnect.py < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
set-max-tries 0
  0 tries left
enable
run
timeout
  no timeout
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:1094"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_558
#AT_START_559
at_fn_group_banner 559 'reconnect.at:1110' \
  "passive mode - C" "                               " 41
at_xfail=no
(
  $as_echo "559. $at_setup_line: testing $at_desc ..."
  $at_traceon



   cat >input <<'_ATEOF'
passive
enable

# Start listening.
timeout
run
listening

# Listening never times out.
timeout
run

# Listening failed (accept() returned funny error?).  Back off and try again.
listen-error 0
timeout
run
listening

# Connection accepted.
connected
activity
advance 1000
activity

# Connection times out.
timeout
run
timeout
run
disconnected

# Start listening again.
timeout
run
listening
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:1110: test-reconnect < input"
at_fn_check_prepare_trace "reconnect.at:1110"
( $at_check_trace; test-reconnect < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
passive
enable
  in BACKOFF for 0 ms (0 ms backoff)

# Start listening.
timeout
  advance 0 ms
run
  should connect
listening
  in LISTENING for 0 ms (0 ms backoff)

# Listening never times out.
timeout
  no timeout
run

# Listening failed (accept() returned funny error?).  Back off and try again.
listen-error 0
  in BACKOFF for 0 ms (1000 ms backoff)
timeout
  advance 1000 ms

### t=2000 ###
  in BACKOFF for 1000 ms (1000 ms backoff)
run
  should connect
listening
  in LISTENING for 0 ms (1000 ms backoff)

# Connection accepted.
connected
  in ACTIVE for 0 ms (1000 ms backoff)
  created 1000, last activity 1000, last connected 2000
  1 successful connections out of 1 attempts, seqno 1
  connected
  last connected 0 ms ago, connected 0 ms total
activity
  created 1000, last activity 2000, last connected 2000
advance 1000

### t=3000 ###
  in ACTIVE for 1000 ms (1000 ms backoff)
activity
  created 1000, last activity 3000, last connected 2000

# Connection times out.
timeout
  advance 5000 ms

### t=8000 ###
  in ACTIVE for 6000 ms (1000 ms backoff)
run
  should send probe
  in IDLE for 0 ms (1000 ms backoff)
timeout
  advance 5000 ms

### t=13000 ###
  in IDLE for 5000 ms (1000 ms backoff)
run
  should disconnect
disconnected
  in BACKOFF for 0 ms (0 ms backoff)
  1 successful connections out of 1 attempts, seqno 2
  disconnected
  disconnected at 13000 ms (0 ms ago)

# Start listening again.
timeout
  advance 0 ms
run
  should connect
listening
  in LISTENING for 0 ms (0 ms backoff)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:1110"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_559
#AT_START_560
at_fn_group_banner 560 'reconnect.at:1110' \
  "passive mode - Python" "                          " 41
at_xfail=no
(
  $as_echo "560. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "reconnect.at:1110" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/reconnect.at:1110"

   cat >input <<'_ATEOF'
passive
enable

# Start listening.
timeout
run
listening

# Listening never times out.
timeout
run

# Listening failed (accept() returned funny error?).  Back off and try again.
listen-error 0
timeout
run
listening

# Connection accepted.
connected
activity
advance 1000
activity

# Connection times out.
timeout
run
timeout
run
disconnected

# Start listening again.
timeout
run
listening
_ATEOF

   { set +x
$as_echo "$at_srcdir/reconnect.at:1110: \$PYTHON \$srcdir/test-reconnect.py < input"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-reconnect.py < input" "reconnect.at:1110"
( $at_check_trace; $PYTHON $srcdir/test-reconnect.py < input
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "### t=1000 ###
passive
enable
  in BACKOFF for 0 ms (0 ms backoff)

# Start listening.
timeout
  advance 0 ms
run
  should connect
listening
  in LISTENING for 0 ms (0 ms backoff)

# Listening never times out.
timeout
  no timeout
run

# Listening failed (accept() returned funny error?).  Back off and try again.
listen-error 0
  in BACKOFF for 0 ms (1000 ms backoff)
timeout
  advance 1000 ms

### t=2000 ###
  in BACKOFF for 1000 ms (1000 ms backoff)
run
  should connect
listening
  in LISTENING for 0 ms (1000 ms backoff)

# Connection accepted.
connected
  in ACTIVE for 0 ms (1000 ms backoff)
  created 1000, last activity 1000, last connected 2000
  1 successful connections out of 1 attempts, seqno 1
  connected
  last connected 0 ms ago, connected 0 ms total
activity
  created 1000, last activity 2000, last connected 2000
advance 1000

### t=3000 ###
  in ACTIVE for 1000 ms (1000 ms backoff)
activity
  created 1000, last activity 3000, last connected 2000

# Connection times out.
timeout
  advance 5000 ms

### t=8000 ###
  in ACTIVE for 6000 ms (1000 ms backoff)
run
  should send probe
  in IDLE for 0 ms (1000 ms backoff)
timeout
  advance 5000 ms

### t=13000 ###
  in IDLE for 5000 ms (1000 ms backoff)
run
  should disconnect
disconnected
  in BACKOFF for 0 ms (0 ms backoff)
  1 successful connections out of 1 attempts, seqno 2
  disconnected
  disconnected at 13000 ms (0 ms ago)

# Start listening again.
timeout
  advance 0 ms
run
  should connect
listening
  in LISTENING for 0 ms (0 ms backoff)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/reconnect.at:1110"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_560
#AT_START_561
at_fn_group_banner 561 'ovs-vswitchd.at:7' \
  "ovs-vswitchd detaches correctly with empty db" "  " 42
at_xfail=no
(
  $as_echo "561. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
OVS_LOGDIR=`pwd`; export OVS_LOGDIR
OVS_DBDIR=`pwd`; export OVS_DBDIR
OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


touch .conf.db.~lock~
{ set +x
$as_echo "$at_srcdir/ovs-vswitchd.at:16: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vswitchd.at:16"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vswitchd.at:16"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vswitchd.at:19: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ovs-vswitchd.at:19"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vswitchd.at:19"
$at_failed && at_fn_log_failure
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/ovs-vswitchd.at:23: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file"
at_fn_check_prepare_trace "ovs-vswitchd.at:23"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vswitchd.at:23"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }



  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_561
#AT_START_562
at_fn_group_banner 562 'ofproto.at:3' \
  "ofproto - echo request" "                         " 43
at_xfail=no
(
  $as_echo "562. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:4: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:4"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:4: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:4"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:4: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:4"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:4: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:4"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:4: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:4"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:4: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:4"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:4: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:4"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:5: ovs-ofctl -vwarn probe br0"
at_fn_check_prepare_trace "ofproto.at:5"
( $at_check_trace; ovs-ofctl -vwarn probe br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:5"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:6: check_logs "
at_fn_check_prepare_trace "ofproto.at:6"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:6"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:6: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:6"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:6"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:6: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:6"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:6"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_562
#AT_START_563
at_fn_group_banner 563 'ofproto.at:9' \
  "ofproto - feature request, config request" "      " 43
at_xfail=no
(
  $as_echo "563. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:10: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:10"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:10"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:10: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:10"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:10"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:10: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:10"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:10"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:10: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:10"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:10"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:10: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:10"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:10"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:10: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:10"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:10"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:10: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:10"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:10"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:11: ovs-ofctl -vwarn show br0"
at_fn_check_prepare_trace "ofproto.at:11"
( $at_check_trace; ovs-ofctl -vwarn show br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:11"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:12: sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout"
at_fn_check_prepare_trace "ofproto.at:12"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FEATURES_REPLY: dpid:fedcba9876543210
n_tables:254, n_buffers:256
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST SET_NW_SRC SET_NW_DST SET_NW_TOS SET_TP_SRC SET_TP_DST ENQUEUE
 LOCAL(br0): addr:aa:55:aa:55:00:00
     config:     0
     state:      0
     speed: 0 Mbps now, 0 Mbps max
OFPT_GET_CONFIG_REPLY: frags=normal miss_send_len=0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:12"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:23: check_logs "
at_fn_check_prepare_trace "ofproto.at:23"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:23"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:23: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:23"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:23"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:23: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:23"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:23"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_563
#AT_START_564
at_fn_group_banner 564 'ofproto.at:26' \
  "ofproto - set OpenFlow port number" "             " 43
at_xfail=no
(
  $as_echo "564. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:27: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:27"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:27"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:27: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:27"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:27"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:27: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:27"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:27"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:27: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:27"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:27"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:27: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:27"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:27"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:27: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:27"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:27"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:27: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy --\\
        add-port br0 p2 -- set Interface p2 type=dummy ofport_request=99 "
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:27"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy --\
        add-port br0 p2 -- set Interface p2 type=dummy ofport_request=99
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:27"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:30: ovs-ofctl -vwarn show br0"
at_fn_check_prepare_trace "ofproto.at:30"
( $at_check_trace; ovs-ofctl -vwarn show br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:30"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:31: sed '
s/ (xid=0x[0-9a-fA-F]*)//
s/00:0.\$/00:0x/' < stdout"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:31"
( $at_check_trace; sed '
s/ (xid=0x[0-9a-fA-F]*)//
s/00:0.$/00:0x/' < stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FEATURES_REPLY: dpid:fedcba9876543210
n_tables:254, n_buffers:256
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST SET_NW_SRC SET_NW_DST SET_NW_TOS SET_TP_SRC SET_TP_DST ENQUEUE
 1(p1): addr:aa:55:aa:55:00:0x
     config:     PORT_DOWN
     state:      LINK_DOWN
     speed: 0 Mbps now, 0 Mbps max
 99(p2): addr:aa:55:aa:55:00:0x
     config:     PORT_DOWN
     state:      LINK_DOWN
     speed: 0 Mbps now, 0 Mbps max
 LOCAL(br0): addr:aa:55:aa:55:00:0x
     config:     0
     state:      0
     speed: 0 Mbps now, 0 Mbps max
OFPT_GET_CONFIG_REPLY: frags=normal miss_send_len=0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:31"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:54: check_logs "
at_fn_check_prepare_trace "ofproto.at:54"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:54: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:54"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:54: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:54"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_564
#AT_START_565
at_fn_group_banner 565 'ofproto.at:59' \
  "ofproto - port stats - (OpenFlow 1.0)" "          " 43
at_xfail=no
(
  $as_echo "565. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:60: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:60"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:60"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:60: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:60"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:60"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:60: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:60"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:60"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:60: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:60"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:60"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:60: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:60"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:60"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:60: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:60"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:60"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:60: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:60"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:60"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:61: ovs-ofctl -vwarn dump-ports br0"
at_fn_check_prepare_trace "ofproto.at:61"
( $at_check_trace; ovs-ofctl -vwarn dump-ports br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:61"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:62: sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout"
at_fn_check_prepare_trace "ofproto.at:62"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT reply: 1 ports
  port LOCAL: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=0, bytes=0, drop=0, errs=0, coll=0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:62"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:67: check_logs "
at_fn_check_prepare_trace "ofproto.at:67"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:67"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:67: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:67"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:67"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:67: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:67"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:67"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_565
#AT_START_566
at_fn_group_banner 566 'ofproto.at:70' \
  "ofproto - port stats - (OpenFlow 1.2)" "          " 43
at_xfail=no
(
  $as_echo "566. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:71: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:71"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:71"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:71: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:71"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:71"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:71: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:71"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:71"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:71: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:71"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:71"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:71: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:71"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:71"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:71: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:71"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:71"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:71: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:71"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:71"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:72: ovs-ofctl -O OpenFlow12 -vwarn dump-ports br0"
at_fn_check_prepare_trace "ofproto.at:72"
( $at_check_trace; ovs-ofctl -O OpenFlow12 -vwarn dump-ports br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:72"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:73: sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout"
at_fn_check_prepare_trace "ofproto.at:73"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT reply (OF1.2): 1 ports
  port LOCAL: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=0, bytes=0, drop=0, errs=0, coll=0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:73"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:78: check_logs "
at_fn_check_prepare_trace "ofproto.at:78"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:78"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:78: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:78"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:78"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:78: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:78"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:78"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_566
#AT_START_567
at_fn_group_banner 567 'ofproto.at:83' \
  "ofproto - port-desc stats (OpenFlow 1.0)" "       " 43
at_xfail=no
(
  $as_echo "567. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:84: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:84"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:84"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:84: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:84"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:84"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:84: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:84"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:84"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:84: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:84"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:84"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:84: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:84"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:84"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:84: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:84"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:84"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:84: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:84"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:84"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:85: ovs-ofctl -vwarn dump-ports-desc br0"
at_fn_check_prepare_trace "ofproto.at:85"
( $at_check_trace; ovs-ofctl -vwarn dump-ports-desc br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:85"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:86: sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout"
at_fn_check_prepare_trace "ofproto.at:86"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT_DESC reply:
 LOCAL(br0): addr:aa:55:aa:55:00:00
     config:     0
     state:      0
     speed: 0 Mbps now, 0 Mbps max
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:86"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:93: check_logs "
at_fn_check_prepare_trace "ofproto.at:93"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:93"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:93: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:93"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:93"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:93: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:93"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:93"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_567
#AT_START_568
at_fn_group_banner 568 'ofproto.at:98' \
  "ofproto - port-desc stats (OpenFlow 1.2)" "       " 43
at_xfail=no
(
  $as_echo "568. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:99: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:99"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:99"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:99: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:99"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:99"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:99: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:99"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:99"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:99: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:99"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:99"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:99: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:99"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:99"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:99: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:99"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:99"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:99: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:99"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:99"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:100: ovs-ofctl -O OpenFlow12 -vwarn dump-ports-desc br0"
at_fn_check_prepare_trace "ofproto.at:100"
( $at_check_trace; ovs-ofctl -O OpenFlow12 -vwarn dump-ports-desc br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:100"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:101: sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout"
at_fn_check_prepare_trace "ofproto.at:101"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT_DESC reply (OF1.2):
 LOCAL(br0): addr:aa:55:aa:55:00:00
     config:     0
     state:      0
     speed: 0 Mbps now, 0 Mbps max
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:101"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:108: check_logs "
at_fn_check_prepare_trace "ofproto.at:108"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:108: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:108"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:108: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:108"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:108"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_568
#AT_START_569
at_fn_group_banner 569 'ofproto.at:113' \
  "ofproto - queue stats - (OpenFlow 1.0)" "         " 43
at_xfail=no
(
  $as_echo "569. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:114: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:114"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:114"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:114: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:114"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:114"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:114: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:114"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:114"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:114: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:114"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:114"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:114: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:114"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:114"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:114: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:114"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:114"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:114: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:114"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:114"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:115: ovs-ofctl -vwarn queue-stats br0"
at_fn_check_prepare_trace "ofproto.at:115"
( $at_check_trace; ovs-ofctl -vwarn queue-stats br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:115"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:116: sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout"
at_fn_check_prepare_trace "ofproto.at:116"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_QUEUE reply: 0 queues
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:116"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:119: ovs-ofctl -vwarn queue-stats br0 ANY 5"
at_fn_check_prepare_trace "ofproto.at:119"
( $at_check_trace; ovs-ofctl -vwarn queue-stats br0 ANY 5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (xid=0x2): OFPQOFC_BAD_QUEUE
OFPST_QUEUE request (xid=0x2):port=ANY queue=5
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:119"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:123: ovs-ofctl -vwarn queue-stats br0 10"
at_fn_check_prepare_trace "ofproto.at:123"
( $at_check_trace; ovs-ofctl -vwarn queue-stats br0 10
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (xid=0x2): OFPQOFC_BAD_PORT
OFPST_QUEUE request (xid=0x2):port=10 queue=ALL
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:123"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:127: check_logs "
at_fn_check_prepare_trace "ofproto.at:127"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:127"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:127: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:127"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:127"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:127: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:127"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:127"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_569
#AT_START_570
at_fn_group_banner 570 'ofproto.at:130' \
  "ofproto - queue stats - (OpenFlow 1.2)" "         " 43
at_xfail=no
(
  $as_echo "570. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:131: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:131"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:131"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:131: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:131"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:131"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:131: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:131"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:131"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:131: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:131"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:131"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:131: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:131"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:131"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:131: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:131"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:131"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:131: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:131"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:131"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:132: ovs-ofctl -O OpenFlow12 -vwarn queue-stats br0"
at_fn_check_prepare_trace "ofproto.at:132"
( $at_check_trace; ovs-ofctl -O OpenFlow12 -vwarn queue-stats br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:132"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:133: sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout"
at_fn_check_prepare_trace "ofproto.at:133"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_QUEUE reply (OF1.2): 0 queues
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:133"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:136: ovs-ofctl -O OpenFlow12 -vwarn queue-stats br0 ALL 5"
at_fn_check_prepare_trace "ofproto.at:136"
( $at_check_trace; ovs-ofctl -O OpenFlow12 -vwarn queue-stats br0 ALL 5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (OF1.2) (xid=0x2): OFPQOFC_BAD_QUEUE
OFPST_QUEUE request (OF1.2) (xid=0x2):port=ANY queue=5
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:136"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:140: ovs-ofctl -O OpenFlow12 -vwarn queue-stats br0 10"
at_fn_check_prepare_trace "ofproto.at:140"
( $at_check_trace; ovs-ofctl -O OpenFlow12 -vwarn queue-stats br0 10
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (OF1.2) (xid=0x2): OFPQOFC_BAD_PORT
OFPST_QUEUE request (OF1.2) (xid=0x2):port=10 queue=ALL
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:140"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:144: check_logs "
at_fn_check_prepare_trace "ofproto.at:144"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:144"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:144: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:144"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:144"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:144: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:144"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:144"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_570
#AT_START_571
at_fn_group_banner 571 'ofproto.at:147' \
  "ofproto - mod-port (OpenFlow 1.0)" "              " 43
at_xfail=no
(
  $as_echo "571. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:148: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:148"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:148"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:148: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:148"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:148"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:148: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:148"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:148"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:148: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:148"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:148: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:148"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:148: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:148"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:148: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:148"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


for command_config_state in \
    'up 0 0' \
    'noflood NO_FLOOD 0' \
    'down PORT_DOWN,NO_FLOOD LINK_DOWN' \
    'flood PORT_DOWN LINK_DOWN' \
    'no-receive PORT_DOWN,NO_RECV LINK_DOWN' \
    'no-forward PORT_DOWN,NO_RECV,NO_FWD LINK_DOWN' \
    'no-packet-in PORT_DOWN,NO_RECV,NO_FWD,NO_PACKET_IN LINK_DOWN' \
    'forward PORT_DOWN,NO_RECV,NO_PACKET_IN LINK_DOWN' \
    'packet-in PORT_DOWN,NO_RECV LINK_DOWN' \
    'up NO_RECV 0' \
    'receive 0 0'
do
    set $command_config_state
    command=$1 config=`echo $2 | sed 's/,/ /g'` state=$3
    { set +x
$as_echo "$at_srcdir/ofproto.at:164: ovs-ofctl -vwarn mod-port br0 br0 \$command"
at_fn_check_prepare_dynamic "ovs-ofctl -vwarn mod-port br0 br0 $command" "ofproto.at:164"
( $at_check_trace; ovs-ofctl -vwarn mod-port br0 br0 $command
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:164"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/ofproto.at:165: ovs-ofctl -vwarn show br0"
at_fn_check_prepare_trace "ofproto.at:165"
( $at_check_trace; ovs-ofctl -vwarn show br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:165"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/ofproto.at:166: sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout"
at_fn_check_prepare_trace "ofproto.at:166"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FEATURES_REPLY: dpid:fedcba9876543210
n_tables:254, n_buffers:256
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST SET_NW_SRC SET_NW_DST SET_NW_TOS SET_TP_SRC SET_TP_DST ENQUEUE
 LOCAL(br0): addr:aa:55:aa:55:00:00
     config:     $config
     state:      $state
     speed: 0 Mbps now, 0 Mbps max
OFPT_GET_CONFIG_REPLY: frags=normal miss_send_len=0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:166"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

done
{ set +x
$as_echo "$at_srcdir/ofproto.at:178: check_logs "
at_fn_check_prepare_trace "ofproto.at:178"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:178"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:178: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:178"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:178"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:178: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:178"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:178"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_571
#AT_START_572
at_fn_group_banner 572 'ofproto.at:181' \
  "ofproto - mod-port (OpenFlow 1.2)" "              " 43
at_xfail=no
(
  $as_echo "572. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:182: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:182"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:182"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:182: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:182"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:182"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:182: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:182"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:182"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:182: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:182"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:182: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:182"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:182: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:182"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:182: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:182"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


for command_config_state in \
    'up 0 0' \
    'down PORT_DOWN LINK_DOWN' \
    'no-receive PORT_DOWN,NO_RECV LINK_DOWN' \
    'no-forward PORT_DOWN,NO_RECV,NO_FWD LINK_DOWN' \
    'no-packet-in PORT_DOWN,NO_RECV,NO_FWD,NO_PACKET_IN LINK_DOWN' \
    'forward PORT_DOWN,NO_RECV,NO_PACKET_IN LINK_DOWN' \
    'packet-in PORT_DOWN,NO_RECV LINK_DOWN' \
    'up NO_RECV 0' \
    'receive 0 0'
do
    set $command_config_state
    command=$1 config=`echo $2 | sed 's/,/ /g'` state=$3
    { set +x
$as_echo "$at_srcdir/ofproto.at:196: ovs-ofctl -O OpenFlow12 -vwarn mod-port br0 br0 \$command"
at_fn_check_prepare_dynamic "ovs-ofctl -O OpenFlow12 -vwarn mod-port br0 br0 $command" "ofproto.at:196"
( $at_check_trace; ovs-ofctl -O OpenFlow12 -vwarn mod-port br0 br0 $command
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:196"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/ofproto.at:197: ovs-ofctl -O OpenFlow12 -vwarn show br0"
at_fn_check_prepare_trace "ofproto.at:197"
( $at_check_trace; ovs-ofctl -O OpenFlow12 -vwarn show br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:197"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/ofproto.at:198: sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout"
at_fn_check_prepare_trace "ofproto.at:198"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_FEATURES_REPLY (OF1.2): dpid:fedcba9876543210
n_tables:254, n_buffers:256
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS
 LOCAL(br0): addr:aa:55:aa:55:00:00
     config:     $config
     state:      $state
     speed: 0 Mbps now, 0 Mbps max
OFPT_GET_CONFIG_REPLY (OF1.2): frags=normal miss_send_len=0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:198"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

done
{ set +x
$as_echo "$at_srcdir/ofproto.at:209: check_logs "
at_fn_check_prepare_trace "ofproto.at:209"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:209"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:209: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:209"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:209"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:209: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:209"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:209"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_572
#AT_START_573
at_fn_group_banner 573 'ofproto.at:212' \
  "ofproto - basic flow_mod commands (NXM)" "        " 43
at_xfail=no
(
  $as_echo "573. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:213: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:213"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:213"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:213: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:213"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:213"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:213: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:213"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:213"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:213: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:213"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:213"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:213: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:213"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:213"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:213: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:213"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:213"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:213: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:213"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:213"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:214: ovs-ofctl dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:214"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:214"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:216: echo 'in_port=2,actions=1' | ovs-ofctl add-flows br0 -"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:216"
( $at_check_trace; echo 'in_port=2,actions=1' | ovs-ofctl add-flows br0 -
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:216"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:217: ovs-ofctl add-flow br0 in_port=1,actions=2"
at_fn_check_prepare_trace "ofproto.at:217"
( $at_check_trace; ovs-ofctl add-flow br0 in_port=1,actions=2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:217"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:218: ovs-ofctl -F nxm add-flow br0 table=1,in_port=4,actions=3"
at_fn_check_prepare_trace "ofproto.at:218"
( $at_check_trace; ovs-ofctl -F nxm add-flow br0 table=1,in_port=4,actions=3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:218"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:219: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:219"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " in_port=1 actions=output:2
 in_port=2 actions=output:1
 table=1, in_port=4 actions=output:3
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:219"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:225: ovs-ofctl dump-aggregate br0 table=0 | sed 's/ (xid=0x[0-9a-fA-F]*)//'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:225"
( $at_check_trace; ovs-ofctl dump-aggregate br0 table=0 | sed 's/ (xid=0x[0-9a-fA-F]*)//'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_AGGREGATE reply: packet_count=0 byte_count=0 flow_count=2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:225"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:228: ovs-ofctl del-flows br0"
at_fn_check_prepare_trace "ofproto.at:228"
( $at_check_trace; ovs-ofctl del-flows br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:228"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:229: ovs-ofctl dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:229"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:229"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:231: check_logs "
at_fn_check_prepare_trace "ofproto.at:231"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:231: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:231"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:231: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:231"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_573
#AT_START_574
at_fn_group_banner 574 'ofproto.at:234' \
  "ofproto - basic flow_mod commands (OpenFlow 1.0)" "" 43
at_xfail=no
(
  $as_echo "574. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:235: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:235"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:235"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:235: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:235"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:235"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:235: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:235"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:235"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:235: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:235"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:235"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:235: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:235"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:235"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:235: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:235"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:235"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:235: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:235"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:235"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:236: ovs-ofctl -F openflow10 dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:236"
( $at_check_trace; ovs-ofctl -F openflow10 dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:236"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:238: echo 'in_port=2,actions=1' | ovs-ofctl -F openflow10 add-flows br0 -"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:238"
( $at_check_trace; echo 'in_port=2,actions=1' | ovs-ofctl -F openflow10 add-flows br0 -
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:238"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:239: ovs-ofctl -F openflow10 add-flow br0 in_port=1,actions=2"
at_fn_check_prepare_trace "ofproto.at:239"
( $at_check_trace; ovs-ofctl -F openflow10 add-flow br0 in_port=1,actions=2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:239"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:240: ovs-ofctl -F openflow10 add-flow br0 table=1,in_port=4,actions=3"
at_fn_check_prepare_trace "ofproto.at:240"
( $at_check_trace; ovs-ofctl -F openflow10 add-flow br0 table=1,in_port=4,actions=3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:240"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:241: ovs-ofctl -F openflow10 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:241"
( $at_check_trace; ovs-ofctl -F openflow10 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " in_port=1 actions=output:2
 in_port=2 actions=output:1
 table=1, in_port=4 actions=output:3
OFPST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:247: ovs-ofctl -F openflow10 dump-aggregate br0 table=0 | sed 's/ (xid=0x[0-9a-fA-F]*)//'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:247"
( $at_check_trace; ovs-ofctl -F openflow10 dump-aggregate br0 table=0 | sed 's/ (xid=0x[0-9a-fA-F]*)//'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_AGGREGATE reply: packet_count=0 byte_count=0 flow_count=2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:247"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:250: ovs-ofctl -F openflow10 del-flows br0"
at_fn_check_prepare_trace "ofproto.at:250"
( $at_check_trace; ovs-ofctl -F openflow10 del-flows br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:250"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:251: ovs-ofctl -F openflow10 dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:251"
( $at_check_trace; ovs-ofctl -F openflow10 dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:251"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:253: check_logs "
at_fn_check_prepare_trace "ofproto.at:253"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:253"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:253: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:253"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:253"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:253: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:253"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:253"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_574
#AT_START_575
at_fn_group_banner 575 'ofproto.at:256' \
  "ofproto - basic flow_mod commands (OpenFlow 1.1)" "" 43
at_xfail=no
(
  $as_echo "575. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:257: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:257"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:257"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:257: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:257"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:257"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:257: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:257"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:257"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:257: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:257"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:257"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:257: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:257"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:257"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:257: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:257"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:257"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:257: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:257"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:257"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:258: ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:258"
( $at_check_trace; ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (OF1.1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:258"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:260: echo 'in_port=2,actions=1' | ovs-ofctl -O OpenFlow11 add-flows br0 -"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:260"
( $at_check_trace; echo 'in_port=2,actions=1' | ovs-ofctl -O OpenFlow11 add-flows br0 -
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:260"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:261: ovs-ofctl -O OpenFlow11 add-flow br0 in_port=1,actions=2"
at_fn_check_prepare_trace "ofproto.at:261"
( $at_check_trace; ovs-ofctl -O OpenFlow11 add-flow br0 in_port=1,actions=2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:261"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:262: ovs-ofctl -O OpenFlow11 add-flow br0 table=1,in_port=4,actions=3"
at_fn_check_prepare_trace "ofproto.at:262"
( $at_check_trace; ovs-ofctl -O OpenFlow11 add-flow br0 table=1,in_port=4,actions=3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:262"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:263: ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:263"
( $at_check_trace; ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " in_port=1 actions=output:2
 in_port=2 actions=output:1
 table=1, in_port=4 actions=output:3
OFPST_FLOW reply (OF1.1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:263"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:269: ovs-ofctl -O OpenFlow11 dump-aggregate br0 table=0 | sed 's/ (xid=0x[0-9a-fA-F]*)//'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:269"
( $at_check_trace; ovs-ofctl -O OpenFlow11 dump-aggregate br0 table=0 | sed 's/ (xid=0x[0-9a-fA-F]*)//'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_AGGREGATE reply (OF1.1): packet_count=0 byte_count=0 flow_count=2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:269"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:272: ovs-ofctl -O OpenFlow11 del-flows br0"
at_fn_check_prepare_trace "ofproto.at:272"
( $at_check_trace; ovs-ofctl -O OpenFlow11 del-flows br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:272"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:273: ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:273"
( $at_check_trace; ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (OF1.1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:273"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:275: check_logs "
at_fn_check_prepare_trace "ofproto.at:275"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:275"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:275: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:275"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:275"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:275: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:275"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:275"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_575
#AT_START_576
at_fn_group_banner 576 'ofproto.at:278' \
  "ofproto - set-field flow_mod commands (NXM)" "    " 43
at_xfail=no
(
  $as_echo "576. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:279: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:279"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:279"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:279: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:279"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:279"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:279: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:279"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:279"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:279: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:279"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:279"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:279: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:279"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:279"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:279: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:279"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:279"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:279: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:279"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:279"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:280: ovs-ofctl add-flow br0 ipv6,table=1,in_port=3,actions=drop"
at_fn_check_prepare_trace "ofproto.at:280"
( $at_check_trace; ovs-ofctl add-flow br0 ipv6,table=1,in_port=3,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:280"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:281: ovs-ofctl add-flow br0 ipv6,table=1,in_port=3,actions=set_field:fe80:0123:4567:890a:a6ba:dbff:fefe:59fa-\\>ipv6_src"
at_fn_check_prepare_trace "ofproto.at:281"
( $at_check_trace; ovs-ofctl add-flow br0 ipv6,table=1,in_port=3,actions=set_field:fe80:0123:4567:890a:a6ba:dbff:fefe:59fa-\>ipv6_src
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:281"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:282: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:282"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " table=1, ipv6,in_port=3 actions=load:0xa6badbfffefe59fa->NXM_NX_IPV6_SRC[0..63],load:0xfe8001234567890a->NXM_NX_IPV6_SRC[64..127]
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:282"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:286: check_logs "
at_fn_check_prepare_trace "ofproto.at:286"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:286"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:286: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:286"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:286"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:286: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:286"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:286"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_576
#AT_START_577
at_fn_group_banner 577 'ofproto.at:289' \
  "ofproto - basic flow_mod commands (OpenFlow 1.2)" "" 43
at_xfail=no
(
  $as_echo "577. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:290: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:290"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:290"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:290: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:290"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:290"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:290: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:290"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:290"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:290: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:290"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:290"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:290: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:290"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:290"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:290: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:290"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:290"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:290: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:290"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:290"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:291: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:291"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:291"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:293: echo 'in_port=2,actions=1' | ovs-ofctl -O OpenFlow12 add-flows br0 -"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:293"
( $at_check_trace; echo 'in_port=2,actions=1' | ovs-ofctl -O OpenFlow12 add-flows br0 -
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:293"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:294: ovs-ofctl -O OpenFlow12 add-flow br0 in_port=1,actions=2"
at_fn_check_prepare_trace "ofproto.at:294"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 in_port=1,actions=2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:294"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:295: ovs-ofctl -O OpenFlow12 add-flow br0 table=1,in_port=4,actions=3"
at_fn_check_prepare_trace "ofproto.at:295"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 table=1,in_port=4,actions=3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:295"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:296: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:296"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " in_port=1 actions=output:2
 in_port=2 actions=output:1
 table=1, in_port=4 actions=output:3
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:296"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:302: ovs-ofctl -O OpenFlow12 del-flows br0"
at_fn_check_prepare_trace "ofproto.at:302"
( $at_check_trace; ovs-ofctl -O OpenFlow12 del-flows br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:302"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:303: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:303"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:303"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:305: check_logs "
at_fn_check_prepare_trace "ofproto.at:305"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:305"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:305: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:305"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:305"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:305: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:305"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:305"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_577
#AT_START_578
at_fn_group_banner 578 'ofproto.at:308' \
  "ofproto - dump flows with cookie" "               " 43
at_xfail=no
(
  $as_echo "578. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:309: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:309"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:309"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:309: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:309"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:309"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:309: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:309"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:309"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:309: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:309"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:309"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:309: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:309"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:309"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:309: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:309"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:309"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:309: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:309"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:309"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:310: ovs-ofctl add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:310"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:310"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:311: ovs-ofctl add-flow br0 cookie=0x2,in_port=2,actions=1"
at_fn_check_prepare_trace "ofproto.at:311"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x2,in_port=2,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:311"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:312: ovs-ofctl add-flow br0 cookie=0x3,in_port=3,actions=1"
at_fn_check_prepare_trace "ofproto.at:312"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x3,in_port=3,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:312"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:313: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:313"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
 cookie=0x2, in_port=2 actions=output:1
 cookie=0x3, in_port=3 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:313"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:319: ovs-ofctl dump-aggregate br0 table=0 | sed 's/ (xid=0x[0-9a-fA-F]*)//'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:319"
( $at_check_trace; ovs-ofctl dump-aggregate br0 table=0 | sed 's/ (xid=0x[0-9a-fA-F]*)//'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_AGGREGATE reply: packet_count=0 byte_count=0 flow_count=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:319"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:322: ovs-ofctl dump-flows br0 cookie=0x3/-1 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:322"
( $at_check_trace; ovs-ofctl dump-flows br0 cookie=0x3/-1 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x3, in_port=3 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:322"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:326: ovs-ofctl dump-aggregate br0 cookie=0x3/-1 | sed 's/ (xid=0x[0-9a-fA-F]*)//'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:326"
( $at_check_trace; ovs-ofctl dump-aggregate br0 cookie=0x3/-1 | sed 's/ (xid=0x[0-9a-fA-F]*)//'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_AGGREGATE reply: packet_count=0 byte_count=0 flow_count=1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:326"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:329: check_logs "
at_fn_check_prepare_trace "ofproto.at:329"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:329"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:329: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:329"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:329"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:329: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:329"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:329"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_578
#AT_START_579
at_fn_group_banner 579 'ofproto.at:332' \
  "ofproto - mod flow with cookie change (OpenFlow 1.0)" "" 43
at_xfail=no
(
  $as_echo "579. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:333: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:333"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:333"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:333: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:333"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:333"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:333: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:333"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:333"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:333: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:333"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:333"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:333: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:333"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:333"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:333: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:333"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:333"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:333: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:333"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:333"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:334: ovs-ofctl -F openflow10 add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:334"
( $at_check_trace; ovs-ofctl -F openflow10 add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:334"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:335: ovs-ofctl -F openflow10 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:335"
( $at_check_trace; ovs-ofctl -F openflow10 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
OFPST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:335"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:340: ovs-ofctl -F openflow10 mod-flows br0 cookie=0x2,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:340"
( $at_check_trace; ovs-ofctl -F openflow10 mod-flows br0 cookie=0x2,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:340"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:341: ovs-ofctl -F openflow10 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:341"
( $at_check_trace; ovs-ofctl -F openflow10 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x2, in_port=1 actions=output:1
OFPST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:341"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:345: check_logs "
at_fn_check_prepare_trace "ofproto.at:345"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:345"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:345: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:345"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:345"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:345: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:345"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:345"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_579
#AT_START_580
at_fn_group_banner 580 'ofproto.at:348' \
  "ofproto - mod flow with cookie change (NXM)" "    " 43
at_xfail=no
(
  $as_echo "580. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:349: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:349"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:349"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:349: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:349"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:349"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:349: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:349"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:349"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:349: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:349"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:349"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:349: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:349"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:349"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:349: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:349"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:349"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:349: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:349"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:349"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:350: ovs-ofctl -F nxm add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:350"
( $at_check_trace; ovs-ofctl -F nxm add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:350"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:351: ovs-ofctl -F nxm dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:351"
( $at_check_trace; ovs-ofctl -F nxm dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:351"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:356: ovs-ofctl -F nxm mod-flows br0 cookie=0x2,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:356"
( $at_check_trace; ovs-ofctl -F nxm mod-flows br0 cookie=0x2,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:356"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:357: ovs-ofctl -F nxm dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:357"
( $at_check_trace; ovs-ofctl -F nxm dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x2, in_port=1 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:357"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:361: check_logs "
at_fn_check_prepare_trace "ofproto.at:361"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:361: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:361"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:361: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:361"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_580
#AT_START_581
at_fn_group_banner 581 'ofproto.at:364' \
  "ofproto - no mod flow with cookie change (OpenFlow 1.1)" "" 43
at_xfail=no
(
  $as_echo "581. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:365: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:365"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:365"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:365: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:365"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:365"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:365: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:365"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:365"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:365: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:365"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:365"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:365: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:365"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:365"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:365: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:365"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:365"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:365: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:365"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:365"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:366: ovs-ofctl -O OpenFlow11 add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:366"
( $at_check_trace; ovs-ofctl -O OpenFlow11 add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:366"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:367: ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:367"
( $at_check_trace; ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
OFPST_FLOW reply (OF1.1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:367"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:371: ovs-ofctl -O OpenFlow11 mod-flows br0 cookie=0x2,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:371"
( $at_check_trace; ovs-ofctl -O OpenFlow11 mod-flows br0 cookie=0x2,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:371"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:372: ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:372"
( $at_check_trace; ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
OFPST_FLOW reply (OF1.1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:376: check_logs "
at_fn_check_prepare_trace "ofproto.at:376"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:376: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:376"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:376: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:376"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:376"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_581
#AT_START_582
at_fn_group_banner 582 'ofproto.at:380' \
  "ofproto - no mod flow with cookie change (OpenFlow 1.2)" "" 43
at_xfail=no
(
  $as_echo "582. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:381: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:381"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:381"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:381: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:381"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:381"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:381: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:381"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:381"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:381: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:381"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:381"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:381: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:381"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:381"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:381: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:381"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:381"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:381: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:381"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:381"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:382: ovs-ofctl -O OpenFlow12 add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:382"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:382"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:383: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:383"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:383"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:388: ovs-ofctl -O OpenFlow12 mod-flows br0 cookie=0x2,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:388"
( $at_check_trace; ovs-ofctl -O OpenFlow12 mod-flows br0 cookie=0x2,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:388"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:389: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:389"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:389"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:393: check_logs "
at_fn_check_prepare_trace "ofproto.at:393"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:393"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:393: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:393"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:393"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:393: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:393"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:393"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_582
#AT_START_583
at_fn_group_banner 583 'ofproto.at:396' \
  "ofproto - mod flows based on cookie mask (OpenFlow 1.0)" "" 43
at_xfail=no
(
  $as_echo "583. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:397: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:397"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:397"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:397: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:397"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:397"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:397: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:397"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:397"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:397: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:397"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:397"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:397: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:397"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:397"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:397: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:397"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:397"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:397: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:397"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:397"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:398: ovs-ofctl add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:398"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:398"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:399: ovs-ofctl add-flow br0 cookie=0x1,in_port=2,actions=1"
at_fn_check_prepare_trace "ofproto.at:399"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x1,in_port=2,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:399"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:400: ovs-ofctl add-flow br0 cookie=0x2,in_port=3,actions=1"
at_fn_check_prepare_trace "ofproto.at:400"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x2,in_port=3,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:400"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:401: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:401"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
 cookie=0x1, in_port=2 actions=output:1
 cookie=0x2, in_port=3 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:401"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:408: ovs-ofctl -F nxm mod-flows br0 cookie=0x1/0xff,actions=4"
at_fn_check_prepare_trace "ofproto.at:408"
( $at_check_trace; ovs-ofctl -F nxm mod-flows br0 cookie=0x1/0xff,actions=4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:408"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:409: ovs-ofctl -F nxm dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:409"
( $at_check_trace; ovs-ofctl -F nxm dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:4
 cookie=0x1, in_port=2 actions=output:4
 cookie=0x2, in_port=3 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:409"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:415: check_logs "
at_fn_check_prepare_trace "ofproto.at:415"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:415"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:415: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:415"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:415"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:415: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:415"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:415"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_583
#AT_START_584
at_fn_group_banner 584 'ofproto.at:418' \
  "ofproto - mod flows based on cookie mask (OpenFlow 1.1)" "" 43
at_xfail=no
(
  $as_echo "584. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:419: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:419"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:419"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:419: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:419"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:419"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:419: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:419"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:419"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:419: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:419"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:419"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:419: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:419"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:419"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:419: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:419"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:419"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:419: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:419"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:419"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:420: ovs-ofctl -O OpenFlow11 add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:420"
( $at_check_trace; ovs-ofctl -O OpenFlow11 add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:420"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:421: ovs-ofctl -O OpenFlow11 add-flow br0 cookie=0x1,in_port=2,actions=1"
at_fn_check_prepare_trace "ofproto.at:421"
( $at_check_trace; ovs-ofctl -O OpenFlow11 add-flow br0 cookie=0x1,in_port=2,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:421"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:422: ovs-ofctl -O OpenFlow11 add-flow br0 cookie=0x2,in_port=3,actions=1"
at_fn_check_prepare_trace "ofproto.at:422"
( $at_check_trace; ovs-ofctl -O OpenFlow11 add-flow br0 cookie=0x2,in_port=3,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:422"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:423: ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:423"
( $at_check_trace; ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
 cookie=0x1, in_port=2 actions=output:1
 cookie=0x2, in_port=3 actions=output:1
OFPST_FLOW reply (OF1.1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:423"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:430: ovs-ofctl -O OpenFlow11 mod-flows br0 cookie=0x1/0xff,actions=4"
at_fn_check_prepare_trace "ofproto.at:430"
( $at_check_trace; ovs-ofctl -O OpenFlow11 mod-flows br0 cookie=0x1/0xff,actions=4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:430"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:431: ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:431"
( $at_check_trace; ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:4
 cookie=0x1, in_port=2 actions=output:4
 cookie=0x2, in_port=3 actions=output:1
OFPST_FLOW reply (OF1.1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:431"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:437: check_logs "
at_fn_check_prepare_trace "ofproto.at:437"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:437"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:437: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:437"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:437"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:437: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:437"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:437"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_584
#AT_START_585
at_fn_group_banner 585 'ofproto.at:440' \
  "ofproto - mod flows based on cookie mask (OpenFlow 1.2)" "" 43
at_xfail=no
(
  $as_echo "585. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:441: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:441"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:441"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:441: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:441"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:441"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:441: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:441"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:441"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:441: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:441"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:441"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:441: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:441"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:441"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:441: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:441"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:441"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:441: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:441"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:441"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:442: ovs-ofctl -O OpenFlow12 add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:442"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:442"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:443: ovs-ofctl -O OpenFlow12 add-flow br0 cookie=0x1,in_port=2,actions=1"
at_fn_check_prepare_trace "ofproto.at:443"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 cookie=0x1,in_port=2,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:443"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:444: ovs-ofctl -O OpenFlow12 add-flow br0 cookie=0x2,in_port=3,actions=1"
at_fn_check_prepare_trace "ofproto.at:444"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 cookie=0x2,in_port=3,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:444"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:445: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:445"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
 cookie=0x1, in_port=2 actions=output:1
 cookie=0x2, in_port=3 actions=output:1
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:452: ovs-ofctl -O OpenFlow12 mod-flows br0 cookie=0x1/0xff,actions=4"
at_fn_check_prepare_trace "ofproto.at:452"
( $at_check_trace; ovs-ofctl -O OpenFlow12 mod-flows br0 cookie=0x1/0xff,actions=4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:452"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:453: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:453"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:4
 cookie=0x1, in_port=2 actions=output:4
 cookie=0x2, in_port=3 actions=output:1
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:453"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:459: check_logs "
at_fn_check_prepare_trace "ofproto.at:459"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:459"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:459: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:459"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:459"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:459: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:459"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:459"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_585
#AT_START_586
at_fn_group_banner 586 'ofproto.at:463' \
  "ofproto - mod flows based on cookie mask with cookie change" "" 43
at_xfail=no
(
  $as_echo "586. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:464: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:464"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:464"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:464: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:464"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:464"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:464: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:464"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:464"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:464: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:464"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:464: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:464"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:464: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:464"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:464: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:464"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:464"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:465: ovs-ofctl add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:465"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:465"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:466: ovs-ofctl add-flow br0 cookie=0x1,in_port=2,actions=1"
at_fn_check_prepare_trace "ofproto.at:466"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x1,in_port=2,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:466"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:467: ovs-ofctl add-flow br0 cookie=0x2,in_port=3,actions=1"
at_fn_check_prepare_trace "ofproto.at:467"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x2,in_port=3,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:467"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:468: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:468"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
 cookie=0x1, in_port=2 actions=output:1
 cookie=0x2, in_port=3 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:468"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:475: ovs-ofctl -F nxm mod-flows br0 cookie=1/-1,cookie=4,actions=4"
at_fn_check_prepare_trace "ofproto.at:475"
( $at_check_trace; ovs-ofctl -F nxm mod-flows br0 cookie=1/-1,cookie=4,actions=4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:475"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:476: ovs-ofctl -F nxm dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:476"
( $at_check_trace; ovs-ofctl -F nxm dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x2, in_port=3 actions=output:1
 cookie=0x4, in_port=1 actions=output:4
 cookie=0x4, in_port=2 actions=output:4
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:476"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:482: check_logs "
at_fn_check_prepare_trace "ofproto.at:482"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:482"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:482: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:482"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:482"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:482: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:482"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:482"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_586
#AT_START_587
at_fn_group_banner 587 'ofproto.at:485' \
  "ofproto - mod flow with cookie miss (mask==0) - NXM" "" 43
at_xfail=no
(
  $as_echo "587. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:486: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:486"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:486"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:486: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:486"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:486"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:486: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:486"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:486"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:486: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:486"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:486"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:486: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:486"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:486"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:486: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:486"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:486"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:486: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:486"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:486"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:487: ovs-ofctl -F nxm mod-flows br0 in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:487"
( $at_check_trace; ovs-ofctl -F nxm mod-flows br0 in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:487"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:488: ovs-ofctl -F nxm dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:488"
( $at_check_trace; ovs-ofctl -F nxm dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " in_port=1 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:488"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:492: check_logs "
at_fn_check_prepare_trace "ofproto.at:492"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:492"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:492: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:492"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:492"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:492: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:492"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:492"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_587
#AT_START_588
at_fn_group_banner 588 'ofproto.at:495' \
  "ofproto - mod flow with cookie miss (mask==0) - OF1.1" "" 43
at_xfail=no
(
  $as_echo "588. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:496: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:496"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:496"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:496: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:496"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:496"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:496: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:496"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:496"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:496: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:496"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:496"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:496: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:496"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:496"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:496: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:496"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:496"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:496: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:496"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:496"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:497: ovs-ofctl -O openflow11 mod-flows br0 in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:497"
( $at_check_trace; ovs-ofctl -O openflow11 mod-flows br0 in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:497"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:498: ovs-ofctl -O openflow11 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:498"
( $at_check_trace; ovs-ofctl -O openflow11 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " in_port=1 actions=output:1
OFPST_FLOW reply (OF1.1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:498"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:502: check_logs "
at_fn_check_prepare_trace "ofproto.at:502"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:502"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:502: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:502"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:502"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:502: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:502"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:502"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_588
#AT_START_589
at_fn_group_banner 589 'ofproto.at:505' \
  "ofproto - mod flow with cookie miss (mask==0) - OF1.2" "" 43
at_xfail=no
(
  $as_echo "589. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:506: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:506"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:506"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:506: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:506"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:506"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:506: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:506"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:506"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:506: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:506"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:506"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:506: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:506"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:506"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:506: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:506"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:506"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:506: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:506"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:506"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:507: ovs-ofctl -O openflow12 mod-flows br0 in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:507"
( $at_check_trace; ovs-ofctl -O openflow12 mod-flows br0 in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:507"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:508: ovs-ofctl -O openflow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:508"
( $at_check_trace; ovs-ofctl -O openflow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:508"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:511: check_logs "
at_fn_check_prepare_trace "ofproto.at:511"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:511: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:511"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:511: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:511"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:511"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_589
#AT_START_590
at_fn_group_banner 590 'ofproto.at:514' \
  "ofproto - mod flow with cookie miss (mask!=0) - NXM" "" 43
at_xfail=no
(
  $as_echo "590. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:515: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:515"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:515"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:515: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:515"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:515"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:515: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:515"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:515"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:515: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:515"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:515"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:515: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:515"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:515"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:515: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:515"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:515"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:515: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:515"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:515"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:516: ovs-ofctl -F nxm mod-flows br0 cookie=1/1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:516"
( $at_check_trace; ovs-ofctl -F nxm mod-flows br0 cookie=1/1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:516"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:517: ovs-ofctl -F nxm dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:517"
( $at_check_trace; ovs-ofctl -F nxm dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:517"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:520: check_logs "
at_fn_check_prepare_trace "ofproto.at:520"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:520"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:520: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:520"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:520"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:520: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:520"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:520"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_590
#AT_START_591
at_fn_group_banner 591 'ofproto.at:523' \
  "ofproto - mod flow with cookie miss (mask!=0) - OF1.1" "" 43
at_xfail=no
(
  $as_echo "591. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:524: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:524"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:524"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:524: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:524"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:524"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:524: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:524"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:524"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:524: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:524"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:524"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:524: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:524"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:524"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:524: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:524"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:524"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:524: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:524"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:524"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:525: ovs-ofctl -O openflow11 mod-flows br0 cookie=1/1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:525"
( $at_check_trace; ovs-ofctl -O openflow11 mod-flows br0 cookie=1/1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:525"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:526: ovs-ofctl -O openflow11 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:526"
( $at_check_trace; ovs-ofctl -O openflow11 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (OF1.1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:526"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:529: check_logs "
at_fn_check_prepare_trace "ofproto.at:529"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:529"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:529: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:529"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:529"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:529: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:529"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:529"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_591
#AT_START_592
at_fn_group_banner 592 'ofproto.at:532' \
  "ofproto - mod flow with cookie miss (mask!=0) - OF1.2" "" 43
at_xfail=no
(
  $as_echo "592. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:533: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:533"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:533"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:533: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:533"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:533"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:533: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:533"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:533"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:533: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:533"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:533"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:533: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:533"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:533"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:533: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:533"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:533"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:533: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:533"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:533"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:534: ovs-ofctl -O openflow12 mod-flows br0 cookie=1/1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:534"
( $at_check_trace; ovs-ofctl -O openflow12 mod-flows br0 cookie=1/1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:534"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:535: ovs-ofctl -O openflow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:535"
( $at_check_trace; ovs-ofctl -O openflow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:535"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:538: check_logs "
at_fn_check_prepare_trace "ofproto.at:538"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:538"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:538: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:538"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:538"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:538: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:538"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:538"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_592
#AT_START_593
at_fn_group_banner 593 'ofproto.at:541' \
  "ofproto - del flows with cookies" "               " 43
at_xfail=no
(
  $as_echo "593. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:542: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:542"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:542"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:542: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:542"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:542"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:542: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:542"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:542"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:542: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:542"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:542"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:542: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:542"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:542"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:542: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:542"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:542"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:542: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:542"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:542"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:543: ovs-ofctl add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:543"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:543"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:544: ovs-ofctl add-flow br0 cookie=0x2,in_port=2,actions=1"
at_fn_check_prepare_trace "ofproto.at:544"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x2,in_port=2,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:544"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:545: ovs-ofctl add-flow br0 cookie=0x3,in_port=3,actions=1"
at_fn_check_prepare_trace "ofproto.at:545"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x3,in_port=3,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:545"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:546: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:546"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
 cookie=0x2, in_port=2 actions=output:1
 cookie=0x3, in_port=3 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:546"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:553: ovs-ofctl del-flows br0"
at_fn_check_prepare_trace "ofproto.at:553"
( $at_check_trace; ovs-ofctl del-flows br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:553"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:554: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:554"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:554"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:557: check_logs "
at_fn_check_prepare_trace "ofproto.at:557"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:557"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:557: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:557"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:557"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:557: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:557"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:557"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_593
#AT_START_594
at_fn_group_banner 594 'ofproto.at:560' \
  "ofproto - del flows based on cookie" "            " 43
at_xfail=no
(
  $as_echo "594. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:561: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:561"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:561: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:561"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:561: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:561"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:561: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:561"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:561"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:561: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:561"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:561"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:561: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:561"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:561"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:561: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:561"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:561"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:562: ovs-ofctl add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:562"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:562"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:563: ovs-ofctl add-flow br0 cookie=0x2,in_port=2,actions=1"
at_fn_check_prepare_trace "ofproto.at:563"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x2,in_port=2,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:563"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:564: ovs-ofctl add-flow br0 cookie=0x3,in_port=3,actions=1"
at_fn_check_prepare_trace "ofproto.at:564"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x3,in_port=3,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:564"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:565: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:565"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
 cookie=0x2, in_port=2 actions=output:1
 cookie=0x3, in_port=3 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:565"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:572: ovs-ofctl del-flows br0 cookie=0x3/-1"
at_fn_check_prepare_trace "ofproto.at:572"
( $at_check_trace; ovs-ofctl del-flows br0 cookie=0x3/-1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:572"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:573: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:573"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
 cookie=0x2, in_port=2 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:573"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:578: check_logs "
at_fn_check_prepare_trace "ofproto.at:578"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:578"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:578: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:578"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:578"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:578: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:578"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:578"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_594
#AT_START_595
at_fn_group_banner 595 'ofproto.at:581' \
  "ofproto - del flows based on cookie mask" "       " 43
at_xfail=no
(
  $as_echo "595. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:582: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:582"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:582"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:582: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:582"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:582"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:582: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:582"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:582"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:582: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:582"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:582"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:582: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:582"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:582"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:582: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:582"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:582"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:582: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:582"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:582"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:583: ovs-ofctl add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:583"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:583"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:584: ovs-ofctl add-flow br0 cookie=0x2,in_port=2,actions=1"
at_fn_check_prepare_trace "ofproto.at:584"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x2,in_port=2,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:584"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:585: ovs-ofctl add-flow br0 cookie=0x3,in_port=3,actions=1"
at_fn_check_prepare_trace "ofproto.at:585"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x3,in_port=3,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:585"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:586: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:586"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
 cookie=0x2, in_port=2 actions=output:1
 cookie=0x3, in_port=3 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:586"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:592: ovs-ofctl del-flows br0 cookie=0x3/0x1"
at_fn_check_prepare_trace "ofproto.at:592"
( $at_check_trace; ovs-ofctl del-flows br0 cookie=0x3/0x1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:592"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:593: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:593"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x2, in_port=2 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:593"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:597: check_logs "
at_fn_check_prepare_trace "ofproto.at:597"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:597"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:597: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:597"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:597"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:597: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:597"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:597"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_595
#AT_START_596
at_fn_group_banner 596 'ofproto.at:600' \
  "ofproto - del flows based on table id (NXM)" "    " 43
at_xfail=no
(
  $as_echo "596. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:601: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:601"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:601"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:601: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:601"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:601"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:601: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:601"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:601"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:601: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:601"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:601"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:601: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:601"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:601"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:601: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:601"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:601"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:601: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:601"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:601"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:602: ovs-ofctl add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:602"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:602"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:603: ovs-ofctl add-flow br0 cookie=0x2,in_port=2,table=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:603"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x2,in_port=2,table=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:603"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:604: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:604"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
 cookie=0x2, table=1, in_port=2 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:604"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:609: ovs-ofctl del-flows br0 table=0"
at_fn_check_prepare_trace "ofproto.at:609"
( $at_check_trace; ovs-ofctl del-flows br0 table=0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:609"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:610: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:610"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x2, table=1, in_port=2 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:610"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:614: ovs-ofctl del-flows br0 table=1"
at_fn_check_prepare_trace "ofproto.at:614"
( $at_check_trace; ovs-ofctl del-flows br0 table=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:614"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:615: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:615"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:615"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:618: ovs-ofctl add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:618"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:618"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:619: ovs-ofctl add-flow br0 cookie=0x2,in_port=2,table=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:619"
( $at_check_trace; ovs-ofctl add-flow br0 cookie=0x2,in_port=2,table=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:619"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:620: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:620"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
 cookie=0x2, table=1, in_port=2 actions=output:1
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:620"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:625: ovs-ofctl del-flows br0"
at_fn_check_prepare_trace "ofproto.at:625"
( $at_check_trace; ovs-ofctl del-flows br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:625"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:626: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:626"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:626"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:629: check_logs "
at_fn_check_prepare_trace "ofproto.at:629"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:629"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:629: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:629"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:629"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:629: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:629"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:629"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_596
#AT_START_597
at_fn_group_banner 597 'ofproto.at:632' \
  "ofproto - del flows based on table id (OpenFlow 1.1)" "" 43
at_xfail=no
(
  $as_echo "597. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:633: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:633"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:633"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:633: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:633"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:633"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:633: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:633"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:633"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:633: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:633"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:633"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:633: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:633"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:633"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:633: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:633"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:633"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:633: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:633"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:633"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:634: ovs-ofctl -O OpenFlow11 add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:634"
( $at_check_trace; ovs-ofctl -O OpenFlow11 add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:634"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:635: ovs-ofctl -O OpenFlow11 add-flow br0 cookie=0x2,in_port=2,table=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:635"
( $at_check_trace; ovs-ofctl -O OpenFlow11 add-flow br0 cookie=0x2,in_port=2,table=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:635"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:636: ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:636"
( $at_check_trace; ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
 cookie=0x2, table=1, in_port=2 actions=output:1
OFPST_FLOW reply (OF1.1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:641: ovs-ofctl -O OpenFlow11 del-flows br0 table=0"
at_fn_check_prepare_trace "ofproto.at:641"
( $at_check_trace; ovs-ofctl -O OpenFlow11 del-flows br0 table=0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:641"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:642: ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:642"
( $at_check_trace; ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x2, table=1, in_port=2 actions=output:1
OFPST_FLOW reply (OF1.1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:642"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:646: ovs-ofctl -O OpenFlow11 del-flows br0 table=1"
at_fn_check_prepare_trace "ofproto.at:646"
( $at_check_trace; ovs-ofctl -O OpenFlow11 del-flows br0 table=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:646"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:647: ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:647"
( $at_check_trace; ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (OF1.1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:647"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:650: ovs-ofctl -O OpenFlow11 add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:650"
( $at_check_trace; ovs-ofctl -O OpenFlow11 add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:650"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:651: ovs-ofctl -O OpenFlow11 add-flow br0 cookie=0x2,in_port=2,table=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:651"
( $at_check_trace; ovs-ofctl -O OpenFlow11 add-flow br0 cookie=0x2,in_port=2,table=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:652: ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:652"
( $at_check_trace; ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
 cookie=0x2, table=1, in_port=2 actions=output:1
OFPST_FLOW reply (OF1.1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:652"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:657: ovs-ofctl -O OpenFlow11 del-flows br0"
at_fn_check_prepare_trace "ofproto.at:657"
( $at_check_trace; ovs-ofctl -O OpenFlow11 del-flows br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:657"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:658: ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:658"
( $at_check_trace; ovs-ofctl -O OpenFlow11 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (OF1.1):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:658"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:661: check_logs "
at_fn_check_prepare_trace "ofproto.at:661"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:661"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:661: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:661"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:661"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:661: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:661"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:661"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_597
#AT_START_598
at_fn_group_banner 598 'ofproto.at:664' \
  "ofproto - del flows based on table id (OpenFlow 1.2)" "" 43
at_xfail=no
(
  $as_echo "598. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:665: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:665"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:665"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:665: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:665"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:665"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:665: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:665"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:665"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:665: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:665"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:665"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:665: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:665"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:665"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:665: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:665"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:665"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:665: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:665"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:665"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:666: ovs-ofctl -O OpenFlow12 add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:666"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:666"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:667: ovs-ofctl -O OpenFlow12 add-flow br0 cookie=0x2,in_port=2,table=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:667"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 cookie=0x2,in_port=2,table=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:667"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:668: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:668"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
 cookie=0x2, table=1, in_port=2 actions=output:1
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:668"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:673: ovs-ofctl -O OpenFlow12 del-flows br0 table=0"
at_fn_check_prepare_trace "ofproto.at:673"
( $at_check_trace; ovs-ofctl -O OpenFlow12 del-flows br0 table=0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:673"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:674: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:674"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x2, table=1, in_port=2 actions=output:1
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:674"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:678: ovs-ofctl -O OpenFlow12 del-flows br0 table=1"
at_fn_check_prepare_trace "ofproto.at:678"
( $at_check_trace; ovs-ofctl -O OpenFlow12 del-flows br0 table=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:678"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:679: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:679"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:679"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:682: ovs-ofctl -O OpenFlow12 add-flow br0 cookie=0x1,in_port=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:682"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 cookie=0x1,in_port=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:682"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:683: ovs-ofctl -O OpenFlow12 add-flow br0 cookie=0x2,in_port=2,table=1,actions=1"
at_fn_check_prepare_trace "ofproto.at:683"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 cookie=0x2,in_port=2,table=1,actions=1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:683"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:684: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:684"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, in_port=1 actions=output:1
 cookie=0x2, table=1, in_port=2 actions=output:1
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:684"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:689: ovs-ofctl -O OpenFlow12 del-flows br0"
at_fn_check_prepare_trace "ofproto.at:689"
( $at_check_trace; ovs-ofctl -O OpenFlow12 del-flows br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:689"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:690: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:690"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:690"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:693: check_logs "
at_fn_check_prepare_trace "ofproto.at:693"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:693"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:693: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:693"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:693"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:693: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:693"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:693"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_598
#AT_START_599
at_fn_group_banner 599 'ofproto.at:696' \
  "ofproto - flow table configuration (OpenFlow 1.0)" "" 43
at_xfail=no
(
  $as_echo "599. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:697: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:697"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:697"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:697: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:697"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:697"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:697: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:697"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:697"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:697: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:697"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:697"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:697: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:697"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:697"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:697: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:697"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:697"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:697: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:697"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:697"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Check the default configuration.
(echo "OFPST_TABLE reply (xid=0x2): 254 tables
  0: classifier: wild=0x3fffff, max=1000000, active=0
               lookup=0, matched=0"
 x=1
 while test $x -lt 254; do
   printf "  %d: %-8s: wild=0x3fffff, max=1000000, active=0
               lookup=0, matched=0
" $x table$x
   x=`expr $x + 1`
 done) > expout
{ set +x
$as_echo "$at_srcdir/ofproto.at:709: ovs-ofctl dump-tables br0"
at_fn_check_prepare_trace "ofproto.at:709"
( $at_check_trace; ovs-ofctl dump-tables br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:709"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Change the configuration.
{ set +x
$as_echo "$at_srcdir/ofproto.at:711: ovs-vsctl \\
     -- --id=@t0 create Flow_Table name=main \\
     -- --id=@t1 create Flow_Table flow-limit=1024 \\
     -- set bridge br0 'flow_tables={1=@t1,0=@t0}' \\
   | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ofproto.at:711"
( $at_check_trace; ovs-vsctl \
     -- --id=@t0 create Flow_Table name=main \
     -- --id=@t1 create Flow_Table flow-limit=1024 \
     -- set bridge br0 'flow_tables={1=@t1,0=@t0}' \
   | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "<0>
<1>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Check that the configuration was updated.
mv expout orig-expout
(echo "OFPST_TABLE reply (xid=0x2): 254 tables
  0: main    : wild=0x3fffff, max=1000000, active=0
               lookup=0, matched=0
  1: table1  : wild=0x3fffff, max=  1024, active=0
               lookup=0, matched=0"
 tail -n +6 orig-expout) > expout
{ set +x
$as_echo "$at_srcdir/ofproto.at:728: ovs-ofctl dump-tables br0"
at_fn_check_prepare_trace "ofproto.at:728"
( $at_check_trace; ovs-ofctl dump-tables br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:728"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:729: check_logs "
at_fn_check_prepare_trace "ofproto.at:729"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:729"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:729: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:729"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:729"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:729: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:729"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:729"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_599
#AT_START_600
at_fn_group_banner 600 'ofproto.at:732' \
  "ofproto - flow table configuration (OpenFlow 1.2)" "" 43
at_xfail=no
(
  $as_echo "600. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:733: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:733"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:733"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:733: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:733"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:733"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:733: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:733"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:733"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:733: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:733"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:733"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:733: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:733"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:733"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:733: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:733"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:733"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:733: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:733"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:733"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Check the default configuration.
(mid="wild=0xffffffffff, max=1000000,"
 tail="
               lookup=0, matched=0
               match=0xffffffffff, instructions=0x00000007, config=0x00000003
               write_actions=0x00000000, apply_actions=0x00000000
               write_setfields=0x000000ffffffffff
               apply_setfields=0x000000ffffffffff
               metadata_match=0xffffffffffffffff
               metadata_write=0xffffffffffffffff"
 echo "OFPST_TABLE reply (OF1.2) (xid=0x2): 254 tables
  0: classifier: $mid active=0$tail"
 x=1
 while test $x -lt 254; do
   printf "  %d: %-8s: $mid active=0$tail
" $x table$x
   x=`expr $x + 1`
 done) > expout
{ set +x
$as_echo "$at_srcdir/ofproto.at:752: ovs-ofctl -O OpenFlow12 dump-tables br0"
at_fn_check_prepare_trace "ofproto.at:752"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-tables br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:752"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Change the configuration.
{ set +x
$as_echo "$at_srcdir/ofproto.at:754: ovs-vsctl \\
     -- --id=@t0 create Flow_Table name=main \\
     -- --id=@t1 create Flow_Table flow-limit=1024 \\
     -- set bridge br0 'flow_tables={1=@t1,0=@t0}' \\
   | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ofproto.at:754"
( $at_check_trace; ovs-vsctl \
     -- --id=@t0 create Flow_Table name=main \
     -- --id=@t1 create Flow_Table flow-limit=1024 \
     -- set bridge br0 'flow_tables={1=@t1,0=@t0}' \
   | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "<0>
<1>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:754"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Check that the configuration was updated.
mv expout orig-expout
(echo "OFPST_TABLE reply (OF1.2) (xid=0x2): 254 tables
  0: main    : wild=0xffffffffff, max=1000000, active=0"
 tail -n +3 orig-expout | head -7
 echo "  1: table1  : wild=0xffffffffff, max=  1024, active=0"
 tail -n +11 orig-expout) > expout
{ set +x
$as_echo "$at_srcdir/ofproto.at:770: ovs-ofctl -O OpenFlow12 dump-tables br0"
at_fn_check_prepare_trace "ofproto.at:770"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-tables br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:770"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:771: check_logs "
at_fn_check_prepare_trace "ofproto.at:771"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:771: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:771"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:771: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:771"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_600
#AT_START_601
at_fn_group_banner 601 'ofproto.at:774' \
  "ofproto - hard limits on flow table size (OpenFLow 1.0)" "" 43
at_xfail=no
(
  $as_echo "601. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:775: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:775"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:775"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:775: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:775"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:775"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:775: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:775"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:775"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:775: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:775"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:775"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:775: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:775"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:775"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:775: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:775"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:775"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:775: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:775"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:775"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Configure a maximum of 4 flows.
{ set +x
$as_echo "$at_srcdir/ofproto.at:777: ovs-vsctl \\
     -- --id=@t0 create Flow_Table flow-limit=4 \\
     -- set bridge br0 flow_tables:0=@t0 \\
   | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ofproto.at:777"
( $at_check_trace; ovs-vsctl \
     -- --id=@t0 create Flow_Table flow-limit=4 \
     -- set bridge br0 flow_tables:0=@t0 \
   | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "<0>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:777"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Add 4 flows.
for in_port in 1 2 3 4; do
    ovs-ofctl add-flow br0 in_port=$in_port,actions=drop
done
{ set +x
$as_echo "$at_srcdir/ofproto.at:788: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:788"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " in_port=1 actions=drop
 in_port=2 actions=drop
 in_port=3 actions=drop
 in_port=4 actions=drop
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:788"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Adding another flow will be refused.
{ set +x
$as_echo "$at_srcdir/ofproto.at:796: ovs-ofctl add-flow br0 in_port=5,actions=drop"
at_fn_check_prepare_trace "ofproto.at:796"
( $at_check_trace; ovs-ofctl add-flow br0 in_port=5,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ofproto.at:796"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:797: head -n 1 stderr | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:797"
( $at_check_trace; head -n 1 stderr | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR: OFPFMFC_TABLE_FULL
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:797"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Also a mod-flow that would add a flow will be refused.
{ set +x
$as_echo "$at_srcdir/ofproto.at:801: ovs-ofctl mod-flows br0 in_port=5,actions=drop"
at_fn_check_prepare_trace "ofproto.at:801"
( $at_check_trace; ovs-ofctl mod-flows br0 in_port=5,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ofproto.at:801"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:802: head -n 1 stderr | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:802"
( $at_check_trace; head -n 1 stderr | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR: OFPFMFC_TABLE_FULL
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:802"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Replacing or modifying an existing flow is allowed.
{ set +x
$as_echo "$at_srcdir/ofproto.at:806: ovs-ofctl add-flow br0 in_port=4,actions=normal"
at_fn_check_prepare_trace "ofproto.at:806"
( $at_check_trace; ovs-ofctl add-flow br0 in_port=4,actions=normal
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:806"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:807: ovs-ofctl mod-flows br0 in_port=3,actions=output:1"
at_fn_check_prepare_trace "ofproto.at:807"
( $at_check_trace; ovs-ofctl mod-flows br0 in_port=3,actions=output:1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:807"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:808: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:808"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " in_port=1 actions=drop
 in_port=2 actions=drop
 in_port=3 actions=output:1
 in_port=4 actions=NORMAL
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:808"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:815: check_logs "
at_fn_check_prepare_trace "ofproto.at:815"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:815"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:815: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:815"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:815"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:815: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:815"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:815"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_601
#AT_START_602
at_fn_group_banner 602 'ofproto.at:818' \
  "ofproto - hard limits on flow table size (OpenFLow 1.2)" "" 43
at_xfail=no
(
  $as_echo "602. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:819: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:819"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:819"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:819: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:819"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:819"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:819: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:819"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:819"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:819: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:819"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:819"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:819: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:819"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:819"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:819: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:819"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:819"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:819: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:819"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:819"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Configure a maximum of 4 flows.
{ set +x
$as_echo "$at_srcdir/ofproto.at:821: ovs-vsctl \\
     -- --id=@t0 create Flow_Table flow-limit=4 \\
     -- set bridge br0 flow_tables:0=@t0 \\
   | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ofproto.at:821"
( $at_check_trace; ovs-vsctl \
     -- --id=@t0 create Flow_Table flow-limit=4 \
     -- set bridge br0 flow_tables:0=@t0 \
   | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "<0>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:821"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Add 4 flows.
for in_port in 1 2 3 4; do
    ovs-ofctl -O OpenFlow12 add-flow br0 in_port=$in_port,actions=drop
done
{ set +x
$as_echo "$at_srcdir/ofproto.at:832: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:832"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " in_port=1 actions=drop
 in_port=2 actions=drop
 in_port=3 actions=drop
 in_port=4 actions=drop
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Adding another flow will be refused.
{ set +x
$as_echo "$at_srcdir/ofproto.at:840: ovs-ofctl -O OpenFlow12 add-flow br0 in_port=5,actions=drop"
at_fn_check_prepare_trace "ofproto.at:840"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 in_port=5,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ofproto.at:840"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:841: head -n 1 stderr | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:841"
( $at_check_trace; head -n 1 stderr | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (OF1.2): OFPFMFC_TABLE_FULL
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:841"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Replacing or modifying an existing flow is allowed.
{ set +x
$as_echo "$at_srcdir/ofproto.at:845: ovs-ofctl -O OpenFlow12 add-flow br0 in_port=4,actions=normal"
at_fn_check_prepare_trace "ofproto.at:845"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 in_port=4,actions=normal
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:845"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:846: ovs-ofctl -O OpenFlow12 mod-flows br0 in_port=3,actions=output:1"
at_fn_check_prepare_trace "ofproto.at:846"
( $at_check_trace; ovs-ofctl -O OpenFlow12 mod-flows br0 in_port=3,actions=output:1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:846"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:847: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:847"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " in_port=1 actions=drop
 in_port=2 actions=drop
 in_port=3 actions=output:1
 in_port=4 actions=NORMAL
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:847"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:854: check_logs "
at_fn_check_prepare_trace "ofproto.at:854"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:854"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:854: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:854"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:854"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:854: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:854"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:854"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_602
#AT_START_603
at_fn_group_banner 603 'ofproto.at:857' \
  "ofproto - eviction upon table overflow (OpenFlow 1.0)" "" 43
at_xfail=no
(
  $as_echo "603. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:858: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:858"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:858"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:858: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:858"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:858"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:858: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:858"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:858"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:858: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:858"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:858"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:858: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:858"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:858"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:858: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:858"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:858"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:858: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:858"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:858"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Configure a maximum of 4 flows.
{ set +x
$as_echo "$at_srcdir/ofproto.at:860: ovs-vsctl \\
     -- --id=@t0 create Flow_Table flow-limit=4 overflow-policy=evict \\
     -- set bridge br0 flow_tables:0=@t0 \\
   | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ofproto.at:860"
( $at_check_trace; ovs-vsctl \
     -- --id=@t0 create Flow_Table flow-limit=4 overflow-policy=evict \
     -- set bridge br0 flow_tables:0=@t0 \
   | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "<0>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:860"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Add 4 flows.
for in_port in 4 3 2 1; do
    ovs-ofctl add-flow br0 idle_timeout=${in_port}0,in_port=$in_port,actions=drop
done
{ set +x
$as_echo "$at_srcdir/ofproto.at:871: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:871"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " idle_timeout=10, in_port=1 actions=drop
 idle_timeout=20, in_port=2 actions=drop
 idle_timeout=30, in_port=3 actions=drop
 idle_timeout=40, in_port=4 actions=drop
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:871"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Adding another flow will cause the one that expires soonest to be evicted.
{ set +x
$as_echo "$at_srcdir/ofproto.at:879: ovs-ofctl add-flow br0 in_port=5,actions=drop"
at_fn_check_prepare_trace "ofproto.at:879"
( $at_check_trace; ovs-ofctl add-flow br0 in_port=5,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:879"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:880: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:880"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " idle_timeout=20, in_port=2 actions=drop
 idle_timeout=30, in_port=3 actions=drop
 idle_timeout=40, in_port=4 actions=drop
 in_port=5 actions=drop
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:880"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# A mod-flow that adds a flow also causes eviction, but replacing or
# modifying an existing flow doesn't.
{ set +x
$as_echo "$at_srcdir/ofproto.at:889: ovs-ofctl mod-flows br0 in_port=6,actions=drop"
at_fn_check_prepare_trace "ofproto.at:889"
( $at_check_trace; ovs-ofctl mod-flows br0 in_port=6,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:889"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:890: ovs-ofctl add-flow br0 in_port=4,actions=normal"
at_fn_check_prepare_trace "ofproto.at:890"
( $at_check_trace; ovs-ofctl add-flow br0 in_port=4,actions=normal
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:890"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:891: ovs-ofctl mod-flows br0 in_port=3,actions=output:1"
at_fn_check_prepare_trace "ofproto.at:891"
( $at_check_trace; ovs-ofctl mod-flows br0 in_port=3,actions=output:1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:891"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:892: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:892"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " idle_timeout=30, in_port=3 actions=output:1
 in_port=4 actions=NORMAL
 in_port=5 actions=drop
 in_port=6 actions=drop
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:892"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Flows with no timeouts at all cannot be evicted.
{ set +x
$as_echo "$at_srcdir/ofproto.at:900: ovs-ofctl add-flow br0 in_port=7,actions=normal"
at_fn_check_prepare_trace "ofproto.at:900"
( $at_check_trace; ovs-ofctl add-flow br0 in_port=7,actions=normal
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:900"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:901: ovs-ofctl add-flow br0 in_port=8,actions=drop"
at_fn_check_prepare_trace "ofproto.at:901"
( $at_check_trace; ovs-ofctl add-flow br0 in_port=8,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ofproto.at:901"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:902: head -n 1 stderr | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:902"
( $at_check_trace; head -n 1 stderr | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR: OFPFMFC_TABLE_FULL
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:902"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:905: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:905"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " in_port=4 actions=NORMAL
 in_port=5 actions=drop
 in_port=6 actions=drop
 in_port=7 actions=NORMAL
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:905"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:912: check_logs "
at_fn_check_prepare_trace "ofproto.at:912"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:912"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:912: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:912"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:912"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:912: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:912"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:912"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_603
#AT_START_604
at_fn_group_banner 604 'ofproto.at:915' \
  "ofproto - eviction upon table overflow (OpenFlow 1.2)" "" 43
at_xfail=no
(
  $as_echo "604. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:916: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:916"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:916"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:916: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:916"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:916"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:916: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:916"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:916"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:916: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:916"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:916"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:916: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:916"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:916"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:916: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:916"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:916"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:916: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:916"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:916"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Configure a maximum of 4 flows.
{ set +x
$as_echo "$at_srcdir/ofproto.at:918: ovs-vsctl \\
     -- --id=@t0 create Flow_Table flow-limit=4 overflow-policy=evict \\
     -- set bridge br0 flow_tables:0=@t0 \\
   | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ofproto.at:918"
( $at_check_trace; ovs-vsctl \
     -- --id=@t0 create Flow_Table flow-limit=4 overflow-policy=evict \
     -- set bridge br0 flow_tables:0=@t0 \
   | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "<0>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:918"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Add 4 flows.
for in_port in 4 3 2 1; do
    ovs-ofctl -O OpenFlow12 add-flow br0 idle_timeout=${in_port}0,in_port=$in_port,actions=drop
done
{ set +x
$as_echo "$at_srcdir/ofproto.at:929: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:929"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " idle_timeout=10, in_port=1 actions=drop
 idle_timeout=20, in_port=2 actions=drop
 idle_timeout=30, in_port=3 actions=drop
 idle_timeout=40, in_port=4 actions=drop
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:929"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Adding another flow will cause the one that expires soonest to be evicted.
{ set +x
$as_echo "$at_srcdir/ofproto.at:937: ovs-ofctl -O OpenFlow12 add-flow br0 in_port=5,actions=drop"
at_fn_check_prepare_trace "ofproto.at:937"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 in_port=5,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:937"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:938: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:938"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " idle_timeout=20, in_port=2 actions=drop
 idle_timeout=30, in_port=3 actions=drop
 idle_timeout=40, in_port=4 actions=drop
 in_port=5 actions=drop
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:938"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# In Open Flow 1.2 a mod-flow does not ever add a flow and thus
# has no effect on eviction
{ set +x
$as_echo "$at_srcdir/ofproto.at:947: ovs-ofctl -O OpenFlow12 mod-flows br0 in_port=6,actions=drop"
at_fn_check_prepare_trace "ofproto.at:947"
( $at_check_trace; ovs-ofctl -O OpenFlow12 mod-flows br0 in_port=6,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:947"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:948: ovs-ofctl -O OpenFlow12 add-flow br0 in_port=4,actions=normal"
at_fn_check_prepare_trace "ofproto.at:948"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 in_port=4,actions=normal
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:948"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:949: ovs-ofctl -O OpenFlow12 mod-flows br0 in_port=3,actions=output:1"
at_fn_check_prepare_trace "ofproto.at:949"
( $at_check_trace; ovs-ofctl -O OpenFlow12 mod-flows br0 in_port=3,actions=output:1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:949"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:950: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:950"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " idle_timeout=20, in_port=2 actions=drop
 idle_timeout=30, in_port=3 actions=output:1
 in_port=4 actions=NORMAL
 in_port=5 actions=drop
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:950"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Flows with no timeouts at all cannot be evicted.
{ set +x
$as_echo "$at_srcdir/ofproto.at:958: ovs-ofctl -O OpenFlow12 add-flow br0 in_port=6,actions=drop"
at_fn_check_prepare_trace "ofproto.at:958"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 in_port=6,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:958"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:959: ovs-ofctl -O OpenFlow12 add-flow br0 in_port=7,actions=normal"
at_fn_check_prepare_trace "ofproto.at:959"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 in_port=7,actions=normal
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:959"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:960: ovs-ofctl -O OpenFlow12 add-flow br0 in_port=8,actions=drop"
at_fn_check_prepare_trace "ofproto.at:960"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 in_port=8,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ofproto.at:960"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:961: head -n 1 stderr | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:961"
( $at_check_trace; head -n 1 stderr | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_ERROR (OF1.2): OFPFMFC_TABLE_FULL
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:961"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:964: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:964"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " in_port=4 actions=NORMAL
 in_port=5 actions=drop
 in_port=6 actions=drop
 in_port=7 actions=NORMAL
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:964"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:971: check_logs "
at_fn_check_prepare_trace "ofproto.at:971"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:971: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:971"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:971: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:971"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_604
#AT_START_605
at_fn_group_banner 605 'ofproto.at:974' \
  "ofproto - eviction upon table overflow, with fairness (OpenFlow 1.0)" "" 43
at_xfail=no
(
  $as_echo "605. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:975: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:975"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:975"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:975: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:975"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:975"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:975: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:975"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:975"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:975: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:975"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:975"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:975: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:975"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:975"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:975: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:975"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:975"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:975: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:975"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:975"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Configure a maximum of 4 flows.
{ set +x
$as_echo "$at_srcdir/ofproto.at:977: ovs-vsctl \\
     -- --id=@t0 create Flow_Table name=evict flow-limit=4 \\
                                   overflow-policy=evict \\
                                   groups='\"NXM_OF_IN_PORT[]\"' \\
     -- set bridge br0 flow_tables:0=@t0 \\
   | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ofproto.at:977"
( $at_check_trace; ovs-vsctl \
     -- --id=@t0 create Flow_Table name=evict flow-limit=4 \
                                   overflow-policy=evict \
                                   groups='"NXM_OF_IN_PORT[]"' \
     -- set bridge br0 flow_tables:0=@t0 \
   | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "<0>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:977"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Add 4 flows.
ovs-ofctl add-flows br0 - <<EOF
idle_timeout=10 in_port=2 dl_src=00:44:55:66:77:88 actions=drop
idle_timeout=20 in_port=1 dl_src=00:11:22:33:44:55 actions=drop
idle_timeout=30 in_port=1 dl_src=00:22:33:44:55:66 actions=drop
idle_timeout=40 in_port=1 dl_src=00:33:44:55:66:77 actions=drop
EOF
{ set +x
$as_echo "$at_srcdir/ofproto.at:993: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:993"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " idle_timeout=10, in_port=2,dl_src=00:44:55:66:77:88 actions=drop
 idle_timeout=20, in_port=1,dl_src=00:11:22:33:44:55 actions=drop
 idle_timeout=30, in_port=1,dl_src=00:22:33:44:55:66 actions=drop
 idle_timeout=40, in_port=1,dl_src=00:33:44:55:66:77 actions=drop
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:993"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Adding another flow will cause the one that expires soonest within
# the largest group (those with in_port=1) to be evicted.  In this
# case this is not the same as the one that expires soonest overall
# (which is what makes the test interesting):
{ set +x
$as_echo "$at_srcdir/ofproto.at:1004: ovs-ofctl add-flow br0 in_port=2,dl_src=00:55:66:77:88:99,actions=drop"
at_fn_check_prepare_trace "ofproto.at:1004"
( $at_check_trace; ovs-ofctl add-flow br0 in_port=2,dl_src=00:55:66:77:88:99,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1004"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1005: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:1005"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " idle_timeout=10, in_port=2,dl_src=00:44:55:66:77:88 actions=drop
 idle_timeout=30, in_port=1,dl_src=00:22:33:44:55:66 actions=drop
 idle_timeout=40, in_port=1,dl_src=00:33:44:55:66:77 actions=drop
 in_port=2,dl_src=00:55:66:77:88:99 actions=drop
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1005"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Enlarge the flow limit, change the eviction policy back to strictly
# based on expiration, and and add some flows.
{ set +x
$as_echo "$at_srcdir/ofproto.at:1014: ovs-vsctl set Flow_Table evict groups='[]' flow-limit=7"
at_fn_check_prepare_trace "ofproto.at:1014"
( $at_check_trace; ovs-vsctl set Flow_Table evict groups='[]' flow-limit=7
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

ovs-ofctl add-flows br0 - <<EOF
idle_timeout=50 in_port=2 dl_src=00:66:77:88:99:aa actions=drop
idle_timeout=60 in_port=2 dl_src=00:77:88:99:aa:bb actions=drop
idle_timeout=70 in_port=2 dl_src=00:88:99:aa:bb:cc actions=drop
EOF
{ set +x
$as_echo "$at_srcdir/ofproto.at:1020: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:1020"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " idle_timeout=10, in_port=2,dl_src=00:44:55:66:77:88 actions=drop
 idle_timeout=30, in_port=1,dl_src=00:22:33:44:55:66 actions=drop
 idle_timeout=40, in_port=1,dl_src=00:33:44:55:66:77 actions=drop
 idle_timeout=50, in_port=2,dl_src=00:66:77:88:99:aa actions=drop
 idle_timeout=60, in_port=2,dl_src=00:77:88:99:aa:bb actions=drop
 idle_timeout=70, in_port=2,dl_src=00:88:99:aa:bb:cc actions=drop
 in_port=2,dl_src=00:55:66:77:88:99 actions=drop
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Adding another flow will cause the one that expires soonest overall
# to be evicted.
{ set +x
$as_echo "$at_srcdir/ofproto.at:1032: ovs-ofctl add-flow br0 'idle_timeout=80 in_port=2 dl_src=00:99:aa:bb:cc:dd actions=drop'"
at_fn_check_prepare_trace "ofproto.at:1032"
( $at_check_trace; ovs-ofctl add-flow br0 'idle_timeout=80 in_port=2 dl_src=00:99:aa:bb:cc:dd actions=drop'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1032"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1033: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:1033"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " idle_timeout=30, in_port=1,dl_src=00:22:33:44:55:66 actions=drop
 idle_timeout=40, in_port=1,dl_src=00:33:44:55:66:77 actions=drop
 idle_timeout=50, in_port=2,dl_src=00:66:77:88:99:aa actions=drop
 idle_timeout=60, in_port=2,dl_src=00:77:88:99:aa:bb actions=drop
 idle_timeout=70, in_port=2,dl_src=00:88:99:aa:bb:cc actions=drop
 idle_timeout=80, in_port=2,dl_src=00:99:aa:bb:cc:dd actions=drop
 in_port=2,dl_src=00:55:66:77:88:99 actions=drop
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1033"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Reducing the flow limit also causes the flows that expire soonest
# overall to be evicted.
{ set +x
$as_echo "$at_srcdir/ofproto.at:1045: ovs-vsctl set Flow_Table evict flow-limit=4"
at_fn_check_prepare_trace "ofproto.at:1045"
( $at_check_trace; ovs-vsctl set Flow_Table evict flow-limit=4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1045"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1046: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:1046"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " idle_timeout=60, in_port=2,dl_src=00:77:88:99:aa:bb actions=drop
 idle_timeout=70, in_port=2,dl_src=00:88:99:aa:bb:cc actions=drop
 idle_timeout=80, in_port=2,dl_src=00:99:aa:bb:cc:dd actions=drop
 in_port=2,dl_src=00:55:66:77:88:99 actions=drop
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1046"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1053: check_logs "
at_fn_check_prepare_trace "ofproto.at:1053"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1053"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1053: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:1053"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1053"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1053: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:1053"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1053"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_605
#AT_START_606
at_fn_group_banner 606 'ofproto.at:1056' \
  "ofproto - eviction upon table overflow, with fairness (OpenFlow 1.2)" "" 43
at_xfail=no
(
  $as_echo "606. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:1057: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:1057"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1057"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1057: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:1057"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1057"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1057: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1057"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1057"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:1057: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:1057"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1057"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1057: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:1057"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1057"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:1057: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1057"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1057"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1057: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:1057"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1057"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Configure a maximum of 4 flows.
{ set +x
$as_echo "$at_srcdir/ofproto.at:1059: ovs-vsctl \\
     -- --id=@t0 create Flow_Table name=evict flow-limit=4 \\
                                   overflow-policy=evict \\
                                   groups='\"NXM_OF_IN_PORT[]\"' \\
     -- set bridge br0 flow_tables:0=@t0 \\
   | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ofproto.at:1059"
( $at_check_trace; ovs-vsctl \
     -- --id=@t0 create Flow_Table name=evict flow-limit=4 \
                                   overflow-policy=evict \
                                   groups='"NXM_OF_IN_PORT[]"' \
     -- set bridge br0 flow_tables:0=@t0 \
   | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "<0>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1059"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Add 4 flows.
ovs-ofctl -O OpenFlow12 add-flows br0 - <<EOF
idle_timeout=10 in_port=2 dl_src=00:44:55:66:77:88 actions=drop
idle_timeout=20 in_port=1 dl_src=00:11:22:33:44:55 actions=drop
idle_timeout=30 in_port=1 dl_src=00:22:33:44:55:66 actions=drop
idle_timeout=40 in_port=1 dl_src=00:33:44:55:66:77 actions=drop
EOF
{ set +x
$as_echo "$at_srcdir/ofproto.at:1075: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:1075"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " idle_timeout=10, in_port=2,dl_src=00:44:55:66:77:88 actions=drop
 idle_timeout=20, in_port=1,dl_src=00:11:22:33:44:55 actions=drop
 idle_timeout=30, in_port=1,dl_src=00:22:33:44:55:66 actions=drop
 idle_timeout=40, in_port=1,dl_src=00:33:44:55:66:77 actions=drop
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1075"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Adding another flow will cause the one that expires soonest within
# the largest group (those with in_port=1) to be evicted.  In this
# case this is not the same as the one that expires soonest overall
# (which is what makes the test interesting):
{ set +x
$as_echo "$at_srcdir/ofproto.at:1086: ovs-ofctl -O OpenFlow12 add-flow br0 in_port=2,dl_src=00:55:66:77:88:99,actions=drop"
at_fn_check_prepare_trace "ofproto.at:1086"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 in_port=2,dl_src=00:55:66:77:88:99,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1086"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1087: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:1087"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " idle_timeout=10, in_port=2,dl_src=00:44:55:66:77:88 actions=drop
 idle_timeout=30, in_port=1,dl_src=00:22:33:44:55:66 actions=drop
 idle_timeout=40, in_port=1,dl_src=00:33:44:55:66:77 actions=drop
 in_port=2,dl_src=00:55:66:77:88:99 actions=drop
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1087"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Enlarge the flow limit, change the eviction policy back to strictly
# based on expiration, and and add some flows.
{ set +x
$as_echo "$at_srcdir/ofproto.at:1096: ovs-vsctl set Flow_Table evict groups='[]' flow-limit=7"
at_fn_check_prepare_trace "ofproto.at:1096"
( $at_check_trace; ovs-vsctl set Flow_Table evict groups='[]' flow-limit=7
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1096"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

ovs-ofctl -O OpenFlow12 add-flows br0 - <<EOF
idle_timeout=50 in_port=2 dl_src=00:66:77:88:99:aa actions=drop
idle_timeout=60 in_port=2 dl_src=00:77:88:99:aa:bb actions=drop
idle_timeout=70 in_port=2 dl_src=00:88:99:aa:bb:cc actions=drop
EOF
{ set +x
$as_echo "$at_srcdir/ofproto.at:1102: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:1102"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " idle_timeout=10, in_port=2,dl_src=00:44:55:66:77:88 actions=drop
 idle_timeout=30, in_port=1,dl_src=00:22:33:44:55:66 actions=drop
 idle_timeout=40, in_port=1,dl_src=00:33:44:55:66:77 actions=drop
 idle_timeout=50, in_port=2,dl_src=00:66:77:88:99:aa actions=drop
 idle_timeout=60, in_port=2,dl_src=00:77:88:99:aa:bb actions=drop
 idle_timeout=70, in_port=2,dl_src=00:88:99:aa:bb:cc actions=drop
 in_port=2,dl_src=00:55:66:77:88:99 actions=drop
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1102"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Adding another flow will cause the one that expires soonest overall
# to be evicted.
{ set +x
$as_echo "$at_srcdir/ofproto.at:1114: ovs-ofctl -O OpenFlow12 add-flow br0 'idle_timeout=80 in_port=2 dl_src=00:99:aa:bb:cc:dd actions=drop'"
at_fn_check_prepare_trace "ofproto.at:1114"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flow br0 'idle_timeout=80 in_port=2 dl_src=00:99:aa:bb:cc:dd actions=drop'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1114"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1115: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:1115"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " idle_timeout=30, in_port=1,dl_src=00:22:33:44:55:66 actions=drop
 idle_timeout=40, in_port=1,dl_src=00:33:44:55:66:77 actions=drop
 idle_timeout=50, in_port=2,dl_src=00:66:77:88:99:aa actions=drop
 idle_timeout=60, in_port=2,dl_src=00:77:88:99:aa:bb actions=drop
 idle_timeout=70, in_port=2,dl_src=00:88:99:aa:bb:cc actions=drop
 idle_timeout=80, in_port=2,dl_src=00:99:aa:bb:cc:dd actions=drop
 in_port=2,dl_src=00:55:66:77:88:99 actions=drop
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1115"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Reducing the flow limit also causes the flows that expire soonest
# overall to be evicted.
{ set +x
$as_echo "$at_srcdir/ofproto.at:1127: ovs-vsctl set Flow_Table evict flow-limit=4"
at_fn_check_prepare_trace "ofproto.at:1127"
( $at_check_trace; ovs-vsctl set Flow_Table evict flow-limit=4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1127"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1128: ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:1128"
( $at_check_trace; ovs-ofctl -O OpenFlow12 dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " idle_timeout=60, in_port=2,dl_src=00:77:88:99:aa:bb actions=drop
 idle_timeout=70, in_port=2,dl_src=00:88:99:aa:bb:cc actions=drop
 idle_timeout=80, in_port=2,dl_src=00:99:aa:bb:cc:dd actions=drop
 in_port=2,dl_src=00:55:66:77:88:99 actions=drop
OFPST_FLOW reply (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1128"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1135: check_logs "
at_fn_check_prepare_trace "ofproto.at:1135"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1135"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1135: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:1135"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1135"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1135: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:1135"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1135"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_606
#AT_START_607
at_fn_group_banner 607 'ofproto.at:1138' \
  "ofproto - asynchronous message control (OpenFlow 1.0)" "" 43
at_xfail=no
(
  $as_echo "607. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:1139: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:1139"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1139"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1139: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:1139"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1139"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1139: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1139"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1139"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:1139: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:1139"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1139: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:1139"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:1139: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1139"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1139: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:1139"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:1140: ovs-ofctl -P openflow10 monitor br0 --detach --no-chdir --pidfile"
at_fn_check_prepare_trace "ofproto.at:1140"
( $at_check_trace; ovs-ofctl -P openflow10 monitor br0 --detach --no-chdir --pidfile
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1140"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

check_async () {
    printf '\n\n--- check_async %d ---\n\n\n' $1
    shift

    ovs-appctl -t ovs-ofctl ofctl/barrier
    ovs-appctl -t ovs-ofctl ofctl/set-output-file monitor.log
    : > expout

    # OFPT_PACKET_IN, OFPR_ACTION (controller_id=0)
    ovs-ofctl -v packet-out br0 controller controller '0001020304050010203040501234'
    if test X"$1" = X"OFPR_ACTION"; then shift;
        echo >>expout "OFPT_PACKET_IN: total_len=14 in_port=CONTROLLER (via action) data_len=14 (unbuffered)
metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:10:20:30:40:50,dl_dst=00:01:02:03:04:05,dl_type=0x1234"
    fi

    # OFPT_PACKET_IN, OFPR_NO_MATCH (controller_id=123)
    ovs-ofctl -v packet-out br0 controller 'controller(reason=no_match,id=123)' '0001020304050010203040501234'
    if test X"$1" = X"OFPR_NO_MATCH"; then shift;
        echo >>expout "OFPT_PACKET_IN: total_len=14 in_port=CONTROLLER (via no_match) data_len=14 (unbuffered)
metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:10:20:30:40:50,dl_dst=00:01:02:03:04:05,dl_type=0x1234"
    fi

    # OFPT_PACKET_IN, OFPR_INVALID_TTL (controller_id=0)
    ovs-ofctl packet-out br0 controller dec_ttl '002583dfb4000026b98cb0f908004500003fb7e200000011339bac11370dac100002d7730035002b8f6d86fb0100000100000000000006626c702d7873066e696369726103636f6d00000f00'
    if test X"$1" = X"OFPR_INVALID_TTL"; then shift;
        echo >>expout "OFPT_PACKET_IN: total_len=76 in_port=CONTROLLER (via invalid_ttl) data_len=76 (unbuffered)
udp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:26:b9:8c:b0:f9,dl_dst=00:25:83:df:b4:00,nw_src=172.17.55.13,nw_dst=172.16.0.2,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=55155,tp_dst=53 udp_csum:8f6d"
    fi

    # OFPT_PORT_STATUS, OFPPR_ADD
    ovs-vsctl add-port br0 test -- set Interface test type=dummy ofport_request=1
    if test X"$1" = X"OFPPR_ADD"; then shift;
        echo >>expout "OFPT_PORT_STATUS: ADD: 1(test): addr:aa:55:aa:55:00:0x
     config:     PORT_DOWN
     state:      LINK_DOWN
     speed: 0 Mbps now, 0 Mbps max"
    fi

    # OFPT_PORT_STATUS, OFPPR_DELETE
    ovs-vsctl del-port br0 test
    if test X"$1" = X"OFPPR_DELETE"; then shift;
        echo >>expout "OFPT_PORT_STATUS: DEL: 1(test): addr:aa:55:aa:55:00:0x
     config:     PORT_DOWN
     state:      LINK_DOWN
     speed: 0 Mbps now, 0 Mbps max"
    fi

    # OFPT_FLOW_REMOVED, OFPRR_DELETE
    ovs-ofctl add-flow br0 send_flow_rem,actions=drop
    ovs-ofctl --strict del-flows br0 ''
    if test X"$1" = X"OFPRR_DELETE"; then shift;
        echo >>expout "OFPT_FLOW_REMOVED:  reason=delete"
    fi
    $as_echo "ofproto.at:1194" >"$at_check_line_file"
(test X"$1" != X) \
  && at_fn_check_skip 99 "$at_srcdir/ofproto.at:1194"

    ovs-appctl -t ovs-ofctl ofctl/barrier
    echo >>expout "OFPT_BARRIER_REPLY:"

    { set +x
$as_echo "$at_srcdir/ofproto.at:1199: sed '
s/ (xid=0x[0-9a-fA-F]*)//
s/ *duration.*//
s/00:0.\$/00:0x/' < monitor.log"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1199"
( $at_check_trace; sed '
s/ (xid=0x[0-9a-fA-F]*)//
s/ *duration.*//
s/00:0.$/00:0x/' < monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1199"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

}

# It's a service connection so initially there should be no async messages.
check_async 1

# Set miss_send_len to 128, turning on packet-ins for our service connection.
ovs-appctl -t ovs-ofctl ofctl/send 0109000c0123456700000080
check_async 2 OFPR_ACTION OFPPR_ADD OFPPR_DELETE OFPRR_DELETE

# Set miss_send_len to 128 and enable invalid_ttl.
ovs-appctl -t ovs-ofctl ofctl/send 0109000c0123456700040080
check_async 3 OFPR_ACTION OFPR_INVALID_TTL OFPPR_ADD OFPPR_DELETE OFPRR_DELETE

# Become slave, which should disable everything except port status.
ovs-appctl -t ovs-ofctl ofctl/send 0104001400000002000023200000000a00000002
check_async 4 OFPPR_ADD OFPPR_DELETE

# Use NXT_SET_ASYNC_CONFIG to enable a patchwork of asynchronous messages.
ovs-appctl -t ovs-ofctl ofctl/send 01040028000000020000232000000013000000020000000500000005000000020000000200000005
check_async 5 OFPR_INVALID_TTL OFPPR_DELETE OFPRR_DELETE

# Set controller ID 123.
ovs-appctl -t ovs-ofctl ofctl/send 01040018000000030000232000000014000000000000007b
check_async 6 OFPR_NO_MATCH OFPPR_DELETE OFPRR_DELETE

# Restore controller ID 0.
ovs-appctl -t ovs-ofctl ofctl/send 010400180000000300002320000000140000000000000000

# Become master.
ovs-appctl -t ovs-ofctl ofctl/send 0104001400000002000023200000000a00000001
check_async 7 OFPR_ACTION OFPPR_ADD

ovs-appctl -t ovs-ofctl exit
{ set +x
$as_echo "$at_srcdir/ofproto.at:1238: check_logs "
at_fn_check_prepare_trace "ofproto.at:1238"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1238"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1238: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:1238"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1238"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1238: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:1238"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1238"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_607
#AT_START_608
at_fn_group_banner 608 'ofproto.at:1241' \
  "ofproto - asynchronous message control (OpenFlow 1.2)" "" 43
at_xfail=no
(
  $as_echo "608. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:1242: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:1242"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1242"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1242: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:1242"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1242"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1242: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1242"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1242"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:1242: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:1242"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1242"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1242: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:1242"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1242"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:1242: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1242"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1242"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1242: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:1242"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1242"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:1243: ovs-ofctl -O OpenFlow12 monitor br0 --detach --no-chdir --pidfile"
at_fn_check_prepare_trace "ofproto.at:1243"
( $at_check_trace; ovs-ofctl -O OpenFlow12 monitor br0 --detach --no-chdir --pidfile
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1243"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

check_async () {
    printf '\n\n--- check_async %d ---\n\n\n' $1
    INDEX=$1
    shift

    ovs-appctl -t ovs-ofctl ofctl/barrier
    ovs-appctl -t ovs-ofctl ofctl/set-output-file monitor.log
    : > expout

    # OFPT_PACKET_IN, OFPR_ACTION (controller_id=0)
    ovs-ofctl -O OpenFlow12 -v packet-out br0 none controller '0001020304050010203040501234'
    if test X"$1" = X"OFPR_ACTION"; then shift;
        echo >>expout "OFPT_PACKET_IN (OF1.2): total_len=14 in_port=ANY (via action) data_len=14 (unbuffered)
metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:10:20:30:40:50,dl_dst=00:01:02:03:04:05,dl_type=0x1234"
    fi

    # OFPT_PACKET_IN, OFPR_NO_MATCH (controller_id=123)
    ovs-ofctl -O OpenFlow12 -v packet-out br0 none 'controller(reason=no_match,id=123)' '0001020304050010203040501234'
    if test X"$1" = X"OFPR_NO_MATCH"; then shift;
        echo >>expout "OFPT_PACKET_IN (OF1.2): total_len=14 in_port=ANY (via no_match) data_len=14 (unbuffered)
metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:10:20:30:40:50,dl_dst=00:01:02:03:04:05,dl_type=0x1234"
    fi

    # OFPT_PACKET_IN, OFPR_INVALID_TTL (controller_id=0)
    ovs-ofctl -O OpenFlow12 packet-out br0 none dec_ttl '002583dfb4000026b98cb0f908004500003fb7e200000011339bac11370dac100002d7730035002b8f6d86fb0100000100000000000006626c702d7873066e696369726103636f6d00000f00'
    if test X"$1" = X"OFPR_INVALID_TTL"; then shift;
        echo >>expout "OFPT_PACKET_IN (OF1.2): total_len=76 in_port=ANY (via invalid_ttl) data_len=76 (unbuffered)
udp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:26:b9:8c:b0:f9,dl_dst=00:25:83:df:b4:00,nw_src=172.17.55.13,nw_dst=172.16.0.2,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=55155,tp_dst=53 udp_csum:8f6d"
    fi

    # OFPT_PORT_STATUS, OFPPR_ADD
    ovs-vsctl add-port br0 test -- set Interface test type=dummy
    if test X"$1" = X"OFPPR_ADD"; then shift;
        echo >>expout "OFPT_PORT_STATUS (OF1.2): ADD: ${INDEX}(test): addr:aa:55:aa:55:00:0x
     config:     PORT_DOWN
     state:      LINK_DOWN
     speed: 0 Mbps now, 0 Mbps max"
    fi

    # OFPT_PORT_STATUS, OFPPR_DELETE
    ovs-vsctl del-port br0 test
    if test X"$1" = X"OFPPR_DELETE"; then shift;
        echo >>expout "OFPT_PORT_STATUS (OF1.2): DEL: ${INDEX}(test): addr:aa:55:aa:55:00:0x
     config:     PORT_DOWN
     state:      LINK_DOWN
     speed: 0 Mbps now, 0 Mbps max"
    fi

    # OFPT_FLOW_REMOVED, OFPRR_DELETE
    ovs-ofctl -O OpenFlow12 add-flow br0 send_flow_rem,actions=drop
    ovs-ofctl -O OpenFlow12 --strict del-flows br0 ''
    if test X"$1" = X"OFPRR_DELETE"; then shift;
        echo >>expout "OFPT_FLOW_REMOVED (OF1.2):  reason=delete table_id=0"
    fi
    $as_echo "ofproto.at:1298" >"$at_check_line_file"
(test X"$1" != X) \
  && at_fn_check_skip 99 "$at_srcdir/ofproto.at:1298"

    ovs-appctl -t ovs-ofctl ofctl/barrier
    echo >>expout "OFPT_BARRIER_REPLY (OF1.2):"

    { set +x
$as_echo "$at_srcdir/ofproto.at:1303: sed '
s/ (xid=0x[0-9a-fA-F]*)//
s/ *duration.*//
s/00:0.\$/00:0x/' < monitor.log"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1303"
( $at_check_trace; sed '
s/ (xid=0x[0-9a-fA-F]*)//
s/ *duration.*//
s/00:0.$/00:0x/' < monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1303"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

}

# It's a service connection so initially there should be no async messages.
check_async 1

# Set miss_send_len to 128, turning on packet-ins for our service connection.
ovs-appctl -t ovs-ofctl ofctl/send 0309000c0123456700000080
check_async 2 OFPR_ACTION OFPPR_ADD OFPPR_DELETE OFPRR_DELETE

# Set miss_send_len to 128 and enable invalid_ttl.
ovs-appctl -t ovs-ofctl ofctl/send 0309000c0123456700040080
check_async 3 OFPR_ACTION OFPR_INVALID_TTL OFPPR_ADD OFPPR_DELETE OFPRR_DELETE

# Become slave (OF 1.2), which should disable everything except port status.
ovs-appctl -t ovs-ofctl ofctl/send 031800180000000200000003000000000000000000000001
check_async 4 OFPPR_ADD OFPPR_DELETE

# Use NXT_SET_ASYNC_CONFIG to enable a patchwork of asynchronous messages.
ovs-appctl -t ovs-ofctl ofctl/send 03040028000000020000232000000013000000020000000500000005000000020000000200000005
check_async 5 OFPR_INVALID_TTL OFPPR_DELETE OFPRR_DELETE

# Set controller ID 123.
ovs-appctl -t ovs-ofctl ofctl/send 03040018000000030000232000000014000000000000007b
check_async 6 OFPR_NO_MATCH OFPPR_DELETE OFPRR_DELETE

# Restore controller ID 0.
ovs-appctl -t ovs-ofctl ofctl/send 030400180000000300002320000000140000000000000000

# Become master (OF 1.2).
ovs-appctl -t ovs-ofctl ofctl/send 031800180000000400000002000000000000000000000002
check_async 7 OFPR_ACTION OFPPR_ADD

ovs-appctl -t ovs-ofctl exit
{ set +x
$as_echo "$at_srcdir/ofproto.at:1342: check_logs "
at_fn_check_prepare_trace "ofproto.at:1342"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1342"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1342: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:1342"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1342"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1342: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:1342"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1342"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_608
#AT_START_609
at_fn_group_banner 609 'ofproto.at:1345' \
  "ofproto - asynchronous message control (OpenFlow 1.3)" "" 43
at_xfail=no
(
  $as_echo "609. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:1346: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:1346"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1346"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1346: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:1346"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1346"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1346: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1346"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1346"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:1346: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:1346"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1346"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1346: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:1346"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1346"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:1346: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1346"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1346"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1346: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:1346"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1346"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:1347: ovs-ofctl -O OpenFlow13 monitor br0 --detach --no-chdir --pidfile"
at_fn_check_prepare_trace "ofproto.at:1347"
( $at_check_trace; ovs-ofctl -O OpenFlow13 monitor br0 --detach --no-chdir --pidfile
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1347"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

check_async () {
    printf '\n\n--- check_async %d ---\n\n\n' $1
    INDEX=$1
    shift

    ovs-appctl -t ovs-ofctl ofctl/barrier
    ovs-appctl -t ovs-ofctl ofctl/set-output-file monitor.log
    : > expout

    # OFPT_PACKET_IN, OFPR_ACTION (controller_id=0)
    ovs-ofctl -O OpenFlow13 -v packet-out br0 none controller '0001020304050010203040501234'
    if test X"$1" = X"OFPR_ACTION"; then shift;
        echo >>expout "OFPT_PACKET_IN (OF1.3): total_len=14 in_port=ANY (via action) data_len=14 (unbuffered)
metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:10:20:30:40:50,dl_dst=00:01:02:03:04:05,dl_type=0x1234"
    fi

    # OFPT_PACKET_IN, OFPR_NO_MATCH (controller_id=123)
    ovs-ofctl -O OpenFlow13 -v packet-out br0 none 'controller(reason=no_match,id=123)' '0001020304050010203040501234'
    if test X"$1" = X"OFPR_NO_MATCH"; then shift;
        echo >>expout "OFPT_PACKET_IN (OF1.3): total_len=14 in_port=ANY (via no_match) data_len=14 (unbuffered)
metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:10:20:30:40:50,dl_dst=00:01:02:03:04:05,dl_type=0x1234"
    fi

    # OFPT_PACKET_IN, OFPR_INVALID_TTL (controller_id=0)
    ovs-ofctl -O OpenFlow13 packet-out br0 none dec_ttl '002583dfb4000026b98cb0f908004500003fb7e200000011339bac11370dac100002d7730035002b8f6d86fb0100000100000000000006626c702d7873066e696369726103636f6d00000f00'
    if test X"$1" = X"OFPR_INVALID_TTL"; then shift;
        echo >>expout "OFPT_PACKET_IN (OF1.3): total_len=76 in_port=ANY (via invalid_ttl) data_len=76 (unbuffered)
udp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:26:b9:8c:b0:f9,dl_dst=00:25:83:df:b4:00,nw_src=172.17.55.13,nw_dst=172.16.0.2,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=55155,tp_dst=53 udp_csum:8f6d"
    fi

    # OFPT_PORT_STATUS, OFPPR_ADD
    ovs-vsctl add-port br0 test -- set Interface test type=dummy
    if test X"$1" = X"OFPPR_ADD"; then shift;
        echo >>expout "OFPT_PORT_STATUS (OF1.3): ADD: ${INDEX}(test): addr:aa:55:aa:55:00:0x
     config:     PORT_DOWN
     state:      LINK_DOWN
     speed: 0 Mbps now, 0 Mbps max"
    fi

    # OFPT_PORT_STATUS, OFPPR_DELETE
    ovs-vsctl del-port br0 test
    if test X"$1" = X"OFPPR_DELETE"; then shift;
        echo >>expout "OFPT_PORT_STATUS (OF1.3): DEL: ${INDEX}(test): addr:aa:55:aa:55:00:0x
     config:     PORT_DOWN
     state:      LINK_DOWN
     speed: 0 Mbps now, 0 Mbps max"
    fi

    # OFPT_FLOW_REMOVED, OFPRR_DELETE
    ovs-ofctl -O OpenFlow13 add-flow br0 send_flow_rem,actions=drop
    ovs-ofctl -O OpenFlow13 --strict del-flows br0 ''
    if test X"$1" = X"OFPRR_DELETE"; then shift;
        echo >>expout "OFPT_FLOW_REMOVED (OF1.3):  reason=delete table_id=0"
    fi
    $as_echo "ofproto.at:1402" >"$at_check_line_file"
(test X"$1" != X) \
  && at_fn_check_skip 99 "$at_srcdir/ofproto.at:1402"

    ovs-appctl -t ovs-ofctl ofctl/barrier
    echo >>expout "OFPT_BARRIER_REPLY (OF1.3):"

    { set +x
$as_echo "$at_srcdir/ofproto.at:1407: sed '
s/ (xid=0x[0-9a-fA-F]*)//
s/ *duration.*//
s/00:0.\$/00:0x/' < monitor.log"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1407"
( $at_check_trace; sed '
s/ (xid=0x[0-9a-fA-F]*)//
s/ *duration.*//
s/00:0.$/00:0x/' < monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1407"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

}

# It's a service connection so initially there should be no async messages.
check_async 1

# Set miss_send_len to 128, turning on packet-ins for our service connection.
ovs-appctl -t ovs-ofctl ofctl/send 0409000c0123456700000080
check_async 2 OFPR_ACTION OFPPR_ADD OFPPR_DELETE OFPRR_DELETE

# Become slave (OF 1.3), which should disable everything except port status.
ovs-appctl -t ovs-ofctl ofctl/send 041800180000000200000003000000000000000000000001
check_async 3 OFPPR_ADD OFPPR_DELETE

# Use OF 1.3 OFPT_SET_ASYNC to enable a patchwork of asynchronous messages.
ovs-appctl -t ovs-ofctl ofctl/send 041c002000000002000000020000000500000005000000020000000200000005
check_async 4 OFPR_INVALID_TTL OFPPR_DELETE OFPRR_DELETE

# Set controller ID 123.
ovs-appctl -t ovs-ofctl ofctl/send 04040018000000030000232000000014000000000000007b
check_async 5 OFPR_NO_MATCH OFPPR_DELETE OFPRR_DELETE

# Restore controller ID 0.
ovs-appctl -t ovs-ofctl ofctl/send 040400180000000300002320000000140000000000000000

# Become master (OF 1.3).
ovs-appctl -t ovs-ofctl ofctl/send 041800180000000400000002000000000000000000000002
check_async 6 OFPR_ACTION OFPPR_ADD

ovs-appctl -t ovs-ofctl exit
{ set +x
$as_echo "$at_srcdir/ofproto.at:1442: check_logs "
at_fn_check_prepare_trace "ofproto.at:1442"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1442"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1442: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:1442"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1442"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1442: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:1442"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1442"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_609
#AT_START_610
at_fn_group_banner 610 'ofproto.at:1447' \
  "ofproto - controller role (OpenFlow 1.2)" "       " 43
at_xfail=no
(
  $as_echo "610. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:1448: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:1448"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1448"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1448: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:1448"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1448"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1448: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1448"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1448"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:1448: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:1448"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1448"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1448: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:1448"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1448"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:1448: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1448"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1448"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1448: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:1448"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1448"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:1449: ovs-ofctl -O OpenFlow12 monitor br0 --detach --no-chdir --pidfile"
at_fn_check_prepare_trace "ofproto.at:1449"
( $at_check_trace; ovs-ofctl -O OpenFlow12 monitor br0 --detach --no-chdir --pidfile
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1449"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-appctl -t ovs-ofctl ofctl/barrier
ovs-appctl -t ovs-ofctl ofctl/set-output-file monitor.log
: > expout

# find out current role
ovs-appctl -t ovs-ofctl ofctl/send 031800180000000200000000000000000000000000000000
echo >>expout "send: OFPT_ROLE_REQUEST (OF1.2) (xid=0x2): role=nochange"
echo >>expout "OFPT_ROLE_REPLY (OF1.2) (xid=0x2): role=equal"

# Become slave (generation_id is initially undefined, so 2^63+2 should not be stale)
ovs-appctl -t ovs-ofctl ofctl/send 031800180000000300000003000000008000000000000002
echo >>expout "send: OFPT_ROLE_REQUEST (OF1.2) (xid=0x3): role=slave generation_id=9223372036854775810"
echo >>expout "OFPT_ROLE_REPLY (OF1.2) (xid=0x3): role=slave generation_id=9223372036854775810"

# Try to become the master using a stale generation ID
ovs-appctl -t ovs-ofctl ofctl/send 031800180000000400000002000000000000000000000002
echo >>expout "send: OFPT_ROLE_REQUEST (OF1.2) (xid=0x4): role=master generation_id=2"
echo >>expout "OFPT_ERROR (OF1.2) (xid=0x4): OFPRRFC_STALE"
echo >>expout "OFPT_ROLE_REQUEST (OF1.2) (xid=0x4): role=master generation_id=2"

# Become master using a valid generation ID
ovs-appctl -t ovs-ofctl ofctl/send 031800180000000500000002000000000000000000000001
echo >>expout "send: OFPT_ROLE_REQUEST (OF1.2) (xid=0x5): role=master generation_id=1"
echo >>expout "OFPT_ROLE_REPLY (OF1.2) (xid=0x5): role=master generation_id=1"
ovs-appctl -t ovs-ofctl ofctl/barrier
echo >>expout "OFPT_BARRIER_REPLY (OF1.2) (xid=0x3):"

{ set +x
$as_echo "$at_srcdir/ofproto.at:1478: cat monitor.log"
at_fn_check_prepare_trace "ofproto.at:1478"
( $at_check_trace; cat monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1478"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-appctl -t ovs-ofctl exit
{ set +x
$as_echo "$at_srcdir/ofproto.at:1481: check_logs "
at_fn_check_prepare_trace "ofproto.at:1481"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1481"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1481: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:1481"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1481"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1481: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:1481"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1481"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_610
#AT_START_611
at_fn_group_banner 611 'ofproto.at:1488' \
  "ofproto - packet-out from controller (OpenFlow 1.0)" "" 43
at_xfail=no
(
  $as_echo "611. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:1489: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:1489"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1489"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1489: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:1489"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1489"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1489: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1489"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1489"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:1489: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:1489"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1489: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:1489"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:1489: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1489"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1489: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:1489"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1

# Start a monitor listening for packet-ins.
{ set +x
$as_echo "$at_srcdir/ofproto.at:1493: ovs-ofctl -P openflow10 monitor br0 --detach --no-chdir --pidfile"
at_fn_check_prepare_trace "ofproto.at:1493"
( $at_check_trace; ovs-ofctl -P openflow10 monitor br0 --detach --no-chdir --pidfile
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1493"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl ofctl/send 0109000c0123456700000080
ovs-appctl -t ovs-ofctl ofctl/barrier
ovs-appctl -t ovs-ofctl ofctl/set-output-file monitor.log


# Send some packet-outs with OFPP_NONE and OFPP_CONTROLLER (65533) as in_port.
{ set +x
$as_echo "$at_srcdir/ofproto.at:1500: ovs-ofctl packet-out br0 none controller,1 '0001020304050010203040501234'"
at_fn_check_prepare_trace "ofproto.at:1500"
( $at_check_trace; ovs-ofctl packet-out br0 none controller,1 '0001020304050010203040501234'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1500"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1501: ovs-ofctl packet-out br0 controller controller,1 '0001020304050010203040505678'"
at_fn_check_prepare_trace "ofproto.at:1501"
( $at_check_trace; ovs-ofctl packet-out br0 controller controller,1 '0001020304050010203040505678'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1501"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }


# Stop the monitor and check its output.
ovs-appctl -t ovs-ofctl ofctl/barrier
ovs-appctl -t ovs-ofctl exit

ovs-ofctl dump-ports br0

{ set +x
$as_echo "$at_srcdir/ofproto.at:1509: sed 's/ (xid=0x[0-9a-fA-F]*)//' monitor.log"
at_fn_check_prepare_trace "ofproto.at:1509"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_IN: total_len=14 in_port=ANY (via action) data_len=14 (unbuffered)
metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:10:20:30:40:50,dl_dst=00:01:02:03:04:05,dl_type=0x1234
OFPT_PACKET_IN: total_len=14 in_port=CONTROLLER (via action) data_len=14 (unbuffered)
metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:10:20:30:40:50,dl_dst=00:01:02:03:04:05,dl_type=0x5678
OFPT_BARRIER_REPLY:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1509"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:1517: check_logs "
at_fn_check_prepare_trace "ofproto.at:1517"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1517"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1517: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:1517"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1517"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1517: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:1517"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1517"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_611
#AT_START_612
at_fn_group_banner 612 'ofproto.at:1524' \
  "ofproto - packet-out from controller (OpenFlow 1.2)" "" 43
at_xfail=no
(
  $as_echo "612. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:1525: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:1525"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1525"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1525: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:1525"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1525"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1525: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1525"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1525"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:1525: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:1525"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1525"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1525: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:1525"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1525"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:1525: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1525"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1525"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1525: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:1525"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1525"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# Start a monitor listening for packet-ins.
{ set +x
$as_echo "$at_srcdir/ofproto.at:1528: ovs-ofctl -O OpenFlow12 monitor br0 --detach --no-chdir --pidfile"
at_fn_check_prepare_trace "ofproto.at:1528"
( $at_check_trace; ovs-ofctl -O OpenFlow12 monitor br0 --detach --no-chdir --pidfile
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1528"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl ofctl/send 0309000c0123456700000080
ovs-appctl -t ovs-ofctl ofctl/barrier
ovs-appctl -t ovs-ofctl ofctl/set-output-file monitor.log


# Send some packet-outs with OFPP_NONE and OFPP_CONTROLLER (65533) as in_port.
{ set +x
$as_echo "$at_srcdir/ofproto.at:1535: ovs-ofctl -O OpenFlow12 packet-out br0 none controller '0001020304050010203040501234'"
at_fn_check_prepare_trace "ofproto.at:1535"
( $at_check_trace; ovs-ofctl -O OpenFlow12 packet-out br0 none controller '0001020304050010203040501234'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1535"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1536: ovs-ofctl -O OpenFlow12 packet-out br0 4294967293 controller '0001020304050010203040505678'"
at_fn_check_prepare_trace "ofproto.at:1536"
( $at_check_trace; ovs-ofctl -O OpenFlow12 packet-out br0 4294967293 controller '0001020304050010203040505678'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1536"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }


# Stop the monitor and check its output.
ovs-appctl -t ovs-ofctl ofctl/barrier
ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto.at:1542: sed 's/ (xid=0x[0-9a-fA-F]*)//' monitor.log"
at_fn_check_prepare_trace "ofproto.at:1542"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_IN (OF1.2): total_len=14 in_port=ANY (via action) data_len=14 (unbuffered)
metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:10:20:30:40:50,dl_dst=00:01:02:03:04:05,dl_type=0x1234
OFPT_PACKET_IN (OF1.2): total_len=14 in_port=CONTROLLER (via action) data_len=14 (unbuffered)
metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:10:20:30:40:50,dl_dst=00:01:02:03:04:05,dl_type=0x5678
OFPT_BARRIER_REPLY (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1542"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:1550: check_logs "
at_fn_check_prepare_trace "ofproto.at:1550"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1550"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1550: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:1550"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1550"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1550: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:1550"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1550"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_612
#AT_START_613
at_fn_group_banner 613 'ofproto.at:1555' \
  "ofproto - packet-out with metadata (NXM)" "       " 43
at_xfail=no
(
  $as_echo "613. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:1556: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:1556"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1556"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1556: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:1556"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1556"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1556: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1556"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1556"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:1556: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:1556"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1556"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1556: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:1556"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1556"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:1556: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1556"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1556"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1556: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:1556"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1556"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# Start a monitor listening for packet-ins.
{ set +x
$as_echo "$at_srcdir/ofproto.at:1559: ovs-ofctl -P nxm monitor br0 --detach --no-chdir --pidfile"
at_fn_check_prepare_trace "ofproto.at:1559"
( $at_check_trace; ovs-ofctl -P nxm monitor br0 --detach --no-chdir --pidfile
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1559"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl ofctl/send 0109000c0123456700000080
ovs-appctl -t ovs-ofctl ofctl/barrier
ovs-appctl -t ovs-ofctl ofctl/set-output-file monitor.log


# Send a packet-out with a load action to set some metadata, and forward to controller
{ set +x
$as_echo "$at_srcdir/ofproto.at:1566: ovs-ofctl packet-out br0 controller 'load(0xfafafafa5a5a5a5a->OXM_OF_METADATA[0..63]), load(0xaa->NXM_NX_PKT_MARK[]), controller' '0001020304050010203040501234'"
at_fn_check_prepare_trace "ofproto.at:1566"
( $at_check_trace; ovs-ofctl packet-out br0 controller 'load(0xfafafafa5a5a5a5a->OXM_OF_METADATA[0..63]), load(0xaa->NXM_NX_PKT_MARK[]), controller' '0001020304050010203040501234'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1566"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }


# Stop the monitor and check its output.
ovs-appctl -t ovs-ofctl ofctl/barrier
ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto.at:1572: sed 's/ (xid=0x[0-9a-fA-F]*)//' monitor.log"
at_fn_check_prepare_trace "ofproto.at:1572"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN: total_len=14 in_port=CONTROLLER metadata=0xfafafafa5a5a5a5a pkt_mark=0xaa (via action) data_len=14 (unbuffered)
metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:10:20:30:40:50,dl_dst=00:01:02:03:04:05,dl_type=0x1234
OFPT_BARRIER_REPLY:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1572"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:1578: check_logs "
at_fn_check_prepare_trace "ofproto.at:1578"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1578"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1578: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:1578"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1578"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1578: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:1578"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1578"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_613
#AT_START_614
at_fn_group_banner 614 'ofproto.at:1583' \
  "ofproto - packet-out with metadata (OpenFlow 1.2)" "" 43
at_xfail=no
(
  $as_echo "614. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:1584: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:1584"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1584"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1584: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:1584"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1584"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1584: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1584"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1584"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:1584: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:1584"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1584"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1584: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:1584"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1584"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:1584: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1584"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1584"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1584: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:1584"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1584"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# Start a monitor listening for packet-ins.
{ set +x
$as_echo "$at_srcdir/ofproto.at:1587: ovs-ofctl -O OpenFlow12 monitor br0 --detach --no-chdir --pidfile"
at_fn_check_prepare_trace "ofproto.at:1587"
( $at_check_trace; ovs-ofctl -O OpenFlow12 monitor br0 --detach --no-chdir --pidfile
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1587"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl ofctl/send 0309000c0123456700000080
ovs-appctl -t ovs-ofctl ofctl/barrier
ovs-appctl -t ovs-ofctl ofctl/set-output-file monitor.log


# Send a packet-out with a load action to set some metadata, and forward to controller
{ set +x
$as_echo "$at_srcdir/ofproto.at:1594: ovs-ofctl -O OpenFlow12 packet-out br0 none 'load(0xfafafafa5a5a5a5a->OXM_OF_METADATA[0..63]), controller' '0001020304050010203040501234'"
at_fn_check_prepare_trace "ofproto.at:1594"
( $at_check_trace; ovs-ofctl -O OpenFlow12 packet-out br0 none 'load(0xfafafafa5a5a5a5a->OXM_OF_METADATA[0..63]), controller' '0001020304050010203040501234'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1594"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }


# Stop the monitor and check its output.
ovs-appctl -t ovs-ofctl ofctl/barrier
ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto.at:1600: sed 's/ (xid=0x[0-9a-fA-F]*)//' monitor.log"
at_fn_check_prepare_trace "ofproto.at:1600"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_IN (OF1.2): total_len=14 in_port=ANY metadata=0xfafafafa5a5a5a5a (via action) data_len=14 (unbuffered)
metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:10:20:30:40:50,dl_dst=00:01:02:03:04:05,dl_type=0x1234
OFPT_BARRIER_REPLY (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1600"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:1606: check_logs "
at_fn_check_prepare_trace "ofproto.at:1606"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1606"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1606: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:1606"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1606"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1606: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:1606"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1606"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_614
#AT_START_615
at_fn_group_banner 615 'ofproto.at:1610' \
  "ofproto - packet-out with tunnel metadata (OpenFlow 1.2)" "" 43
at_xfail=no
(
  $as_echo "615. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:1611: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:1611"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1611"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1611: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:1611"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1611"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1611: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1611"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1611"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:1611: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:1611"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1611"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1611: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:1611"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1611"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:1611: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1611"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1611"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1611: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:1611"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1611"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# Start a monitor listening for packet-ins.
{ set +x
$as_echo "$at_srcdir/ofproto.at:1614: ovs-ofctl -O OpenFlow12 monitor br0 --detach --no-chdir --pidfile"
at_fn_check_prepare_trace "ofproto.at:1614"
( $at_check_trace; ovs-ofctl -O OpenFlow12 monitor br0 --detach --no-chdir --pidfile
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1614"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl ofctl/send 0309000c0123456700000080
ovs-appctl -t ovs-ofctl ofctl/barrier
ovs-appctl -t ovs-ofctl ofctl/set-output-file monitor.log


# Send a packet-out with set field actions to set some tunnel metadata, and forward to controller
{ set +x
$as_echo "$at_srcdir/ofproto.at:1621: ovs-ofctl -O OpenFlow12 packet-out br0 none 'set_field:127.0.0.1->tun_src,set_field:0x01020304->tun_id,set_field:192.168.0.1->tun_dst, controller' '0001020304050010203040501234'"
at_fn_check_prepare_trace "ofproto.at:1621"
( $at_check_trace; ovs-ofctl -O OpenFlow12 packet-out br0 none 'set_field:127.0.0.1->tun_src,set_field:0x01020304->tun_id,set_field:192.168.0.1->tun_dst, controller' '0001020304050010203040501234'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1621"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }


# Stop the monitor and check its output.
ovs-appctl -t ovs-ofctl ofctl/barrier
ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto.at:1627: sed 's/ (xid=0x[0-9a-fA-F]*)//' monitor.log"
at_fn_check_prepare_trace "ofproto.at:1627"
( $at_check_trace; sed 's/ (xid=0x[0-9a-fA-F]*)//' monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_IN (OF1.2): total_len=14 in_port=ANY tun_id=0x1020304 tun_src=127.0.0.1 tun_dst=192.168.0.1 (via action) data_len=14 (unbuffered)
metadata=0,in_port=0,vlan_tci=0x0000,dl_src=00:10:20:30:40:50,dl_dst=00:01:02:03:04:05,dl_type=0x1234
OFPT_BARRIER_REPLY (OF1.2):
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1627"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:1633: check_logs "
at_fn_check_prepare_trace "ofproto.at:1633"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1633"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1633: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:1633"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1633"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1633: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:1633"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1633"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_615
#AT_START_616
at_fn_group_banner 616 'ofproto.at:1636' \
  "ofproto - flow monitoring" "                      " 43
at_xfail=no
(
  $as_echo "616. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:1638: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:1638"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1638"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1638: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:1638"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1638"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1638: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1638"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1638"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:1638: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:1638"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1638"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1638: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:1638"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1638"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:1638: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1638"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1638"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1638: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:1638"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1638"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ovs-ofctl add-flow br0 in_port=0,dl_vlan=123,actions=output:1

# Start a monitor watching the flow table and check the initial reply.
ovs-ofctl monitor br0 watch: --detach --no-chdir --pidfile >monitor.log 2>&1

ovs-appctl -t ovs-ofctl ofctl/barrier
{ set +x
$as_echo "$at_srcdir/ofproto.at:1646: sed 's/ (xid=0x[1-9a-fA-F][0-9a-fA-F]*)//' monitor.log"
at_fn_check_prepare_trace "ofproto.at:1646"
( $at_check_trace; sed 's/ (xid=0x[1-9a-fA-F][0-9a-fA-F]*)//' monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW_MONITOR reply:
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=123 actions=output:1
OFPT_BARRIER_REPLY:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1646"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }


# Add, delete, and modify some flows and check the updates.
ovs-appctl -t ovs-ofctl ofctl/set-output-file monitor.log
ovs-ofctl add-flow br0 in_port=0,dl_vlan=124,actions=output:2
ovs-ofctl add-flow br0 in_port=0,dl_vlan=123,actions=output:5
ovs-ofctl add-flow br0 in_port=0,dl_vlan=123,dl_vlan_pcp=0,actions=output:6
ovs-ofctl add-flow br0 in_port=0,dl_vlan=123,dl_vlan_pcp=1,actions=output:7
ovs-ofctl add-flow br0 in_port=0,dl_vlan=123,actions=output:8
ovs-ofctl add-flow br0 in_port=0,dl_vlan=65535,dl_vlan_pcp=0,actions=output:9
ovs-ofctl add-flow br0 in_port=0,dl_vlan=65535,dl_vlan_pcp=1,actions=output:10
ovs-ofctl add-flow br0 in_port=0,dl_vlan=65535,actions=output:11
ovs-ofctl add-flow br0 in_port=0,dl_vlan=8191,dl_vlan_pcp=0,actions=output:12
ovs-ofctl add-flow br0 in_port=0,dl_vlan=8191,dl_vlan_pcp=1,actions=output:13
ovs-ofctl add-flow br0 in_port=0,dl_vlan=8191,actions=output:14
ovs-ofctl add-flow br0 in_port=0,dl_vlan=0,dl_vlan_pcp=0,actions=output:15
ovs-ofctl add-flow br0 in_port=0,dl_vlan=0,dl_vlan_pcp=1,actions=output:16
ovs-ofctl add-flow br0 in_port=0,dl_vlan=0,actions=output:17
ovs-ofctl add-flow br0 in_port=0,dl_vlan=0,dl_vlan_pcp=0,actions=output:18
ovs-ofctl add-flow br0 in_port=0,dl_vlan=0,dl_vlan_pcp=1,actions=output:19
ovs-ofctl add-flow br0 in_port=0,dl_vlan=0,actions=output:20
ovs-ofctl add-flow br0 in_port=0,dl_vlan_pcp=0,actions=output:21
ovs-ofctl add-flow br0 in_port=0,dl_vlan_pcp=1,actions=output:22
ovs-ofctl add-flow br0 in_port=0,actions=output:23
ovs-ofctl mod-flows br0 dl_vlan=123,actions=output:3
ovs-ofctl mod-flows br0 cookie=5,dl_vlan=123,actions=output:3
ovs-ofctl del-flows br0 dl_vlan=123
ovs-ofctl del-flows br0
ovs-appctl -t ovs-ofctl ofctl/barrier
sort='
    # Sorts groups of lines that start with a space, without moving them
    # past the nearest line that does not start with a space.
    use warnings;
    use strict;
    my @buffer = ();
    while (<STDIN>) {
        if (/^ /) {
            push(@buffer, $_);
        } else {
            print $_ foreach sort(@buffer);
            print $_;
            @buffer = ();
        }
    }
    print $_ foreach sort(@buffer);
'
{ set +x
$as_echo "$at_srcdir/ofproto.at:1696: sed 's/ (xid=0x[1-9a-fA-F][0-9a-fA-F]*)//' monitor.log | \${PERL} -e \"\$sort\""
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ofproto.at:1696"
( $at_check_trace; sed 's/ (xid=0x[1-9a-fA-F][0-9a-fA-F]*)//' monitor.log | ${PERL} -e "$sort"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=124 actions=output:2
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=123 actions=output:5
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=123,dl_vlan_pcp=0 actions=output:6
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=123,dl_vlan_pcp=1 actions=output:7
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=123 actions=output:8
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=0,dl_vlan_pcp=0 actions=output:9
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=0,dl_vlan_pcp=1 actions=output:10
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,vlan_tci=0x0000 actions=output:11
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=4095,dl_vlan_pcp=0 actions=output:12
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=4095,dl_vlan_pcp=1 actions=output:13
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=4095 actions=output:14
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=0,dl_vlan_pcp=0 actions=output:15
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=0,dl_vlan_pcp=1 actions=output:16
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=0 actions=output:17
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=0,dl_vlan_pcp=0 actions=output:18
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=0,dl_vlan_pcp=1 actions=output:19
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan=0 actions=output:20
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan_pcp=0 actions=output:21
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0,dl_vlan_pcp=1 actions=output:22
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=0 actions=output:23
NXST_FLOW_MONITOR reply (xid=0x0):
 event=MODIFIED table=0 cookie=0 in_port=0,dl_vlan=123 actions=output:3
 event=MODIFIED table=0 cookie=0 in_port=0,dl_vlan=123,dl_vlan_pcp=0 actions=output:3
 event=MODIFIED table=0 cookie=0 in_port=0,dl_vlan=123,dl_vlan_pcp=1 actions=output:3
NXST_FLOW_MONITOR reply (xid=0x0):
 event=MODIFIED table=0 cookie=0x5 in_port=0,dl_vlan=123 actions=output:3
 event=MODIFIED table=0 cookie=0x5 in_port=0,dl_vlan=123,dl_vlan_pcp=0 actions=output:3
 event=MODIFIED table=0 cookie=0x5 in_port=0,dl_vlan=123,dl_vlan_pcp=1 actions=output:3
NXST_FLOW_MONITOR reply (xid=0x0):
 event=DELETED reason=delete table=0 cookie=0x5 in_port=0,dl_vlan=123 actions=output:3
 event=DELETED reason=delete table=0 cookie=0x5 in_port=0,dl_vlan=123,dl_vlan_pcp=0 actions=output:3
 event=DELETED reason=delete table=0 cookie=0x5 in_port=0,dl_vlan=123,dl_vlan_pcp=1 actions=output:3
NXST_FLOW_MONITOR reply (xid=0x0):
 event=DELETED reason=delete table=0 cookie=0 in_port=0 actions=output:23
 event=DELETED reason=delete table=0 cookie=0 in_port=0,dl_vlan=0 actions=output:20
 event=DELETED reason=delete table=0 cookie=0 in_port=0,dl_vlan=0,dl_vlan_pcp=0 actions=output:18
 event=DELETED reason=delete table=0 cookie=0 in_port=0,dl_vlan=0,dl_vlan_pcp=1 actions=output:19
 event=DELETED reason=delete table=0 cookie=0 in_port=0,dl_vlan=124 actions=output:2
 event=DELETED reason=delete table=0 cookie=0 in_port=0,dl_vlan=4095 actions=output:14
 event=DELETED reason=delete table=0 cookie=0 in_port=0,dl_vlan=4095,dl_vlan_pcp=0 actions=output:12
 event=DELETED reason=delete table=0 cookie=0 in_port=0,dl_vlan=4095,dl_vlan_pcp=1 actions=output:13
 event=DELETED reason=delete table=0 cookie=0 in_port=0,dl_vlan_pcp=0 actions=output:21
 event=DELETED reason=delete table=0 cookie=0 in_port=0,dl_vlan_pcp=1 actions=output:22
 event=DELETED reason=delete table=0 cookie=0 in_port=0,vlan_tci=0x0000 actions=output:11
OFPT_BARRIER_REPLY:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1696"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }


# Check that our own changes are reported as abbreviations.
ovs-appctl -t ovs-ofctl ofctl/set-output-file monitor.log
ovs-ofctl add-flow br0 in_port=1,actions=output:2
ovs-ofctl add-flow br0 in_port=2,actions=output:1
ovs-appctl -t ovs-ofctl ofctl/barrier
ovs-appctl -t ovs-ofctl ofctl/send 010e004812345678003fffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000ffffffffffff0000
ovs-appctl -t ovs-ofctl ofctl/barrier
{ set +x
$as_echo "$at_srcdir/ofproto.at:1771: ovs-ofctl dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto.at:1771"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1773: sed 's/ (xid=0x[1-9a-fA-F][0-9a-fA-F]*)//' monitor.log"
at_fn_check_prepare_trace "ofproto.at:1773"
( $at_check_trace; sed 's/ (xid=0x[1-9a-fA-F][0-9a-fA-F]*)//' monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=1 actions=output:2
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ADDED table=0 cookie=0 in_port=2 actions=output:1
OFPT_BARRIER_REPLY:
send: OFPT_FLOW_MOD: DEL priority=0 actions=drop
NXST_FLOW_MONITOR reply (xid=0x0):
 event=ABBREV xid=0x12345678
OFPT_BARRIER_REPLY:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1773"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }


ovs-appctl -t ovs-ofctl exit
{ set +x
$as_echo "$at_srcdir/ofproto.at:1786: check_logs "
at_fn_check_prepare_trace "ofproto.at:1786"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1786"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1786: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:1786"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1786"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1786: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:1786"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1786"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_616
#AT_START_617
at_fn_group_banner 617 'ofproto.at:1789' \
  "ofproto - flow monitoring pause and resume" "     " 43
at_xfail=no
(
  $as_echo "617. $at_setup_line: testing $at_desc ..."
  $at_traceon



# The maximum socket receive buffer size is important for this test, which
# tests behavior when the receive buffer overflows.
if test -e /proc/sys/net/core/rmem_max; then
    # Linux
    rmem_max=`cat /proc/sys/net/core/rmem_max`
elif rmem_max=`sysctl -n net.inet.tcp.recvbuf_max 2>/dev/null`; then
    : # FreeBSD, NetBSD
else
    # Don't know how to get maximum socket receive buffer on this OS
    $as_echo "ofproto.at:1801" >"$at_check_line_file"
at_fn_check_skip 77 "$at_srcdir/ofproto.at:1801"
fi
# Calculate the total amount of queuing: rmem_max in the kernel, 128 kB
# in ofproto sending userspace (see ofmonitor_flush() in connmgr.c).
queue_size=`expr $rmem_max + 128 \* 1024`
echo rmem_max=$rmem_max queue_size=$queue_size

# Each flow update message takes up at least 48 bytes of space in queues
# and in practice more than that.
n_msgs=`expr $queue_size / 48`
echo n_msgs=$n_msgs

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto.at:1813: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto.at:1813"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1813"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1813: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto.at:1813"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1813"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1813: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1813"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1813"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto.at:1813: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto.at:1813"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1813"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1813: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto.at:1813"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1813"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto.at:1813: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1813"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1813"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto.at:1813: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto.at:1813"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1813"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# Start a monitor watching the flow table, then make it block.
trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovs-ofctl.pid`
EOF

ovs-ofctl monitor br0 watch: --detach --no-chdir --pidfile >monitor.log 2>&1

ovs-appctl -t ovs-ofctl ofctl/block

# Add $n_msgs flows.
(echo "in_port=2,actions=output:2"
${PERL} -e '
    for ($i = 0; $i < '$n_msgs'; $i++) {
        print "cookie=1,reg1=$i,actions=drop\n";
    }
') > flows.txt
{ set +x
$as_echo "$at_srcdir/ofproto.at:1828: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto.at:1828"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1828"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

# Check that multipart flow dumps work properly:
{ set +x
$as_echo "$at_srcdir/ofproto.at:1830: ovs-ofctl diff-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto.at:1830"
( $at_check_trace; ovs-ofctl diff-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1830"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1831: ovs-ofctl add-flow br0 in_port=1,cookie=3,actions=drop"
at_fn_check_prepare_trace "ofproto.at:1831"
( $at_check_trace; ovs-ofctl add-flow br0 in_port=1,cookie=3,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1831"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1832: ovs-ofctl mod-flows br0 in_port=2,cookie=2,actions=output:2"
at_fn_check_prepare_trace "ofproto.at:1832"
( $at_check_trace; ovs-ofctl mod-flows br0 in_port=2,cookie=2,actions=output:2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1832"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1833: ovs-ofctl del-flows br0 cookie=1/-1"
at_fn_check_prepare_trace "ofproto.at:1833"
( $at_check_trace; ovs-ofctl del-flows br0 cookie=1/-1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1833"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }


ovs-appctl -t ovs-ofctl ofctl/unblock
ovs-appctl -t ovs-ofctl ofctl/barrier

ovs-appctl -t ovs-ofctl exit

# Check that the flow monitor reported the same number of flows
# added and deleted, but fewer than we actually added and deleted.
adds=`grep -c 'ADDED.*reg1=' monitor.log`
deletes=`grep -c 'DELETED.*reg1=' monitor.log`
echo adds=$adds deletes=$deletes
{ set +x
$as_echo "$at_srcdir/ofproto.at:1845: test \$adds -gt 100 && test \$adds -lt \$n_msgs"
at_fn_check_prepare_dynamic "test $adds -gt 100 && test $adds -lt $n_msgs" "ofproto.at:1845"
( $at_check_trace; test $adds -gt 100 && test $adds -lt $n_msgs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1845"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1846: test \$adds = \$deletes"
at_fn_check_prepare_dynamic "test $adds = $deletes" "ofproto.at:1846"
( $at_check_trace; test $adds = $deletes
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1846"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }


# Check that the flow monitor reported everything in the expected order:
#
#     event=ADDED table=0 cookie=0x1 reg1=0x22
# ...
#    NXT_FLOW_MONITOR_PAUSED:
# ...
#     event=DELETED reason=delete table=0 cookie=0x1 reg1=0x22
# ...
#     event=ADDED table=0 cookie=0x3 in_port=1
#     event=MODIFIED table=0 cookie=0x2 in_port=2 actions=output:2
#    NXT_FLOW_MONITOR_RESUMED:
#
# except that, between the PAUSED and RESUMED, the order of the ADDED
# and MODIFIED lines lines depends on hash order, that is, it varies
# as we change the hash function or change architecture.  Therefore,
# we use a couple of tests below to accept both orders.
{ set +x
$as_echo "$at_srcdir/ofproto.at:1864: ofctl_strip < monitor.log | sed -n -e '
/reg1=0x22\$/p
/cookie=0x[23]/p
/NXT_FLOW_MONITOR_PAUSED:/p
/NXT_FLOW_MONITOR_RESUMED:/p
' > monitor.log.subset"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto.at:1864"
( $at_check_trace; ofctl_strip < monitor.log | sed -n -e '
/reg1=0x22$/p
/cookie=0x[23]/p
/NXT_FLOW_MONITOR_PAUSED:/p
/NXT_FLOW_MONITOR_RESUMED:/p
' > monitor.log.subset
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1864"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1870: grep -v MODIFIED monitor.log.subset"
at_fn_check_prepare_trace "ofproto.at:1870"
( $at_check_trace; grep -v MODIFIED monitor.log.subset
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " event=ADDED table=0 cookie=0x1 reg1=0x22
NXT_FLOW_MONITOR_PAUSED:
 event=DELETED reason=delete table=0 cookie=0x1 reg1=0x22
 event=ADDED table=0 cookie=0x3 in_port=1
NXT_FLOW_MONITOR_RESUMED:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1870"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto.at:1877: grep -v ADDED monitor.log.subset"
at_fn_check_prepare_trace "ofproto.at:1877"
( $at_check_trace; grep -v ADDED monitor.log.subset
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_FLOW_MONITOR_PAUSED:
 event=DELETED reason=delete table=0 cookie=0x1 reg1=0x22
 event=MODIFIED table=0 cookie=0x2 in_port=2 actions=output:2
NXT_FLOW_MONITOR_RESUMED:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1877"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto.at:1884: check_logs "
at_fn_check_prepare_trace "ofproto.at:1884"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1884"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1884: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto.at:1884"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1884"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto.at:1884: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto.at:1884"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto.at:1884"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"monitor.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_617
#AT_START_618
at_fn_group_banner 618 'ofproto-dpif.at:3' \
  "ofproto-dpif - resubmit" "                        " 44
at_xfail=no
(
  $as_echo "618. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:4: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:4"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:4: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:4"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:4: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:4"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:4: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:4"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:4: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:4"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:4: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:4"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:4: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:4"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p10 -- set Interface p10 type=dummy ofport_request=10 \
    -- add-port br0 p11 -- set Interface p11 type=dummy ofport_request=11 \
    -- add-port br0 p12 -- set Interface p12 type=dummy ofport_request=12 \
    -- add-port br0 p13 -- set Interface p13 type=dummy ofport_request=13 \
    -- add-port br0 p14 -- set Interface p14 type=dummy ofport_request=14 \
    -- add-port br0 p15 -- set Interface p15 type=dummy ofport_request=15 \
    -- add-port br0 p16 -- set Interface p16 type=dummy ofport_request=16 \
    -- add-port br0 p17 -- set Interface p17 type=dummy ofport_request=17 \
    -- add-port br0 p18 -- set Interface p18 type=dummy ofport_request=18 \
    -- add-port br0 p19 -- set Interface p19 type=dummy ofport_request=19 \
    -- add-port br0 p20 -- set Interface p20 type=dummy ofport_request=20 \
    -- add-port br0 p21 -- set Interface p21 type=dummy ofport_request=21
cat >flows.txt <<'_ATEOF'
table=0 in_port=1 priority=1000 icmp actions=output(10),resubmit(2),output(19),resubmit(3),output(21)
table=0 in_port=2 priority=1500 icmp actions=output(11),resubmit(,1),output(16),resubmit(2,1),output(18)
table=0 in_port=3 priority=2000 icmp actions=output(20)
table=1 in_port=1 priority=1000 icmp actions=output(12),resubmit(4,1),output(13),resubmit(3),output(15)
table=1 in_port=2 priority=1500 icmp actions=output(17),resubmit(,2)
table=1 in_port=3 priority=1500 icmp actions=output(14),resubmit(,2)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:15: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:15"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:15"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:16: ovs-appctl ofproto/trace br0 'in_port=1,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:07,dl_type=0x0800,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_proto=1,nw_tos=0,nw_ttl=128,icmp_type=8,icmp_code=0'"
at_fn_check_prepare_trace "ofproto-dpif.at:16"
( $at_check_trace; ovs-appctl ofproto/trace br0 'in_port=1,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:07,dl_type=0x0800,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_proto=1,nw_tos=0,nw_ttl=128,icmp_type=8,icmp_code=0'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:16"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:17: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:17"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 10,11,12,13,14,15,16,17,18,19,20,21
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:17"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:20: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:20"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:20"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:20: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:20"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:20"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:20: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:20"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:20"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_618
#AT_START_619
at_fn_group_banner 619 'ofproto-dpif.at:23' \
  "ofproto-dpif - goto table" "                      " 44
at_xfail=no
(
  $as_echo "619. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:24: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:24"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:24"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:24: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:24"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:24"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:24: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:24"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:24"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:24: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:24"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:24"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:24: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:24"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:24"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:24: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:24"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:24"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:24: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:24"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:24"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p10 -- set Interface p10 type=dummy ofport_request=10 \
    -- add-port br0 p11 -- set Interface p11 type=dummy ofport_request=11
echo "table=0 in_port=1 actions=output(10),goto_table(1)" > flows.txt
for i in `seq 1 63`; do echo "table=$i actions=goto_table($(($i+1)))"; done >> flows.txt
echo "table=64 actions=output(11)" >> flows.txt
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:29: ovs-ofctl -O OpenFlow12 add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:29"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:29"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:30: ovs-appctl ofproto/trace br0 'in_port=1,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:07,dl_type=0x0800,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_proto=1,nw_tos=0,nw_ttl=128,icmp_type=8,icmp_code=0'"
at_fn_check_prepare_trace "ofproto-dpif.at:30"
( $at_check_trace; ovs-appctl ofproto/trace br0 'in_port=1,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:07,dl_type=0x0800,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_proto=1,nw_tos=0,nw_ttl=128,icmp_type=8,icmp_code=0'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:30"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:31: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:31"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 10,11
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:31"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:34: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:34"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:34: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:34"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:34: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:34"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:34"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_619
#AT_START_620
at_fn_group_banner 620 'ofproto-dpif.at:37' \
  "ofproto-dpif - registers" "                       " 44
at_xfail=no
(
  $as_echo "620. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:38: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:38"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:38"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:38: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:38"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:38"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:38: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:38"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:38"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:38: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:38"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:38"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:38: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:38"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:38"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:38: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:38"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:38"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:38: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:38"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:38"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p20 -- set Interface p20 type=dummy ofport_request=20 \
    -- add-port br0 p21 -- set Interface p21 type=dummy ofport_request=21 \
    -- add-port br0 p22 -- set Interface p22 type=dummy ofport_request=22 \
    -- add-port br0 p33 -- set Interface p33 type=dummy ofport_request=33 \
    -- add-port br0 p90 -- set Interface p90 type=dummy ofport_request=90
cat >flows.txt <<'_ATEOF'
in_port=90                 actions=resubmit:2,resubmit:3,resubmit:4,resubmit:91
in_port=91                 actions=resubmit:5,resubmit:6,resubmit:7,resubmit:92
in_port=92                 actions=resubmit:8,resubmit:9,resubmit:10,resubmit:11,resubmit:93
in_port=93                 actions=resubmit:12,resubmit:13,resubmit:14,resubmit:15

in_port=2                  actions=load:0x000db000->NXM_NX_REG0[]
in_port=3                  actions=load:0xdea->NXM_NX_REG0[20..31]
in_port=4                  actions=load:0xeef->NXM_NX_REG0[0..11]
in_port=5                  actions=move:NXM_NX_REG0[]->NXM_NX_REG1[]
in_port=6                  actions=load:0x22222222->NXM_NX_REG2[]
in_port=7                  actions=move:NXM_NX_REG1[20..31]->NXM_NX_REG2[0..11]
in_port=8                  actions=move:NXM_NX_REG1[0..11]->NXM_NX_REG2[20..31]
in_port=9,reg0=0xdeadbeef  actions=output:20
in_port=10,reg1=0xdeadbeef actions=output:21
in_port=11,reg2=0xeef22dea actions=output:22

in_port=12 actions=load:0x10->NXM_NX_REG0[],load:0x11->NXM_NX_REG1[],load:0x12->NXM_NX_REG2[]
in_port=13 actions=load:0x13->NXM_NX_REG3[],load:0x14->NXM_NX_REG4[],load:0x15->NXM_NX_REG5[]
in_port=14 actions=load:0x16->NXM_NX_REG6[],load:0x17->NXM_NX_REG7[]
in_port=15,reg0=0x10,reg1=0x11,reg2=0x12,reg3=0x13,reg4=0x14,reg5=0x15,reg6=0x16,reg7=0x17 actions=output:33

_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:64: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:64"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:64"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:65: ovs-appctl ofproto/trace ovs-dummy 'in_port(90),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:65"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(90),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:65"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:66: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:66"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 20,21,22,33
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:66"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:69: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:69"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:69"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:69: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:69"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:69"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:69: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:69"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:69"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_620
#AT_START_621
at_fn_group_banner 621 'ofproto-dpif.at:72' \
  "ofproto-dpif - push-pop" "                        " 44
at_xfail=no
(
  $as_echo "621. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:73: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:73"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:73"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:73: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:73"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:73"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:73: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:73"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:73"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:73: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:73"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:73"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:73: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:73"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:73"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:73: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:73"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:73"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:73: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:73"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:73"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p20 -- set Interface p20 type=dummy ofport_request=20 \
    -- add-port br0 p21 -- set Interface p21 type=dummy ofport_request=21 \
    -- add-port br0 p22 -- set Interface p22 type=dummy ofport_request=22 \
    -- add-port br0 p33 -- set Interface p33 type=dummy ofport_request=33 \
    -- add-port br0 p90 -- set Interface p90 type=dummy ofport_request=90
cat >flows.txt <<'_ATEOF'
in_port=90           actions=load:20->NXM_NX_REG0[0..7],load:21->NXM_NX_REG1[0..7],load:22->NXM_NX_REG2[0..7], load:33->NXM_NX_REG3[0..7], push:NXM_NX_REG0[], push:NXM_NX_REG1[0..7],push:NXM_NX_REG2[0..15], push:NXM_NX_REG3[], resubmit:2, resubmit:3, resubmit:4, resubmit:5
in_port=2            actions=pop:NXM_NX_REG0[0..7],output:NXM_NX_REG0[]
in_port=3            actions=pop:NXM_NX_REG1[0..7],output:NXM_NX_REG1[]
in_port=4            actions=pop:NXM_NX_REG2[0..15],output:NXM_NX_REG2[]
in_port=5            actions=pop:NXM_NX_REG3[],output:NXM_NX_REG3[]

_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:83: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:83"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:83"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:84: ovs-appctl ofproto/trace ovs-dummy 'in_port(90),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:84"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(90),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:84"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:85: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:85"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 33,22,21,20
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:85"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:88: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:88"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:88"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:88: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:88"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:88"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:88: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:88"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:88"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_621
#AT_START_622
at_fn_group_banner 622 'ofproto-dpif.at:91' \
  "ofproto-dpif - output" "                          " 44
at_xfail=no
(
  $as_echo "622. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:92: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:92"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:92"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:92: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:92"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:92"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:92: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:92"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:92"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:92: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:92"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:92"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:92: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:92"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:92"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:92: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:92"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:92"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:92: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:92"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:92"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p9 -- set Interface p9 type=dummy ofport_request=9 \
    -- add-port br0 p10 -- set Interface p10 type=dummy ofport_request=10 \
    -- add-port br0 p11 -- set Interface p11 type=dummy ofport_request=11 \
    -- add-port br0 p55 -- set Interface p55 type=dummy ofport_request=55 \
    -- add-port br0 p66 -- set Interface p66 type=dummy ofport_request=66 \
    -- add-port br0 p77 -- set Interface p77 type=dummy ofport_request=77 \
    -- add-port br0 p88 -- set Interface p88 type=dummy ofport_request=88
cat >flows.txt <<'_ATEOF'
in_port=1 actions=resubmit:2,resubmit:3,resubmit:4,resubmit:5,resubmit:6,resubmit:7,resubmit:8
in_port=2 actions=output:9
in_port=3 actions=load:55->NXM_NX_REG0[],output:NXM_NX_REG0[],load:66->NXM_NX_REG1[]
in_port=4 actions=output:10,output:NXM_NX_REG0[],output:NXM_NX_REG1[],output:11
in_port=5 actions=load:77->NXM_NX_REG0[0..15],load:88->NXM_NX_REG0[16..31]
in_port=6 actions=output:NXM_NX_REG0[0..15],output:NXM_NX_REG0[16..31]
in_port=7 actions=load:0x110000ff->NXM_NX_REG0[],output:NXM_NX_REG0[]
in_port=8 actions=1,9,load:9->NXM_OF_IN_PORT[],1,9
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:104: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:104"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:104"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:105: ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:105"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:105"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:106: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:106"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 9,55,10,55,66,11,77,88,9,1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:106"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:109: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:109"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:109"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:109: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:109"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:109"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:109: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:109"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:109"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_622
#AT_START_623
at_fn_group_banner 623 'ofproto-dpif.at:112' \
  "ofproto-dpif - dec_ttl" "                         " 44
at_xfail=no
(
  $as_echo "623. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:113: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:113"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:113"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:113: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:113"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:113"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:113: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:113"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:113"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:113: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:113"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:113"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:113: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:113"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:113"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:113: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:113"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:113"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:113: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:113"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:113"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3 \
    -- add-port br0 p4 -- set Interface p4 type=dummy ofport_request=4
cat >flows.txt <<'_ATEOF'
table=0 in_port=1 action=dec_ttl,output:2,resubmit(1,1),output:4
table=1 in_port=1 action=dec_ttl,output:3
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:119: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:119"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:119"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:120: ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=2,frag=no)' -generate"
at_fn_check_prepare_trace "ofproto-dpif.at:120"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=2,frag=no)' -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:120"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:121: tail -3 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:121"
( $at_check_trace; tail -3 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=1,frag=no)),2,4
This flow is handled by the userspace slow path because it:
	- Sends \"packet-in\" messages to the OpenFlow controller.
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:121"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:126: ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=3,frag=no)'"
at_fn_check_prepare_trace "ofproto-dpif.at:126"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=3,frag=no)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:126"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:127: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:127"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=2,frag=no)),2,set(ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=1,frag=no)),3,4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:127"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:130: ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=10,tclass=0x70,hlimit=128,frag=no)'"
at_fn_check_prepare_trace "ofproto-dpif.at:130"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=10,tclass=0x70,hlimit=128,frag=no)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:130"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:131: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:131"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(ipv6(src=::1,dst=::2,label=0,proto=10,tclass=0x70,hlimit=127,frag=no)),2,set(ipv6(src=::1,dst=::2,label=0,proto=10,tclass=0x70,hlimit=126,frag=no)),3,4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:131"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:136: ovs-ofctl monitor br0 65534 invalid_ttl --detach --no-chdir --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:136"
( $at_check_trace; ovs-ofctl monitor br0 65534 invalid_ttl --detach --no-chdir --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:136"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:137: ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=2,frag=no)' -generate"
at_fn_check_prepare_trace "ofproto-dpif.at:137"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=2,frag=no)' -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:137"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:138: ovs_wait_cond () { ovs-appctl -t ovs-ofctl exit
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:138"
( $at_check_trace; ovs_wait_cond () { ovs-appctl -t ovs-ofctl exit
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:138"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:139: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:139"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): table_id=1 total_len=42 in_port=1 (via invalid_ttl) data_len=42 (unbuffered)
icmp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=1,icmp_type=0,icmp_code=0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:143: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:143"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:143"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:143: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:143"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:143"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:143: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:143"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:143"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_623
#AT_START_624
at_fn_group_banner 624 'ofproto-dpif.at:147' \
  "ofproto-dpif - output, OFPP_NONE ingress port" "  " 44
at_xfail=no
(
  $as_echo "624. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:148: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:148"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:148"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:148: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:148"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:148"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:148: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:148"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:148"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:148: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:148"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:148: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:148"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:148: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:148"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:148: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:148"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:151: ovs-ofctl add-flow br0 action=normal"
at_fn_check_prepare_trace "ofproto-dpif.at:151"
( $at_check_trace; ovs-ofctl add-flow br0 action=normal
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:151"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# "in_port" defaults to OFPP_NONE if it's not specified.
flow="icmp,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,icmp_type=8,icmp_code=0"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:155: ovs-appctl ofproto/trace br0 \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace br0 \"$flow\"" "ofproto-dpif.at:155"
( $at_check_trace; ovs-appctl ofproto/trace br0 "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:155"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:156: tail -1 stdout | sed 's/Datapath actions: //' | tr \",\" \"\\n\" | sort -n"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:156"
( $at_check_trace; tail -1 stdout | sed 's/Datapath actions: //' | tr "," "\n" | sort -n
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1
2
100
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:156"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:162: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:162"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:162"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:162: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:162"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:162"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:162: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:162"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:162"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_624
#AT_START_625
at_fn_group_banner 625 'ofproto-dpif.at:165' \
  "ofproto-dpif - DSCP" "                            " 44
at_xfail=no
(
  $as_echo "625. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:166: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:166"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:166"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:166: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:166"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:166"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:166: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:166"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:166"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:166: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:166"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:166"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:166: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:166"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:166"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:166: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:166"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:166"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:166: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy "
at_fn_check_prepare_trace "ofproto-dpif.at:166"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:166"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p9 -- set Interface p9 type=dummy ofport_request=9
cat >flows.txt <<'_ATEOF'
actions=output:LOCAL,enqueue:1:1,enqueue:1:2,enqueue:1:2,enqueue:1:1,output:1,mod_nw_tos:0,output:1,output:LOCAL
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:171: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:171"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:171"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:172: ovs-vsctl -- \\
        set Port p1 qos=@newqos --\\
        --id=@newqos create QoS type=linux-htb queues=1=@q1,2=@q2 --\\
        --id=@q1 create Queue dscp=1 --\\
        --id=@q2 create Queue dscp=2"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:172"
( $at_check_trace; ovs-vsctl -- \
        set Port p1 qos=@newqos --\
        --id=@newqos create QoS type=linux-htb queues=1=@q1,2=@q2 --\
        --id=@q1 create Queue dscp=1 --\
        --id=@q2 create Queue dscp=2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:172"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:177: ovs-appctl ofproto/trace ovs-dummy 'in_port(9),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=1.1.1.1,dst=2.2.2.2,proto=1,tos=0xff,ttl=128,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:177"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(9),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=1.1.1.1,dst=2.2.2.2,proto=1,tos=0xff,ttl=128,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:177"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:178: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:178"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 100,set(ipv4(src=1.1.1.1,dst=2.2.2.2,proto=1,tos=0x7,ttl=128,frag=no)),set(skb_priority(0x1)),1,set(ipv4(src=1.1.1.1,dst=2.2.2.2,proto=1,tos=0xb,ttl=128,frag=no)),set(skb_priority(0x2)),1,1,set(ipv4(src=1.1.1.1,dst=2.2.2.2,proto=1,tos=0x7,ttl=128,frag=no)),set(skb_priority(0x1)),1,set(ipv4(src=1.1.1.1,dst=2.2.2.2,proto=1,tos=0xff,ttl=128,frag=no)),set(skb_priority(0)),1,set(ipv4(src=1.1.1.1,dst=2.2.2.2,proto=1,tos=0x3,ttl=128,frag=no)),1,100
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:178"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:189: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:189"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:189"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:189: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:189"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:189"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:189: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:189"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:189"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_625
#AT_START_626
at_fn_group_banner 626 'ofproto-dpif.at:192' \
  "ofproto-dpif - output/flood flags" "              " 44
at_xfail=no
(
  $as_echo "626. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:193: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:193"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:193"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:193: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:193"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:193"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:193: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:193"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:193"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:193: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:193"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:193"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:193: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:193"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:193"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:193: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:193"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:193"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:193: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:193"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:193"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3 \
    -- add-port br0 p4 -- set Interface p4 type=dummy ofport_request=4 \
    -- add-port br0 p5 -- set Interface p5 type=dummy ofport_request=5 \
    -- add-port br0 p6 -- set Interface p6 type=dummy ofport_request=6 \
    -- add-port br0 p7 -- set Interface p7 type=dummy ofport_request=7

cat >flows.txt <<'_ATEOF'
in_port=local actions=local,flood
in_port=1 actions=flood
in_port=2 actions=all
in_port=3 actions=output:LOCAL,output:1,output:2,output:3,output:4,output:5,output:6,output:7
in_port=4 actions=enqueue:LOCAL:1,enqueue:1:1,enqueue:2:1,enqueue:3:2,enqueue:4:1,enqueue:5:1,enqueue:6:1,enqueue:7:1
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:203: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:203"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:203"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:204: ovs-ofctl mod-port br0 5 noforward"
at_fn_check_prepare_trace "ofproto-dpif.at:204"
( $at_check_trace; ovs-ofctl mod-port br0 5 noforward
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:204"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:205: ovs-ofctl mod-port br0 6 noflood"
at_fn_check_prepare_trace "ofproto-dpif.at:205"
( $at_check_trace; ovs-ofctl mod-port br0 6 noflood
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:205"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:207: ovs-appctl ofproto/trace ovs-dummy 'in_port(100),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x0900)'"
at_fn_check_prepare_trace "ofproto-dpif.at:207"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(100),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x0900)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:207"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:208: tail -1 stdout \\
| sed -e 's/Datapath actions: //' | tr ',' '\\n' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:208"
( $at_check_trace; tail -1 stdout \
| sed -e 's/Datapath actions: //' | tr ',' '\n' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1
2
3
4
7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:208"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:217: ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x0900)'"
at_fn_check_prepare_trace "ofproto-dpif.at:217"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x0900)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:217"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:218: tail -1 stdout \\
| sed -e 's/Datapath actions: //' | tr ',' '\\n' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:218"
( $at_check_trace; tail -1 stdout \
| sed -e 's/Datapath actions: //' | tr ',' '\n' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "100
2
3
4
7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:218"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:227: ovs-appctl ofproto/trace ovs-dummy 'in_port(2),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x0900)'"
at_fn_check_prepare_trace "ofproto-dpif.at:227"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(2),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x0900)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:227"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:228: tail -1 stdout \\
| sed -e 's/Datapath actions: //' | tr ',' '\\n' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:228"
( $at_check_trace; tail -1 stdout \
| sed -e 's/Datapath actions: //' | tr ',' '\n' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1
100
3
4
6
7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:228"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:238: ovs-appctl ofproto/trace ovs-dummy 'in_port(3),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x0900)'"
at_fn_check_prepare_trace "ofproto-dpif.at:238"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(3),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x0900)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:238"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:239: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:239"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 100,1,2,4,6,7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:239"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:243: ovs-appctl ofproto/trace ovs-dummy 'in_port(4),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x0900)'"
at_fn_check_prepare_trace "ofproto-dpif.at:243"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(4),eth(src=00:00:00:00:00:01,dst=00:00:00:00:00:02),eth_type(0x0900)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:243"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:244: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:244"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: set(skb_priority(0x1)),100,1,2,set(skb_priority(0x2)),3,set(skb_priority(0x1)),6,7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:244"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:247: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:247"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:247"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:247: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:247"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:247"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:247: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:247"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:247"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_626
#AT_START_627
at_fn_group_banner 627 'ofproto-dpif.at:250' \
  "ofproto-dpif - controller" "                      " 44
at_xfail=no
(
  $as_echo "627. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:251: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:251"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:251"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:251: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:251"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:251"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:251: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:251"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:251"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:251: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:251"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:251"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:251: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:251"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:251"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:251: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:251"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:251"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:251: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --    add-port br0 p1 -- set Interface p1 type=dummy
 "
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:251"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --    add-port br0 p1 -- set Interface p1 type=dummy

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:251"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovs-ofctl.pid`
EOF



cat >flows.txt <<'_ATEOF'
cookie=0x0 dl_src=10:11:11:11:11:11 actions=controller
cookie=0x1 dl_src=20:22:22:22:22:22 actions=controller,resubmit(80,1)
cookie=0x2 dl_src=30:33:33:33:33:33 actions=mod_vlan_vid:15,controller

cookie=0x3 table=1 in_port=80 actions=load:1->NXM_NX_REG0[],mod_vlan_vid:80,controller,resubmit(81,2)
cookie=0x4 table=2 in_port=81 actions=load:2->NXM_NX_REG1[],mod_dl_src:80:81:81:81:81:81,controller,resubmit(82,3)
cookie=0x5 table=3 in_port=82 actions=load:3->NXM_NX_REG2[],mod_dl_dst:82:82:82:82:82:82,controller,resubmit(83,4)
cookie=0x6 table=4 in_port=83 actions=load:4->NXM_NX_REG3[],mod_nw_src:83.83.83.83,controller,resubmit(84,5)
cookie=0x7 table=5 in_port=84 actions=load:5->NXM_NX_REG4[],load:6->NXM_NX_TUN_ID[],mod_nw_dst:84.84.84.84,controller,resubmit(85,6)
cookie=0x8 table=6 in_port=85 actions=mod_tp_src:85,controller,resubmit(86,7)
cookie=0x9 table=7 in_port=86 actions=mod_tp_dst:86,controller,controller
cookie=0xa dl_src=40:44:44:44:44:41 actions=mod_vlan_vid:99,mod_vlan_pcp:1,controller
cookie=0xa dl_src=40:44:44:44:44:42 actions=push_mpls:0x8847,load:10->OXM_OF_MPLS_LABEL[],load:3->OXM_OF_MPLS_TC[],controller
cookie=0xa dl_src=40:44:44:44:44:43 actions=push_mpls:0x8847,load:10->OXM_OF_MPLS_LABEL[],load:3->OXM_OF_MPLS_TC[],controller
cookie=0xa dl_src=40:44:44:44:44:44 actions=push_mpls:0x8847,load:10->OXM_OF_MPLS_LABEL[],load:3->OXM_OF_MPLS_TC[],controller
cookie=0xa dl_src=40:44:44:44:44:45 actions=push_mpls:0x8847,load:10->OXM_OF_MPLS_LABEL[],load:3->OXM_OF_MPLS_TC[],dec_mpls_ttl,controller
cookie=0xa dl_src=40:44:44:44:44:46 actions=push_mpls:0x8847,load:10->OXM_OF_MPLS_LABEL[],load:3->OXM_OF_MPLS_TC[],set_mpls_ttl(10),controller
cookie=0xa dl_src=40:44:44:44:44:47 actions=push_mpls:0x8847,load:10->OXM_OF_MPLS_LABEL[],load:3->OXM_OF_MPLS_TC[],dec_mpls_ttl,set_mpls_ttl(10),controller
cookie=0xa dl_src=40:44:44:44:44:48 actions=push_mpls:0x8847,load:10->OXM_OF_MPLS_LABEL[],load:3->OXM_OF_MPLS_TC[],set_mpls_ttl(10),dec_mpls_ttl,controller
cookie=0xb dl_src=50:55:55:55:55:55 dl_type=0x8847 actions=load:1000->OXM_OF_MPLS_LABEL[],controller
cookie=0xd dl_src=60:66:66:66:66:66 actions=pop_mpls:0x0800,controller
cookie=0xc dl_src=70:77:77:77:77:77 actions=push_mpls:0x8848,load:1000->OXM_OF_MPLS_LABEL[],load:7->OXM_OF_MPLS_TC[],controller
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:281: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:281"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:281"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:284: ovs-ofctl monitor -P openflow10 br0 65534 --detach --no-chdir --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:284"
( $at_check_trace; ovs-ofctl monitor -P openflow10 br0 65534 --detach --no-chdir --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:284"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


for i in 1 2 3 ; do
    ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=9)'
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:289: ovs_wait_cond () { test \`wc -l < ofctl_monitor.log\` -ge 6
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ofproto-dpif.at:289"
( $at_check_trace; ovs_wait_cond () { test `wc -l < ofctl_monitor.log` -ge 6
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:289"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:292: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:292"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_IN (xid=0x0): total_len=60 in_port=1 (via no_match) data_len=60 (unbuffered)
tcp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=9 tcp_csum:0
OFPT_PACKET_IN (xid=0x0): total_len=60 in_port=1 (via no_match) data_len=60 (unbuffered)
tcp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=9 tcp_csum:0
OFPT_PACKET_IN (xid=0x0): total_len=60 in_port=1 (via no_match) data_len=60 (unbuffered)
tcp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=9 tcp_csum:0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:292"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:304: ovs-ofctl monitor -P openflow10 br0 65534 --detach --no-chdir --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:304"
( $at_check_trace; ovs-ofctl monitor -P openflow10 br0 65534 --detach --no-chdir --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:304"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


for i in 1 2 3 ; do
    ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=10:11:11:11:11:11,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=10)'
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:309: ovs_wait_cond () { test \`wc -l < ofctl_monitor.log\` -ge 6
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ofproto-dpif.at:309"
( $at_check_trace; ovs_wait_cond () { test `wc -l < ofctl_monitor.log` -ge 6
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:309"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:312: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:312"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_IN (xid=0x0): total_len=60 in_port=1 (via action) data_len=60 (unbuffered)
tcp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=10:11:11:11:11:11,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=10 tcp_csum:0
OFPT_PACKET_IN (xid=0x0): total_len=60 in_port=1 (via action) data_len=60 (unbuffered)
tcp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=10:11:11:11:11:11,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=10 tcp_csum:0
OFPT_PACKET_IN (xid=0x0): total_len=60 in_port=1 (via action) data_len=60 (unbuffered)
tcp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=10:11:11:11:11:11,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=10 tcp_csum:0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:312"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:324: ovs-ofctl monitor -P openflow10 br0 65534 --detach --no-chdir --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:324"
( $at_check_trace; ovs-ofctl monitor -P openflow10 br0 65534 --detach --no-chdir --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:324"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


for i in 1 2 3 ; do
    ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=30:33:33:33:33:33,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=10)'
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:329: ovs_wait_cond () { test \`wc -l < ofctl_monitor.log\` -ge 6
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ofproto-dpif.at:329"
( $at_check_trace; ovs_wait_cond () { test `wc -l < ofctl_monitor.log` -ge 6
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:329"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:332: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:332"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPT_PACKET_IN (xid=0x0): total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
tcp,metadata=0,in_port=0,dl_vlan=15,dl_vlan_pcp=0,dl_src=30:33:33:33:33:33,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=10 tcp_csum:0
OFPT_PACKET_IN (xid=0x0): total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
tcp,metadata=0,in_port=0,dl_vlan=15,dl_vlan_pcp=0,dl_src=30:33:33:33:33:33,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=10 tcp_csum:0
OFPT_PACKET_IN (xid=0x0): total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
tcp,metadata=0,in_port=0,dl_vlan=15,dl_vlan_pcp=0,dl_src=30:33:33:33:33:33,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=10 tcp_csum:0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:332"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:344: ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:344"
( $at_check_trace; ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:344"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


for i in 1 2 3; do
    ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=40:44:44:44:44:41,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no)'
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:349: ovs_wait_cond () { test \`wc -l < ofctl_monitor.log\` -ge 6
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ofproto-dpif.at:349"
( $at_check_trace; ovs_wait_cond () { test `wc -l < ofctl_monitor.log` -ge 6
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:349"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:352: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:352"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
tcp,metadata=0,in_port=0,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:44:41,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64 tcp_csum:0
NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
tcp,metadata=0,in_port=0,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:44:41,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64 tcp_csum:0
NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
tcp,metadata=0,in_port=0,dl_vlan=99,dl_vlan_pcp=1,dl_src=40:44:44:44:44:41,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64 tcp_csum:0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:352"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:364: ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:364"
( $at_check_trace; ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:364"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


for i in 1 2 3; do
    ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=40:44:44:44:44:42,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no)'
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:369: ovs_wait_cond () { test \`wc -l < ofctl_monitor.log\` -ge 6
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ofproto-dpif.at:369"
( $at_check_trace; ovs_wait_cond () { test `wc -l < ofctl_monitor.log` -ge 6
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:369"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:372: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:372"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:42,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=64,mpls_bos=1
NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:42,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=64,mpls_bos=1
NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:42,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=64,mpls_bos=1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:372"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:384: ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:384"
( $at_check_trace; ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:384"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }



for i in 1 2 3; do
    ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=40:44:44:44:44:43,dst=50:54:00:00:00:07),eth_type(0x8847),mpls(label=11,tc=3,ttl=64,bos=1)'
done

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:392: ovs_wait_cond () { ovs-appctl -t ovs-ofctl exit
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:392"
( $at_check_trace; ovs_wait_cond () { ovs-appctl -t ovs-ofctl exit
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:392"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:393: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:393"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:43,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=64,mpls_bos=0
NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:43,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=64,mpls_bos=0
NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:43,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=64,mpls_bos=0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:393"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:405: ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:405"
( $at_check_trace; ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:405"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


for i in 1 2 3; do
    ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=40:44:44:44:44:44,dst=50:54:00:00:00:07),eth_type(0x8100),vlan(vid=99,pcp=7),encap(eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no))'
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:410: ovs_wait_cond () { test \`wc -l < ofctl_monitor.log\` -ge 6
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ofproto-dpif.at:410"
( $at_check_trace; ovs_wait_cond () { test `wc -l < ofctl_monitor.log` -ge 6
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:410"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:413: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:413"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,dl_vlan=99,dl_vlan_pcp=7,dl_src=40:44:44:44:44:44,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=64,mpls_bos=1
NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,dl_vlan=99,dl_vlan_pcp=7,dl_src=40:44:44:44:44:44,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=64,mpls_bos=1
NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,dl_vlan=99,dl_vlan_pcp=7,dl_src=40:44:44:44:44:44,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=64,mpls_bos=1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:413"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:425: ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:425"
( $at_check_trace; ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:425"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


for i in 1 2 3; do
    ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=40:44:44:44:44:45,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no)'
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:430: ovs_wait_cond () { test \`wc -l < ofctl_monitor.log\` -ge 6
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ofproto-dpif.at:430"
( $at_check_trace; ovs_wait_cond () { test `wc -l < ofctl_monitor.log` -ge 6
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:430"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:433: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:433"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:45,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=63,mpls_bos=1
NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:45,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=63,mpls_bos=1
NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:45,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=63,mpls_bos=1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:433"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:445: ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:445"
( $at_check_trace; ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


for i in 1 2 3; do
    ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=40:44:44:44:44:46,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no)'
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:450: ovs_wait_cond () { test \`wc -l < ofctl_monitor.log\` -ge 6
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ofproto-dpif.at:450"
( $at_check_trace; ovs_wait_cond () { test `wc -l < ofctl_monitor.log` -ge 6
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:450"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:453: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:453"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:46,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=10,mpls_bos=1
NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:46,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=10,mpls_bos=1
NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:46,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=10,mpls_bos=1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:453"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:465: ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:465"
( $at_check_trace; ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:465"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


for i in 1 2 3; do
    ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=40:44:44:44:44:47,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no)'
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:470: ovs_wait_cond () { test \`wc -l < ofctl_monitor.log\` -ge 6
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ofproto-dpif.at:470"
( $at_check_trace; ovs_wait_cond () { test `wc -l < ofctl_monitor.log` -ge 6
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:470"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:473: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:473"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:47,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=10,mpls_bos=1
NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:47,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=10,mpls_bos=1
NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:47,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=10,mpls_bos=1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:473"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:485: ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:485"
( $at_check_trace; ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:485"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


for i in 1 2 3; do
    ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=40:44:44:44:44:48,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no)'
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:490: ovs_wait_cond () { test \`wc -l < ofctl_monitor.log\` -ge 6
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ofproto-dpif.at:490"
( $at_check_trace; ovs_wait_cond () { test `wc -l < ofctl_monitor.log` -ge 6
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:490"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:493: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:493"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:48,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=9,mpls_bos=1
NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:48,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=9,mpls_bos=1
NXT_PACKET_IN (xid=0x0): cookie=0xa total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=40:44:44:44:44:48,dl_dst=50:54:00:00:00:07,mpls_label=10,mpls_tc=3,mpls_ttl=9,mpls_bos=1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:493"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:505: ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:505"
( $at_check_trace; ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:505"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


for i in 1 2 3; do
    ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:55:55:55:55:55,dst=50:54:00:00:00:07),eth_type(0x8847),mpls(label=100,tc=7,ttl=64,bos=1)'
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:510: ovs_wait_cond () { test \`wc -l < ofctl_monitor.log\` -ge 6
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ofproto-dpif.at:510"
( $at_check_trace; ovs_wait_cond () { test `wc -l < ofctl_monitor.log` -ge 6
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:510"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:513: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:513"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): cookie=0xb total_len=60 in_port=1 (via action) data_len=60 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=50:55:55:55:55:55,dl_dst=50:54:00:00:00:07,mpls_label=1000,mpls_tc=7,mpls_ttl=64,mpls_bos=1
NXT_PACKET_IN (xid=0x0): cookie=0xb total_len=60 in_port=1 (via action) data_len=60 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=50:55:55:55:55:55,dl_dst=50:54:00:00:00:07,mpls_label=1000,mpls_tc=7,mpls_ttl=64,mpls_bos=1
NXT_PACKET_IN (xid=0x0): cookie=0xb total_len=60 in_port=1 (via action) data_len=60 (unbuffered)
mpls,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=50:55:55:55:55:55,dl_dst=50:54:00:00:00:07,mpls_label=1000,mpls_tc=7,mpls_ttl=64,mpls_bos=1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:513"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:525: ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:525"
( $at_check_trace; ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:525"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


for i in 1 2 3; do
    ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=70:77:77:77:77:77,dst=50:54:00:00:00:07),eth_type(0x86dd),ipv6(src=::1,dst=::2,label=0,proto=10,tclass=0x70,hlimit=128,frag=no)'
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:530: ovs_wait_cond () { test \`wc -l < ofctl_monitor.log\` -ge 6
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ofproto-dpif.at:530"
( $at_check_trace; ovs_wait_cond () { test `wc -l < ofctl_monitor.log` -ge 6
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:530"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:533: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:533"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): cookie=0xc total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mplsm,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=70:77:77:77:77:77,dl_dst=50:54:00:00:00:07,mpls_label=1000,mpls_tc=7,mpls_ttl=64,mpls_bos=1
NXT_PACKET_IN (xid=0x0): cookie=0xc total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mplsm,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=70:77:77:77:77:77,dl_dst=50:54:00:00:00:07,mpls_label=1000,mpls_tc=7,mpls_ttl=64,mpls_bos=1
NXT_PACKET_IN (xid=0x0): cookie=0xc total_len=64 in_port=1 (via action) data_len=64 (unbuffered)
mplsm,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=70:77:77:77:77:77,dl_dst=50:54:00:00:00:07,mpls_label=1000,mpls_tc=7,mpls_ttl=64,mpls_bos=1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:533"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }




{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:550: ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:550"
( $at_check_trace; ovs-ofctl monitor br0 65534 -P nxm --detach --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:550"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


for i in 1 2 3; do
    ovs-appctl netdev-dummy/receive p1 '50 54 00 00 00 07 60 66 66 66 66 66 88 47 00 01 41 20 45 00 00 2c 00 00 00 00 40 06 3b 78 c0 a8 00 01 c0 a8 00 02 00 50 00 00 00 00 00 2a 00 00 00 2a 50 00 27 10 77 44 00 00 48 4f 47 45'
done
#for i in 2 3; do
#    ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=60:66:66:66:66:66,dst=50:54:00:00:00:07),eth_type(0x8847),mpls(label=10,tc=3,ttl=100,bos=1)'
#done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:558: ovs_wait_cond () { test \`wc -l < ofctl_monitor.log\` -ge 6
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ofproto-dpif.at:558"
( $at_check_trace; ovs_wait_cond () { test `wc -l < ofctl_monitor.log` -ge 6
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:558"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:561: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:561"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): cookie=0xd total_len=58 in_port=1 (via action) data_len=58 (unbuffered)
tcp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=60:66:66:66:66:66,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=80,tp_dst=0 tcp_csum:7744
NXT_PACKET_IN (xid=0x0): cookie=0xd total_len=58 in_port=1 (via action) data_len=58 (unbuffered)
tcp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=60:66:66:66:66:66,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=80,tp_dst=0 tcp_csum:7744
NXT_PACKET_IN (xid=0x0): cookie=0xd total_len=58 in_port=1 (via action) data_len=58 (unbuffered)
tcp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=60:66:66:66:66:66,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=80,tp_dst=0 tcp_csum:7744
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:561"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:573: ovs-ofctl monitor br0 65534 -P nxm --detach --no-chdir --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:573"
( $at_check_trace; ovs-ofctl monitor br0 65534 -P nxm --detach --no-chdir --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:573"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


for i in 1 ; do
    ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=20:22:22:22:22:22,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=8,dst=11)'
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:578: ovs_wait_cond () { test \`wc -l < ofctl_monitor.log\` -ge 18
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ofproto-dpif.at:578"
( $at_check_trace; ovs_wait_cond () { test `wc -l < ofctl_monitor.log` -ge 18
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:578"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:581: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:581"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): cookie=0x1 total_len=60 in_port=1 (via action) data_len=60 (unbuffered)
tcp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=20:22:22:22:22:22,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=11 tcp_csum:0
NXT_PACKET_IN (xid=0x0): table_id=1 cookie=0x3 total_len=64 in_port=1 reg0=0x1 (via action) data_len=64 (unbuffered)
tcp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=20:22:22:22:22:22,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=11 tcp_csum:0
NXT_PACKET_IN (xid=0x0): table_id=2 cookie=0x4 total_len=64 in_port=1 reg0=0x1 reg1=0x2 (via action) data_len=64 (unbuffered)
tcp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=11 tcp_csum:0
NXT_PACKET_IN (xid=0x0): table_id=3 cookie=0x5 total_len=64 in_port=1 reg0=0x1 reg1=0x2 reg2=0x3 (via action) data_len=64 (unbuffered)
tcp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=11 tcp_csum:0
NXT_PACKET_IN (xid=0x0): table_id=4 cookie=0x6 total_len=64 in_port=1 reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 (via action) data_len=64 (unbuffered)
tcp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=11 tcp_csum:1a03
NXT_PACKET_IN (xid=0x0): table_id=5 cookie=0x7 total_len=64 in_port=1 tun_id=0x6 reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 reg4=0x5 (via action) data_len=64 (unbuffered)
tcp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=8,tp_dst=11 tcp_csum:3205
NXT_PACKET_IN (xid=0x0): table_id=6 cookie=0x8 total_len=64 in_port=1 tun_id=0x6 reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 reg4=0x5 (via action) data_len=64 (unbuffered)
tcp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=85,tp_dst=11 tcp_csum:31b8
NXT_PACKET_IN (xid=0x0): table_id=7 cookie=0x9 total_len=64 in_port=1 tun_id=0x6 reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 reg4=0x5 (via action) data_len=64 (unbuffered)
tcp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=85,tp_dst=86 tcp_csum:316d
NXT_PACKET_IN (xid=0x0): table_id=7 cookie=0x9 total_len=64 in_port=1 tun_id=0x6 reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 reg4=0x5 (via action) data_len=64 (unbuffered)
tcp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=64,tp_src=85,tp_dst=86 tcp_csum:316d
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:581"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:611: ovs-ofctl monitor br0 65534 --detach --no-chdir --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:611"
( $at_check_trace; ovs-ofctl monitor br0 65534 --detach --no-chdir --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:611"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


for i in 1 ; do
    ovs-appctl netdev-dummy/receive p1 '50 54 00 00 00 07 20 22 22 22 22 22 08 00 45 00 00 1C 00 00 00 00 00 11 00 00 C0 A8 00 01 C0 A8 00 02 00 08 00 0B 00 00 12 34 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00'
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:616: ovs_wait_cond () { test \`wc -l < ofctl_monitor.log\` -ge 18
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ofproto-dpif.at:616"
( $at_check_trace; ovs_wait_cond () { test `wc -l < ofctl_monitor.log` -ge 18
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:616"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

ovs-appctl -t ovs-ofctl exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:619: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:619"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): cookie=0x1 total_len=60 in_port=1 (via action) data_len=60 (unbuffered)
udp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=20:22:22:22:22:22,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=8,tp_dst=11 udp_csum:1234
NXT_PACKET_IN (xid=0x0): table_id=1 cookie=0x3 total_len=64 in_port=1 reg0=0x1 (via action) data_len=64 (unbuffered)
udp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=20:22:22:22:22:22,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=8,tp_dst=11 udp_csum:1234
NXT_PACKET_IN (xid=0x0): table_id=2 cookie=0x4 total_len=64 in_port=1 reg0=0x1 reg1=0x2 (via action) data_len=64 (unbuffered)
udp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=8,tp_dst=11 udp_csum:1234
NXT_PACKET_IN (xid=0x0): table_id=3 cookie=0x5 total_len=64 in_port=1 reg0=0x1 reg1=0x2 reg2=0x3 (via action) data_len=64 (unbuffered)
udp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=8,tp_dst=11 udp_csum:1234
NXT_PACKET_IN (xid=0x0): table_id=4 cookie=0x6 total_len=64 in_port=1 reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 (via action) data_len=64 (unbuffered)
udp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=8,tp_dst=11 udp_csum:2c37
NXT_PACKET_IN (xid=0x0): table_id=5 cookie=0x7 total_len=64 in_port=1 tun_id=0x6 reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 reg4=0x5 (via action) data_len=64 (unbuffered)
udp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=8,tp_dst=11 udp_csum:4439
NXT_PACKET_IN (xid=0x0): table_id=6 cookie=0x8 total_len=64 in_port=1 tun_id=0x6 reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 reg4=0x5 (via action) data_len=64 (unbuffered)
udp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=85,tp_dst=11 udp_csum:43ec
NXT_PACKET_IN (xid=0x0): table_id=7 cookie=0x9 total_len=64 in_port=1 tun_id=0x6 reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 reg4=0x5 (via action) data_len=64 (unbuffered)
udp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=85,tp_dst=86 udp_csum:43a1
NXT_PACKET_IN (xid=0x0): table_id=7 cookie=0x9 total_len=64 in_port=1 tun_id=0x6 reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 reg4=0x5 (via action) data_len=64 (unbuffered)
udp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=85,tp_dst=86 udp_csum:43a1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:619"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:648: ovs-appctl time/warp 5000"
at_fn_check_prepare_trace "ofproto-dpif.at:648"
( $at_check_trace; ovs-appctl time/warp 5000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:648"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:651: ovs-ofctl monitor br0 65534 --detach --no-chdir --pidfile 2> ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:651"
( $at_check_trace; ovs-ofctl monitor br0 65534 --detach --no-chdir --pidfile 2> ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:651"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


for i in 1 ; do
    ovs-appctl netdev-dummy/receive p1 '50 54 00 00 00 07 20 22 22 22 22 22 08 00 45 00 00 24 00 00 00 00 00 84 00 00 C0 A8 00 01 C0 A8 00 02 04 58 08 af 00 00 00 00 d9 d7 91 57 01 00 00 34 cf 28 ec 4e 00 01 40 00 00 0a ff ff b7 53 24 19 00 05 00 08 7f 00 00 01 00 05 00 08 c0 a8 02 07 00 0c 00 06 00 05 00 00 80 00 00 04 c0 00 00 04'
done

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:657: ovs_wait_cond () { ovs-appctl -t ovs-ofctl exit
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:657"
( $at_check_trace; ovs_wait_cond () { ovs-appctl -t ovs-ofctl exit
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:657"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:658: cat ofctl_monitor.log"
at_fn_check_prepare_trace "ofproto-dpif.at:658"
( $at_check_trace; cat ofctl_monitor.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXT_PACKET_IN (xid=0x0): cookie=0x1 total_len=98 in_port=1 (via action) data_len=98 (unbuffered)
sctp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=20:22:22:22:22:22,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=1112,tp_dst=2223 sctp_csum:d9d79157
NXT_PACKET_IN (xid=0x0): table_id=1 cookie=0x3 total_len=102 in_port=1 reg0=0x1 (via action) data_len=102 (unbuffered)
sctp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=20:22:22:22:22:22,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=1112,tp_dst=2223 sctp_csum:d9d79157
NXT_PACKET_IN (xid=0x0): table_id=2 cookie=0x4 total_len=102 in_port=1 reg0=0x1 reg1=0x2 (via action) data_len=102 (unbuffered)
sctp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=1112,tp_dst=2223 sctp_csum:d9d79157
NXT_PACKET_IN (xid=0x0): table_id=3 cookie=0x5 total_len=102 in_port=1 reg0=0x1 reg1=0x2 reg2=0x3 (via action) data_len=102 (unbuffered)
sctp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=1112,tp_dst=2223 sctp_csum:d9d79157
NXT_PACKET_IN (xid=0x0): table_id=4 cookie=0x6 total_len=102 in_port=1 reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 (via action) data_len=102 (unbuffered)
sctp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=192.168.0.2,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=1112,tp_dst=2223 sctp_csum:d9d79157
NXT_PACKET_IN (xid=0x0): table_id=5 cookie=0x7 total_len=102 in_port=1 tun_id=0x6 reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 reg4=0x5 (via action) data_len=102 (unbuffered)
sctp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=1112,tp_dst=2223 sctp_csum:d9d79157
NXT_PACKET_IN (xid=0x0): table_id=6 cookie=0x8 total_len=102 in_port=1 tun_id=0x6 reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 reg4=0x5 (via action) data_len=102 (unbuffered)
sctp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=85,tp_dst=2223 sctp_csum:7f12662e
NXT_PACKET_IN (xid=0x0): table_id=7 cookie=0x9 total_len=102 in_port=1 tun_id=0x6 reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 reg4=0x5 (via action) data_len=102 (unbuffered)
sctp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=85,tp_dst=86 sctp_csum:a7e86f67
NXT_PACKET_IN (xid=0x0): table_id=7 cookie=0x9 total_len=102 in_port=1 tun_id=0x6 reg0=0x1 reg1=0x2 reg2=0x3 reg3=0x4 reg4=0x5 (via action) data_len=102 (unbuffered)
sctp,metadata=0,in_port=0,dl_vlan=80,dl_vlan_pcp=0,dl_src=80:81:81:81:81:81,dl_dst=82:82:82:82:82:82,nw_src=83.83.83.83,nw_dst=84.84.84.84,nw_tos=0,nw_ecn=0,nw_ttl=0,tp_src=85,tp_dst=86 sctp_csum:a7e86f67
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:658"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:687: ovs-ofctl dump-flows br0 | ofctl_strip | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:687"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " cookie=0x1, n_packets=3, n_bytes=218, dl_src=20:22:22:22:22:22 actions=CONTROLLER:65535,resubmit(80,1)
 cookie=0x2, n_packets=3, n_bytes=180, dl_src=30:33:33:33:33:33 actions=mod_vlan_vid:15,CONTROLLER:65535
 cookie=0x3, table=1, n_packets=3, n_bytes=218, in_port=80 actions=load:0x1->NXM_NX_REG0[],mod_vlan_vid:80,CONTROLLER:65535,resubmit(81,2)
 cookie=0x4, table=2, n_packets=3, n_bytes=218, in_port=81 actions=load:0x2->NXM_NX_REG1[],mod_dl_src:80:81:81:81:81:81,CONTROLLER:65535,resubmit(82,3)
 cookie=0x5, table=3, n_packets=3, n_bytes=218, in_port=82 actions=load:0x3->NXM_NX_REG2[],mod_dl_dst:82:82:82:82:82:82,CONTROLLER:65535,resubmit(83,4)
 cookie=0x6, table=4, n_packets=3, n_bytes=218, in_port=83 actions=load:0x4->NXM_NX_REG3[],mod_nw_src:83.83.83.83,CONTROLLER:65535,resubmit(84,5)
 cookie=0x7, table=5, n_packets=3, n_bytes=218, in_port=84 actions=load:0x5->NXM_NX_REG4[],load:0x6->NXM_NX_TUN_ID[],mod_nw_dst:84.84.84.84,CONTROLLER:65535,resubmit(85,6)
 cookie=0x8, table=6, n_packets=3, n_bytes=218, in_port=85 actions=mod_tp_src:85,CONTROLLER:65535,resubmit(86,7)
 cookie=0x9, table=7, n_packets=3, n_bytes=218, in_port=86 actions=mod_tp_dst:86,CONTROLLER:65535,CONTROLLER:65535
 cookie=0xa, n_packets=3, n_bytes=180, dl_src=40:44:44:44:44:41 actions=mod_vlan_vid:99,mod_vlan_pcp:1,CONTROLLER:65535
 cookie=0xa, n_packets=3, n_bytes=180, dl_src=40:44:44:44:44:42 actions=push_mpls:0x8847,load:0xa->OXM_OF_MPLS_LABEL[],load:0x3->OXM_OF_MPLS_TC[],CONTROLLER:65535
 cookie=0xa, n_packets=3, n_bytes=180, dl_src=40:44:44:44:44:43 actions=push_mpls:0x8847,load:0xa->OXM_OF_MPLS_LABEL[],load:0x3->OXM_OF_MPLS_TC[],CONTROLLER:65535
 cookie=0xa, n_packets=3, n_bytes=180, dl_src=40:44:44:44:44:44 actions=push_mpls:0x8847,load:0xa->OXM_OF_MPLS_LABEL[],load:0x3->OXM_OF_MPLS_TC[],CONTROLLER:65535
 cookie=0xa, n_packets=3, n_bytes=180, dl_src=40:44:44:44:44:45 actions=push_mpls:0x8847,load:0xa->OXM_OF_MPLS_LABEL[],load:0x3->OXM_OF_MPLS_TC[],dec_mpls_ttl,CONTROLLER:65535
 cookie=0xa, n_packets=3, n_bytes=180, dl_src=40:44:44:44:44:46 actions=push_mpls:0x8847,load:0xa->OXM_OF_MPLS_LABEL[],load:0x3->OXM_OF_MPLS_TC[],set_mpls_ttl(10),CONTROLLER:65535
 cookie=0xa, n_packets=3, n_bytes=180, dl_src=40:44:44:44:44:47 actions=push_mpls:0x8847,load:0xa->OXM_OF_MPLS_LABEL[],load:0x3->OXM_OF_MPLS_TC[],dec_mpls_ttl,set_mpls_ttl(10),CONTROLLER:65535
 cookie=0xa, n_packets=3, n_bytes=180, dl_src=40:44:44:44:44:48 actions=push_mpls:0x8847,load:0xa->OXM_OF_MPLS_LABEL[],load:0x3->OXM_OF_MPLS_TC[],set_mpls_ttl(10),dec_mpls_ttl,CONTROLLER:65535
 cookie=0xb, n_packets=3, n_bytes=180, mpls,dl_src=50:55:55:55:55:55 actions=load:0x3e8->OXM_OF_MPLS_LABEL[],CONTROLLER:65535
 cookie=0xc, n_packets=3, n_bytes=180, dl_src=70:77:77:77:77:77 actions=push_mpls:0x8848,load:0x3e8->OXM_OF_MPLS_LABEL[],load:0x7->OXM_OF_MPLS_TC[],CONTROLLER:65535
 cookie=0xd, n_packets=3, n_bytes=186, dl_src=60:66:66:66:66:66 actions=pop_mpls:0x0800,CONTROLLER:65535
 n_packets=3, n_bytes=180, dl_src=10:11:11:11:11:11 actions=CONTROLLER:65535
NXST_FLOW reply:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:687"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:712: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:712"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:712"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:712: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:712"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:712"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:712: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:712"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:712"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"ofctl_monitor.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_627
#AT_START_628
at_fn_group_banner 628 'ofproto-dpif.at:715' \
  "ofproto-dpif - VLAN handling" "                   " 44
at_xfail=no
(
  $as_echo "628. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:716: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:716"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:716"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:716: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:716"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:716"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:716: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:716"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:716"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:716: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:716"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:716"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:716: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:716"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:716"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:716: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:716"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:716"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:716: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set Bridge br0 fail-mode=standalone -- \\
   add-port br0 p1                                  trunks=10,12 -- \\
   add-port br0 p2                           tag=10              -- \\
   add-port br0 p3                           tag=12              \\
                   other-config:priority-tags=true               -- \\
   add-port br0 p4                           tag=12              -- \\
   add-port br0 p5 vlan_mode=native-tagged   tag=10              -- \\
   add-port br0 p6 vlan_mode=native-tagged   tag=10 trunks=10,12 -- \\
   add-port br0 p7 vlan_mode=native-untagged tag=12              -- \\
   add-port br0 p8 vlan_mode=native-untagged tag=12 trunks=10,12 \\
                   other-config:priority-tags=true               -- \\
   set Interface p1 type=dummy -- \\
   set Interface p2 type=dummy -- \\
   set Interface p3 type=dummy -- \\
   set Interface p4 type=dummy -- \\
   set Interface p5 type=dummy -- \\
   set Interface p6 type=dummy -- \\
   set Interface p7 type=dummy -- \\
   set Interface p8 type=dummy -- "
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:716"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set Bridge br0 fail-mode=standalone -- \
   add-port br0 p1                                  trunks=10,12 -- \
   add-port br0 p2                           tag=10              -- \
   add-port br0 p3                           tag=12              \
                   other-config:priority-tags=true               -- \
   add-port br0 p4                           tag=12              -- \
   add-port br0 p5 vlan_mode=native-tagged   tag=10              -- \
   add-port br0 p6 vlan_mode=native-tagged   tag=10 trunks=10,12 -- \
   add-port br0 p7 vlan_mode=native-untagged tag=12              -- \
   add-port br0 p8 vlan_mode=native-untagged tag=12 trunks=10,12 \
                   other-config:priority-tags=true               -- \
   set Interface p1 type=dummy -- \
   set Interface p2 type=dummy -- \
   set Interface p3 type=dummy -- \
   set Interface p4 type=dummy -- \
   set Interface p5 type=dummy -- \
   set Interface p6 type=dummy -- \
   set Interface p7 type=dummy -- \
   set Interface p8 type=dummy --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:716"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



for tuple in \
        "100 none 0 drop" \
        "100 0    0 drop" \
        "100 0    1 drop" \
        "100 10   0 1,5,6,7,8,pop_vlan,2" \
        "100 10   1 1,5,6,7,8,pop_vlan,2" \
        "100 11   0 5,7" \
        "100 11   1 5,7" \
        "100 12   0 1,5,6,pop_vlan,3,4,7,8" \
        "100 12   1 1,5,6,pop_vlan,4,7,push_vlan(vid=0,pcp=1),3,8" \
        "1  none 0 drop" \
        "1  0    0 drop" \
        "1  0    1 drop" \
        "1  10   0 5,6,7,8,100,pop_vlan,2" \
        "1  10   1 5,6,7,8,100,pop_vlan,2" \
        "1  11   0 drop" \
        "1  11   1 drop" \
        "1  12   0 5,6,100,pop_vlan,3,4,7,8" \
        "1  12   1 5,6,100,pop_vlan,4,7,push_vlan(vid=0,pcp=1),3,8" \
        "2  none 0 push_vlan(vid=10,pcp=0),1,5,6,7,8,100" \
        "2  0    0 pop_vlan,push_vlan(vid=10,pcp=0),1,5,6,7,8,100" \
        "2  0    1 pop_vlan,push_vlan(vid=10,pcp=1),1,5,6,7,8,100" \
        "2  10   0 drop" \
        "2  10   1 drop" \
        "2  11   0 drop" \
        "2  11   1 drop" \
        "2  12   0 drop" \
        "2  12   1 drop" \
        "3  none 0 4,7,8,push_vlan(vid=12,pcp=0),1,5,6,100" \
        "3  0    0 pop_vlan,4,7,8,push_vlan(vid=12,pcp=0),1,5,6,100" \
        "3  0    1 8,pop_vlan,4,7,push_vlan(vid=12,pcp=1),1,5,6,100" \
        "3  10   0 drop" \
        "3  10   1 drop" \
        "3  11   0 drop" \
        "3  11   1 drop" \
        "3  12   0 drop" \
        "3  12   1 drop" \
        "4  none 0 3,7,8,push_vlan(vid=12,pcp=0),1,5,6,100" \
        "4  0    0 pop_vlan,3,7,8,push_vlan(vid=12,pcp=0),1,5,6,100" \
        "4  0    1 3,8,pop_vlan,7,push_vlan(vid=12,pcp=1),1,5,6,100" \
        "4  10   0 drop" \
        "4  10   1 drop" \
        "4  11   0 drop" \
        "4  11   1 drop" \
        "4  12   0 drop" \
        "4  12   1 drop" \
        "5  none 0 2,push_vlan(vid=10,pcp=0),1,6,7,8,100" \
        "5  0    0 pop_vlan,2,push_vlan(vid=10,pcp=0),1,6,7,8,100" \
        "5  0    1 pop_vlan,2,push_vlan(vid=10,pcp=1),1,6,7,8,100" \
        "5  10   0 1,6,7,8,100,pop_vlan,2" \
        "5  10   1 1,6,7,8,100,pop_vlan,2" \
        "5  11   0 7,100" \
        "5  11   1 7,100" \
        "5  12   0 1,6,100,pop_vlan,3,4,7,8" \
        "5  12   1 1,6,100,pop_vlan,4,7,push_vlan(vid=0,pcp=1),3,8" \
        "6  none 0 2,push_vlan(vid=10,pcp=0),1,5,7,8,100" \
        "6  0    0 pop_vlan,2,push_vlan(vid=10,pcp=0),1,5,7,8,100" \
        "6  0    1 pop_vlan,2,push_vlan(vid=10,pcp=1),1,5,7,8,100" \
        "6  10   0 1,5,7,8,100,pop_vlan,2" \
        "6  10   1 1,5,7,8,100,pop_vlan,2" \
        "6  11   0 drop" \
        "6  11   1 drop" \
        "6  12   0 1,5,100,pop_vlan,3,4,7,8" \
        "6  12   1 1,5,100,pop_vlan,4,7,push_vlan(vid=0,pcp=1),3,8" \
        "7  none 0 3,4,8,push_vlan(vid=12,pcp=0),1,5,6,100" \
        "7  0    0 pop_vlan,3,4,8,push_vlan(vid=12,pcp=0),1,5,6,100" \
        "7  0    1 3,8,pop_vlan,4,push_vlan(vid=12,pcp=1),1,5,6,100" \
        "7  10   0 1,5,6,8,100,pop_vlan,2" \
        "7  10   1 1,5,6,8,100,pop_vlan,2" \
        "7  11   0 5,100" \
        "7  11   1 5,100" \
        "7  12   0 1,5,6,100,pop_vlan,3,4,8" \
        "7  12   1 1,5,6,100,pop_vlan,4,push_vlan(vid=0,pcp=1),3,8" \
        "8  none 0 3,4,7,push_vlan(vid=12,pcp=0),1,5,6,100" \
        "8  0    0 pop_vlan,3,4,7,push_vlan(vid=12,pcp=0),1,5,6,100" \
        "8  0    1 3,pop_vlan,4,7,push_vlan(vid=12,pcp=1),1,5,6,100" \
        "8  10   0 1,5,6,7,100,pop_vlan,2" \
        "8  10   1 1,5,6,7,100,pop_vlan,2" \
        "8  11   0 drop" \
        "8  11   1 drop" \
        "8  12   0 1,5,6,100,pop_vlan,3,4,7" \
        "8  12   1 1,5,6,100,pop_vlan,4,7,push_vlan(vid=0,pcp=1),3"
do
  set $tuple
  in_port=$1
  vlan=$2
  pcp=$3
  expected=$4

  if test $vlan = none; then
    flow="in_port($in_port),eth(src=50:54:00:00:00:01,dst=ff:ff:ff:ff:ff:ff),eth_type(0xabcd)"
  else
    flow="in_port($in_port),eth(src=50:54:00:00:00:01,dst=ff:ff:ff:ff:ff:ff),eth_type(0x8100),vlan(vid=$vlan,pcp=$pcp),encap(eth_type(0xabcd))"
  fi

  echo "----------------------------------------------------------------------"
  echo "in_port=$in_port vlan=$vlan pcp=$pcp"

  { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:838: ovs-appctl ofproto/trace ovs-dummy \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\"" "ofproto-dpif.at:838"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:838"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  actual=`tail -1 stdout | sed 's/Datapath actions: //'`

  { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:841: ovs-dpctl normalize-actions \"\$flow\" \"\$expected\""
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$expected\"" "ofproto-dpif.at:841"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:841"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  mv stdout expout
  { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:843: ovs-dpctl normalize-actions \"\$flow\" \"\$actual\""
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$actual\"" "ofproto-dpif.at:843"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$actual"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:843"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

done

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:846: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:846"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:846"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:846: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:846"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:846"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:846: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:846"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:846"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_628
#AT_START_629
at_fn_group_banner 629 'ofproto-dpif.at:849' \
  "ofproto-dpif - fragment handling" "               " 44
at_xfail=no
(
  $as_echo "629. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:850: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:850"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:850"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:850: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:850"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:850"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:850: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:850"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:850"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:850: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:850"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:850"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:850: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:850"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:850"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:850: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:850"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:850"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:850: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:850"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:850"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3 \
    -- add-port br0 p4 -- set Interface p4 type=dummy ofport_request=4 \
    -- add-port br0 p5 -- set Interface p5 type=dummy ofport_request=5 \
    -- add-port br0 p6 -- set Interface p6 type=dummy ofport_request=6 \
    -- add-port br0 p90 -- set Interface p90 type=dummy ofport_request=90
cat >flows.txt <<'_ATEOF'
priority=75 tcp ip_frag=no    tp_dst=80 actions=output:1
priority=75 tcp ip_frag=first tp_dst=80 actions=output:2
priority=75 tcp ip_frag=later tp_dst=80 actions=output:3
priority=50 tcp ip_frag=no              actions=output:4
priority=50 tcp ip_frag=first           actions=output:5
priority=50 tcp ip_frag=later           actions=output:6
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:860: ovs-ofctl replace-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:860"
( $at_check_trace; ovs-ofctl replace-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:860"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


base_flow="in_port(90),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=128"
no_flow="$base_flow,frag=no),tcp(src=12345,dst=80)"
first_flow="$base_flow,frag=first),tcp(src=12345,dst=80)"
later_flow="$base_flow,frag=later)"

    # mode    no  first  later
for tuple in \
    'normal    1     5      6' \
    'drop      1  drop   drop' \
    'nx-match  1     2      6'
do
  set $tuple
  mode=$1
  no=$2
  first=$3
  later=$4

  { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:879: ovs-ofctl set-frags br0 \$mode"
at_fn_check_prepare_dynamic "ovs-ofctl set-frags br0 $mode" "ofproto-dpif.at:879"
( $at_check_trace; ovs-ofctl set-frags br0 $mode
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:879"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  for type in no first later; do
    eval flow=\$${type}_flow exp_output=\$$type
    printf "\n%s\n" "----$mode $type-----"
    { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:883: ovs-appctl ofproto/trace ovs-dummy \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\"" "ofproto-dpif.at:883"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:883"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    : > expout
    if test $mode = drop && test $type != no; then
        echo 'Packets dropped because they are IP fragments and the fragment handling mode is "drop".' >> expout
    fi
    echo "Datapath actions: $exp_output" >> expout
    { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:889: grep 'IP fragments' stdout; tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:889"
( $at_check_trace; grep 'IP fragments' stdout; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:889"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  done
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:892: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:892"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:892"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:892: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:892"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:892"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:892: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:892"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:892"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_629
#AT_START_630
at_fn_group_banner 630 'ofproto-dpif.at:895' \
  "ofproto-dpif - exit" "                            " 44
at_xfail=no
(
  $as_echo "630. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:896: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:896"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:896"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:896: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:896"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:896"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:896: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:896"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:896"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:896: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:896"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:896: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:896"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:896: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:896"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:896: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:896"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:896"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3 \
    -- add-port br0 p10 -- set Interface p10 type=dummy ofport_request=10 \
    -- add-port br0 p11 -- set Interface p11 type=dummy ofport_request=11 \
    -- add-port br0 p12 -- set Interface p12 type=dummy ofport_request=12 \
    -- add-port br0 p13 -- set Interface p13 type=dummy ofport_request=13 \
    -- add-port br0 p14 -- set Interface p14 type=dummy ofport_request=14
cat >flows.txt <<'_ATEOF'
in_port=1 actions=output:10,exit,output:11
in_port=2 actions=output:12,resubmit:1,output:12
in_port=3 actions=output:13,resubmit:2,output:14
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:903: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:903"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:903"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:904: ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:904"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:904"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:905: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:905"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 10
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:905"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:908: ovs-appctl ofproto/trace ovs-dummy 'in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:908"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:908"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:909: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:909"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 12,10
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:909"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:912: ovs-appctl ofproto/trace ovs-dummy 'in_port(3),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:912"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy 'in_port(3),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:912"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:913: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:913"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 13,12,10
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:913"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:916: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:916"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:916"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:916: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:916"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:916"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:916: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:916"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:916"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_630
#AT_START_631
at_fn_group_banner 631 'ofproto-dpif.at:920' \
  "ofproto-dpif - mirroring, select_all" "           " 44
at_xfail=no
(
  $as_echo "631. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:921: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:921"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:921"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:921: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:921"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:921"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:921: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:921"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:921"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:921: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:921"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:921"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:921: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:921"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:921"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:921: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:921"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:921"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:921: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:921"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:921"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3
ovs-vsctl \
        set Bridge br0 mirrors=@m --\
        --id=@p3 get Port p3 --\
        --id=@m create Mirror name=mymirror select_all=true output_port=@p3

cat >flows.txt <<'_ATEOF'
in_port=1 actions=output:2
in_port=2 actions=output:1
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:932: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:932"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:932"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


flow="in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:935: ovs-appctl ofproto/trace ovs-dummy \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\"" "ofproto-dpif.at:935"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:935"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:936: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:936"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 2,3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:936"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


flow="in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:941: ovs-appctl ofproto/trace ovs-dummy \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\"" "ofproto-dpif.at:941"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:941"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:942: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:942"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 1,3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:942"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:946: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:946"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:946"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:946: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:946"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:946"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:946: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:946"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:946"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_631
#AT_START_632
at_fn_group_banner 632 'ofproto-dpif.at:950' \
  "ofproto-dpif - mirroring, select_src" "           " 44
at_xfail=no
(
  $as_echo "632. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:951: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:951"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:951"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:951: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:951"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:951"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:951: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:951"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:951"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:951: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:951"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:951"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:951: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:951"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:951"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:951: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:951"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:951"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:951: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:951"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:951"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3
ovs-vsctl \
        set Bridge br0 mirrors=@m --\
        --id=@p1 get Port p1 -- --id=@p3 get Port p3 --\
        --id=@m create Mirror name=mymirror select_src_port=@p1 output_port=@p3

cat >flows.txt <<'_ATEOF'
in_port=1 actions=output:2
in_port=2 actions=output:1
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:962: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:962"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:962"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


flow="in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:965: ovs-appctl ofproto/trace ovs-dummy \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\"" "ofproto-dpif.at:965"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:965"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:966: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:966"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 2,3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:966"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


flow="in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:971: ovs-appctl ofproto/trace ovs-dummy \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\"" "ofproto-dpif.at:971"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:971"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:972: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:972"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:972"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:975: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:975"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:975"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:975: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:975"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:975"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:975: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:975"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:975"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_632
#AT_START_633
at_fn_group_banner 633 'ofproto-dpif.at:978' \
  "ofproto-dpif - mirroring, OFPP_NONE ingress port" "" 44
at_xfail=no
(
  $as_echo "633. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:979: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:979"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:979"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:979: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:979"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:979"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:979: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:979"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:979"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:979: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:979"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:979"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:979: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:979"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:979"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:979: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:979"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:979"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:979: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:979"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:979"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
ovs-vsctl \
        set Bridge br0 mirrors=@m --\
        --id=@p2 get Port p2 --\
        --id=@m create Mirror name=mymirror select_all=true output_port=@p2

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:986: ovs-ofctl add-flow br0 action=output:1"
at_fn_check_prepare_trace "ofproto-dpif.at:986"
( $at_check_trace; ovs-ofctl add-flow br0 action=output:1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:986"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# "in_port" defaults to OFPP_NONE if it's not specified.
flow="icmp,dl_src=50:54:00:00:00:05,dl_dst=50:54:00:00:00:07,nw_src=192.168.0.1,nw_dst=192.168.0.2,nw_ttl=128,icmp_type=8,icmp_code=0"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:990: ovs-appctl ofproto/trace br0 \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace br0 \"$flow\"" "ofproto-dpif.at:990"
( $at_check_trace; ovs-appctl ofproto/trace br0 "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:990"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:991: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:991"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 1,2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:991"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:995: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:995"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:995"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:995: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:995"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:995"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:995: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:995"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:995"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_633
#AT_START_634
at_fn_group_banner 634 'ofproto-dpif.at:999' \
  "ofproto-dpif - mirroring, select_dst" "           " 44
at_xfail=no
(
  $as_echo "634. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1000: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:1000"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1000"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1000: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:1000"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1000"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1000: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1000"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1000"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1000: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:1000"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1000"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1000: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:1000"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1000"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1000: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1000"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1000"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1000: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:1000"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1000"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3
ovs-vsctl \
        set Bridge br0 mirrors=@m --\
        --id=@p2 get Port p2 -- --id=@p3 get Port p3 --\
        --id=@m create Mirror name=mymirror select_dst_port=@p2 output_port=@p3

cat >flows.txt <<'_ATEOF'
in_port=1 actions=output:2
in_port=2 actions=output:1
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1011: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:1011"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1011"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


flow="in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1014: ovs-appctl ofproto/trace ovs-dummy \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\"" "ofproto-dpif.at:1014"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1014"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1015: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:1015"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 2,3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1015"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


flow="in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1020: ovs-appctl ofproto/trace ovs-dummy \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\"" "ofproto-dpif.at:1020"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1020"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1021: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:1021"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1021"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1025: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:1025"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1025"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1025: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1025"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1025"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1025: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1025"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1025"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_634
#AT_START_635
at_fn_group_banner 635 'ofproto-dpif.at:1029' \
  "ofproto-dpif - mirroring, select_vlan" "          " 44
at_xfail=no
(
  $as_echo "635. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1030: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:1030"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1030"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1030: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:1030"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1030"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1030: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1030"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1030"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1030: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:1030"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1030"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1030: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:1030"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1030"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1030: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1030"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1030"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1030: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:1030"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1030"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3
ovs-vsctl \
        set Bridge br0 mirrors=@m --\
        --id=@p2 get Port p2 -- --id=@p3 get Port p3 --\
        --id=@m create Mirror name=mymirror select_all=true select_vlan=11 output_port=@p3

cat >flows.txt <<'_ATEOF'
in_port=1, actions=output:2
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1040: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:1040"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1040"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


flow="in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1043: ovs-appctl ofproto/trace ovs-dummy \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\"" "ofproto-dpif.at:1043"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1043"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1044: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:1044"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1044"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


flow="in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x8100),vlan(vid=10,pcp=0),encap(eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0))"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1049: ovs-appctl ofproto/trace ovs-dummy \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\"" "ofproto-dpif.at:1049"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1049"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1050: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:1050"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1050"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


flow="in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x8100),vlan(vid=11,pcp=0),encap(eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0))"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1055: ovs-appctl ofproto/trace ovs-dummy \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\"" "ofproto-dpif.at:1055"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1055"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1056: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:1056"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 2,3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1056"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1060: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:1060"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1060"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1060: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1060"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1060"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1060: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1060"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1060"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_635
#AT_START_636
at_fn_group_banner 636 'ofproto-dpif.at:1064' \
  "ofproto-dpif - mirroring, output_port" "          " 44
at_xfail=no
(
  $as_echo "636. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1065: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:1065"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1065"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1065: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:1065"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1065"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1065: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1065"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1065"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1065: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:1065"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1065"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1065: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:1065"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1065"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1065: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1065"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1065"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1065: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:1065"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1065"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3
ovs-vsctl \
        set Bridge br0 mirrors=@m --\
        --id=@p3 get Port p3 --\
        --id=@m create Mirror name=mymirror select_all=true output_port=@p3

cat >flows.txt <<'_ATEOF'
in_port=1 actions=mod_vlan_vid:17,output:2
in_port=2 actions=output:1
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1076: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:1076"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1076"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


flow="in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1079: ovs-appctl ofproto/trace ovs-dummy \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\"" "ofproto-dpif.at:1079"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1079"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1080: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:1080"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: push_vlan(vid=17,pcp=0),2,pop_vlan,3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1080"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


flow="in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1085: ovs-appctl ofproto/trace ovs-dummy \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\"" "ofproto-dpif.at:1085"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1085"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1086: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:1086"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 1,3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1086"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1090: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:1090"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1090"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1090: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1090"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1090"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1090: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1090"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1090"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_636
#AT_START_637
at_fn_group_banner 637 'ofproto-dpif.at:1093' \
  "ofproto-dpif - mirroring, output_vlan" "          " 44
at_xfail=no
(
  $as_echo "637. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1094: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:1094"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1094"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1094: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:1094"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1094"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1094: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1094"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1094"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1094: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:1094"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1094"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1094: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:1094"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1094"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1094: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1094"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1094"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1094: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:1094"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1094"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
ovs-vsctl \
        set Bridge br0 mirrors=@m --\
        --id=@m create Mirror name=mymirror select_all=true output_vlan=12

cat >flows.txt <<'_ATEOF'
in_port=1 actions=output:2
in_port=2 actions=mod_vlan_vid:17,output:1
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1104: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:1104"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1104"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


flow="in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1107: ovs-appctl ofproto/trace ovs-dummy \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\"" "ofproto-dpif.at:1107"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1107"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

actual=`tail -1 stdout | sed 's/Datapath actions: //'`

expected="2,push_vlan(vid=12,pcp=0),1,2,100"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1111: ovs-dpctl normalize-actions \"\$flow\" \"\$expected\""
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$expected\"" "ofproto-dpif.at:1111"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1111"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

mv stdout expout
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1113: ovs-dpctl normalize-actions \"\$flow\" \"\$actual\""
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$actual\"" "ofproto-dpif.at:1113"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$actual"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1113"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


flow="in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=128,frag=no),icmp(type=8,code=0)"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1116: ovs-appctl ofproto/trace ovs-dummy \"\$flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\"" "ofproto-dpif.at:1116"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1116"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

actual=`tail -1 stdout | sed 's/Datapath actions: //'`

expected="push_vlan(vid=17,pcp=0),1,pop_vlan,push_vlan(vid=12,pcp=0),1,2,100"
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1120: ovs-dpctl normalize-actions \"\$flow\" \"\$expected\""
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$expected\"" "ofproto-dpif.at:1120"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1120"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

mv stdout expout
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1122: ovs-dpctl normalize-actions \"\$flow\" \"\$actual\""
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$actual\"" "ofproto-dpif.at:1122"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$actual"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1122"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1124: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:1124"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1124"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1124: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1124"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1124"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1124: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1124"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1124"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_637
#AT_START_638
at_fn_group_banner 638 'ofproto-dpif.at:1131' \
  "ofproto-dpif - ofproto/trace command 1" "         " 44
at_xfail=no
(
  $as_echo "638. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1132: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:1132"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1132"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1132: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:1132"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1132"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1132: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1132"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1132"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1132: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:1132"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1132"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1132: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:1132"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1132"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1132: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1132"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1132"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1132: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set bridge br0 fail-mode=standalone "
at_fn_check_prepare_trace "ofproto-dpif.at:1132"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set bridge br0 fail-mode=standalone
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1132"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3

cat >flows.txt <<'_ATEOF'
in_port=1 actions=output:2
in_port=2 actions=output:1
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1139: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:1139"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1139"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


odp_flow="in_port(1)"
br_flow="in_port=1"
# Test command: ofproto/trace odp_flow
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1144: ovs-appctl ofproto/trace \"\$odp_flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace \"$odp_flow\"" "ofproto-dpif.at:1144"
( $at_check_trace; ovs-appctl ofproto/trace "$odp_flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1144"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1145: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:1145"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1145"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Test command: ofproto/trace dp_name odp_flow
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1150: ovs-appctl ofproto/trace ovs-dummy \"\$odp_flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$odp_flow\"" "ofproto-dpif.at:1150"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$odp_flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1150"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1151: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:1151"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1151"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Test commmand: ofproto/trace br_name br_flow
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1155: ovs-appctl ofproto/trace br0 \"\$br_flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace br0 \"$br_flow\"" "ofproto-dpif.at:1155"
( $at_check_trace; ovs-appctl ofproto/trace br0 "$br_flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1155"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1156: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:1156"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1156"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Delete the inserted flows
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1161: ovs-ofctl del-flows br0 \"in_port=1\""
at_fn_check_prepare_trace "ofproto-dpif.at:1161"
( $at_check_trace; ovs-ofctl del-flows br0 "in_port=1"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1161"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1162: ovs-ofctl del-flows br0 \"in_port=2\""
at_fn_check_prepare_trace "ofproto-dpif.at:1162"
( $at_check_trace; ovs-ofctl del-flows br0 "in_port=2"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1162"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# This section beflow tests the [-generate] option
odp_flow="in_port(3),eth(src=50:54:00:00:00:05,dst=ff:ff:ff:ff:ff:ff)"
br_flow="arp,metadata=0,in_port=3,vlan_tci=0x0000,dl_src=50:54:00:00:00:05,dl_dst=ff:ff:ff:ff:ff:ff"

# Test command: ofproto/trace odp_flow
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1169: ovs-appctl ofproto/trace \"\$odp_flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace \"$odp_flow\"" "ofproto-dpif.at:1169"
( $at_check_trace; ovs-appctl ofproto/trace "$odp_flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1169"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Check for no MAC learning entry
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1171: ovs-appctl fdb/show br0 | sed 's/[0-9]\\{1,\\}\$/?/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:1171"
( $at_check_trace; ovs-appctl fdb/show br0 | sed 's/[0-9]\{1,\}$/?/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " port  VLAN  MAC                Age
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1171"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Test command: ofproto/trace br_name br_flow
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1176: ovs-appctl ofproto/trace br0 \"\$br_flow\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace br0 \"$br_flow\"" "ofproto-dpif.at:1176"
( $at_check_trace; ovs-appctl ofproto/trace br0 "$br_flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1176"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Check for no MAC learning entry
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1178: ovs-appctl fdb/show br0 | sed 's/[0-9]\\{1,\\}\$/?/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:1178"
( $at_check_trace; ovs-appctl fdb/show br0 | sed 's/[0-9]\{1,\}$/?/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " port  VLAN  MAC                Age
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1178"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Test command: ofproto/trace odp_flow -generate
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1183: ovs-appctl ofproto/trace \"\$odp_flow\" -generate"
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace \"$odp_flow\" -generate" "ofproto-dpif.at:1183"
( $at_check_trace; ovs-appctl ofproto/trace "$odp_flow" -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1183"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Check for the MAC learning entry
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1185: ovs-appctl fdb/show br0 | sed 's/[0-9]\\{1,\\}\$/?/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:1185"
( $at_check_trace; ovs-appctl fdb/show br0 | sed 's/[0-9]\{1,\}$/?/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " port  VLAN  MAC                Age
    3     0  50:54:00:00:00:05    ?
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1185"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Test command: ofproto/trace dp_name odp_flow -generate
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1191: ovs-appctl ofproto/trace ovs-dummy \\
  \"in_port(1),eth(src=50:54:00:00:00:06,dst=50:54:00:00:00:05)\" \\
  -generate"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1191"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy \
  "in_port(1),eth(src=50:54:00:00:00:06,dst=50:54:00:00:00:05)" \
  -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1191"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Check for both MAC learning entries
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1195: ovs-appctl fdb/show br0 | sed 's/[0-9]\\{1,\\}\$/?/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:1195"
( $at_check_trace; ovs-appctl fdb/show br0 | sed 's/[0-9]\{1,\}$/?/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " port  VLAN  MAC                Age
    3     0  50:54:00:00:00:05    ?
    1     0  50:54:00:00:00:06    ?
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1195"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Test command: ofproto/trace br_name br_flow -generate
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1202: ovs-appctl ofproto/trace br0 \\
  \"in_port=2,dl_src=50:54:00:00:00:07,dl_dst=50:54:00:00:00:06\" \\
  -generate"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1202"
( $at_check_trace; ovs-appctl ofproto/trace br0 \
  "in_port=2,dl_src=50:54:00:00:00:07,dl_dst=50:54:00:00:00:06" \
  -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Check for both MAC learning entries.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1206: ovs-appctl fdb/show br0 | sed 's/[0-9]\\{1,\\}\$/?/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:1206"
( $at_check_trace; ovs-appctl fdb/show br0 | sed 's/[0-9]\{1,\}$/?/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " port  VLAN  MAC                Age
    3     0  50:54:00:00:00:05    ?
    1     0  50:54:00:00:00:06    ?
    2     0  50:54:00:00:00:07    ?
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1206"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# This section beflow tests the [packet] option
# The ovs-tcpundump of packets between port1 and port2
pkt1to2="50540000000250540000000108064500001C000100004001F98CC0A80001C0A800020800F7FF00000000"
pkt2to1="50540000000150540000000208064500001C000100004001F98CC0A80002C0A800010800F7FF00000000"

# Construct the MAC learning table
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1219: ovs-appctl ofproto/trace ovs-dummy \\
  \"in_port(1),eth(src=50:54:00:00:00:01,dst=ff:ff:ff:ff:ff:ff)\" \\
  -generate"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1219"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy \
  "in_port(1),eth(src=50:54:00:00:00:01,dst=ff:ff:ff:ff:ff:ff)" \
  -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1219"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Construct the MAC learning table
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1224: ovs-appctl ofproto/trace ovs-dummy \\
  \"in_port(2),eth(src=50:54:00:00:00:02,dst=ff:ff:ff:ff:ff:ff)\" \\
  -generate"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1224"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy \
  "in_port(2),eth(src=50:54:00:00:00:02,dst=ff:ff:ff:ff:ff:ff)" \
  -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1224"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Test command: ofproto/trace odp_flow packet
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1229: ovs-appctl ofproto/trace \\
  \"in_port(1),skb_priority(1),skb_mark(2)\" \"\$pkt1to2\""
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1229"
( $at_check_trace; ovs-appctl ofproto/trace \
  "in_port(1),skb_priority(1),skb_mark(2)" "$pkt1to2"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1229"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1231: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:1231"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1231"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1234: head -n 3 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:1234"
( $at_check_trace; head -n 3 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Bridge: br0
Packet: arp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:01,dl_dst=50:54:00:00:00:02,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_sha=00:00:00:00:00:00,arp_tha=00:00:00:00:00:00
Flow: pkt_mark=0x2,skb_priority=0x1,arp,metadata=0,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:01,dl_dst=50:54:00:00:00:02,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_sha=00:00:00:00:00:00,arp_tha=00:00:00:00:00:00
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1234"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Test command: ofproto/trace dp_name odp_flow packet
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1241: ovs-appctl ofproto/trace ovs-dummy \\
  \"in_port(1),skb_priority(1),skb_mark(2)\" \"\$pkt1to2\""
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1241"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy \
  "in_port(1),skb_priority(1),skb_mark(2)" "$pkt1to2"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1241"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1243: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:1243"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1243"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1246: head -n 3 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:1246"
( $at_check_trace; head -n 3 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Bridge: br0
Packet: arp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:01,dl_dst=50:54:00:00:00:02,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_sha=00:00:00:00:00:00,arp_tha=00:00:00:00:00:00
Flow: pkt_mark=0x2,skb_priority=0x1,arp,metadata=0,in_port=1,vlan_tci=0x0000,dl_src=50:54:00:00:00:01,dl_dst=50:54:00:00:00:02,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_sha=00:00:00:00:00:00,arp_tha=00:00:00:00:00:00
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1246"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Test command: ofproto/trace br_name br_flow packet
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1253: ovs-appctl ofproto/trace br0 \\
  \"in_port=2,skb_priority=2,pkt_mark=1\" \"\$pkt2to1\""
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1253"
( $at_check_trace; ovs-appctl ofproto/trace br0 \
  "in_port=2,skb_priority=2,pkt_mark=1" "$pkt2to1"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1253"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1255: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:1255"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1255"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1258: head -n 2 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:1258"
( $at_check_trace; head -n 2 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Packet: arp,metadata=0,in_port=0,vlan_tci=0x0000,dl_src=50:54:00:00:00:02,dl_dst=50:54:00:00:00:01,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_sha=00:00:00:00:00:00,arp_tha=00:00:00:00:00:00
Flow: pkt_mark=0x1,skb_priority=0x2,arp,metadata=0,in_port=2,vlan_tci=0x0000,dl_src=50:54:00:00:00:02,dl_dst=50:54:00:00:00:01,arp_spa=0.0.0.0,arp_tpa=0.0.0.0,arp_sha=00:00:00:00:00:00,arp_tha=00:00:00:00:00:00
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1258"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1263: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:1263"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1263"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1263: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1263"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1263"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1263: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1263"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1263"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_638
#AT_START_639
at_fn_group_banner 639 'ofproto-dpif.at:1267' \
  "ofproto-dpif - ofproto/trace command 2" "         " 44
at_xfail=no
(
  $as_echo "639. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1268: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:1268"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1268"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1268: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:1268"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1268"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1268: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1268"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1268"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1268: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:1268"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1268"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1268: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:1268"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1268"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1268: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1268"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1268"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1268: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:1268"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1268"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2

# Define flows
odp_flow="in_port(1),eth(src=50:54:00:00:00:01,dst=50:54:00:00:00:02)"
br_flow="in_port=1,dl_src=50:54:00:00:00:01,dl_dst=50:54:00:00:00:02"
# Define options
generate="-generate"
pkt="50540000000250540000000108064500001C000100004001F98CC0A80001C0A800020800F7FF00000000"

# Test incorrect command: ofproto/trace wrong_name odp_flow [-generate|packet]
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1279: ovs-appctl ofproto/trace wrong_name \"\$odp_flow\" "
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace wrong_name \"$odp_flow\" " "ofproto-dpif.at:1279"
( $at_check_trace; ovs-appctl ofproto/trace wrong_name "$odp_flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1279"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1279: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1279"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Cannot find datapath of this name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1279"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1279: ovs-appctl ofproto/trace wrong_name \"\$odp_flow\" \"\$generate\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace wrong_name \"$odp_flow\" \"$generate\"" "ofproto-dpif.at:1279"
( $at_check_trace; ovs-appctl ofproto/trace wrong_name "$odp_flow" "$generate"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1279"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1279: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1279"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Cannot find datapath of this name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1279"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1279: ovs-appctl ofproto/trace wrong_name \"\$odp_flow\" \"\$pkt\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace wrong_name \"$odp_flow\" \"$pkt\"" "ofproto-dpif.at:1279"
( $at_check_trace; ovs-appctl ofproto/trace wrong_name "$odp_flow" "$pkt"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1279"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1279: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1279"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Cannot find datapath of this name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1279"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Test incorrect command: ofproto/trace empty_string odp_flow [-generate|packet]
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1292: ovs-appctl ofproto/trace \"\" \"\$odp_flow\" "
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace \"\" \"$odp_flow\" " "ofproto-dpif.at:1292"
( $at_check_trace; ovs-appctl ofproto/trace "" "$odp_flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1292"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1292: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1292"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Cannot find datapath of this name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1292"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1292: ovs-appctl ofproto/trace \"\" \"\$odp_flow\" \"\$generate\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace \"\" \"$odp_flow\" \"$generate\"" "ofproto-dpif.at:1292"
( $at_check_trace; ovs-appctl ofproto/trace "" "$odp_flow" "$generate"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1292"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1292: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1292"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Cannot find datapath of this name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1292"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1292: ovs-appctl ofproto/trace \"\" \"\$odp_flow\" \"\$pkt\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace \"\" \"$odp_flow\" \"$pkt\"" "ofproto-dpif.at:1292"
( $at_check_trace; ovs-appctl ofproto/trace "" "$odp_flow" "$pkt"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1292"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1292: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1292"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Cannot find datapath of this name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1292"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Test incorrect command: ofproto/trace nonexist_dp_name odp_flow [-generate|packet]
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1305: ovs-appctl ofproto/trace ovs-system \"\$odp_flow\" "
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-system \"$odp_flow\" " "ofproto-dpif.at:1305"
( $at_check_trace; ovs-appctl ofproto/trace ovs-system "$odp_flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1305"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1305: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1305"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Cannot find datapath of this name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1305"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1305: ovs-appctl ofproto/trace ovs-system \"\$odp_flow\" \"\$generate\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-system \"$odp_flow\" \"$generate\"" "ofproto-dpif.at:1305"
( $at_check_trace; ovs-appctl ofproto/trace ovs-system "$odp_flow" "$generate"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1305"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1305: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1305"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Cannot find datapath of this name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1305"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1305: ovs-appctl ofproto/trace ovs-system \"\$odp_flow\" \"\$pkt\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-system \"$odp_flow\" \"$pkt\"" "ofproto-dpif.at:1305"
( $at_check_trace; ovs-appctl ofproto/trace ovs-system "$odp_flow" "$pkt"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1305"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1305: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1305"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Cannot find datapath of this name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1305"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Test incorrect command: ofproto/trace br_name odp_flow [-generate|packet]
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1318: ovs-appctl ofproto/trace br0 \"\$odp_flow\" "
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace br0 \"$odp_flow\" " "ofproto-dpif.at:1318"
( $at_check_trace; ovs-appctl ofproto/trace br0 "$odp_flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1318"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1318: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1318"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Cannot find datapath of this name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1318"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1318: ovs-appctl ofproto/trace br0 \"\$odp_flow\" \"\$generate\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace br0 \"$odp_flow\" \"$generate\"" "ofproto-dpif.at:1318"
( $at_check_trace; ovs-appctl ofproto/trace br0 "$odp_flow" "$generate"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1318"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1318: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1318"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Cannot find datapath of this name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1318"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1318: ovs-appctl ofproto/trace br0 \"\$odp_flow\" \"\$pkt\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace br0 \"$odp_flow\" \"$pkt\"" "ofproto-dpif.at:1318"
( $at_check_trace; ovs-appctl ofproto/trace br0 "$odp_flow" "$pkt"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1318"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1318: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1318"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Cannot find datapath of this name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1318"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Test incorrect command: ofproto/trace dp_name br_flow [-generate|packet]
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1331: ovs-appctl ofproto/trace ovs-dummy \"\$br_flow\" "
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$br_flow\" " "ofproto-dpif.at:1331"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$br_flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1331"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1331: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1331"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Unknown bridge name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1331"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1331: ovs-appctl ofproto/trace ovs-dummy \"\$br_flow\" \"\$generate\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$br_flow\" \"$generate\"" "ofproto-dpif.at:1331"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$br_flow" "$generate"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1331"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1331: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1331"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Unknown bridge name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1331"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1331: ovs-appctl ofproto/trace ovs-dummy \"\$br_flow\" \"\$pkt\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$br_flow\" \"$pkt\"" "ofproto-dpif.at:1331"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$br_flow" "$pkt"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1331"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1331: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1331"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Unknown bridge name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1331"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Test incorrect command: ofproto/trace br_flow [-generate|packet]
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1344: ovs-appctl ofproto/trace \"\$br_flow\" "
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace \"$br_flow\" " "ofproto-dpif.at:1344"
( $at_check_trace; ovs-appctl ofproto/trace "$br_flow"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1344"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1344: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1344"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Must specify bridge name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1344"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1344: ovs-appctl ofproto/trace \"\$br_flow\" \"\$generate\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace \"$br_flow\" \"$generate\"" "ofproto-dpif.at:1344"
( $at_check_trace; ovs-appctl ofproto/trace "$br_flow" "$generate"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1344"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1344: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1344"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Must specify bridge name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1344"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1344: ovs-appctl ofproto/trace \"\$br_flow\" \"\$pkt\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace \"$br_flow\" \"$pkt\"" "ofproto-dpif.at:1344"
( $at_check_trace; ovs-appctl ofproto/trace "$br_flow" "$pkt"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1344"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1344: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1344"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Must specify bridge name
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1344"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Test incorrect command: ofproto/trace dp_name odp_flow garbage_option
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1357: ovs-appctl ofproto/trace \\
  ovs-dummy \"\$odp_flow\" garbage_option"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1357"
( $at_check_trace; ovs-appctl ofproto/trace \
  ovs-dummy "$odp_flow" garbage_option
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1357"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1360: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1360"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Trailing garbage in packet data
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1360"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Test incorrect command: ofproto/trace with 4 arguments
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1366: ovs-appctl ofproto/trace \\
  arg1, arg2, arg3, arg4"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1366"
( $at_check_trace; ovs-appctl ofproto/trace \
  arg1, arg2, arg3, arg4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1366"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1368: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1368"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"ofproto/trace\" command takes at most 3 arguments
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1368"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Test incorrect command: ofproto/trace with 0 argument
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1374: ovs-appctl ofproto/trace "
at_fn_check_prepare_trace "ofproto-dpif.at:1374"
( $at_check_trace; ovs-appctl ofproto/trace
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 2 $at_status "$at_srcdir/ofproto-dpif.at:1374"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1375: tail -2 stderr"
at_fn_check_prepare_trace "ofproto-dpif.at:1375"
( $at_check_trace; tail -2 stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"ofproto/trace\" command requires at least 1 arguments
ovs-appctl: ovs-vswitchd: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1375"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1380: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:1380"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1380"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1380: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1380"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1380"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1380: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1380"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1380"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_639
#AT_START_640
at_fn_group_banner 640 'ofproto-dpif.at:1394' \
  "ofproto-dpif - MAC learning" "                    " 44
at_xfail=no
(
  $as_echo "640. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1395: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:1395"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1395"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1395: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:1395"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1395"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1395: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1395"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1395"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1395: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:1395"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1395"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1395: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:1395"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1395"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1395: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1395"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1395"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1395: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set bridge br0 fail-mode=standalone "
at_fn_check_prepare_trace "ofproto-dpif.at:1395"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set bridge br0 fail-mode=standalone
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1395"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3

arp='eth_type(0x0806),arp(sip=192.168.0.1,tip=192.168.0.2,op=1,sha=50:54:00:00:00:05,tha=00:00:00:00:00:00)'

# Trace an ARP packet arriving on p3, to create a MAC learning entry.
flow="in_port(3),eth(src=50:54:00:00:00:05,dst=ff:ff:ff:ff:ff:ff),$arp"
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1401: ovs-appctl ofproto/trace ovs-dummy \"\$flow\" -generate"
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\" -generate" "ofproto-dpif.at:1401"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow" -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1401"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   actual=`tail -1 stdout | sed 's/Datapath actions: //'`
   expected="1,2,100"
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1401: ovs-dpctl normalize-actions \"\$flow\" \"\$expected\" "
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$expected\" " "ofproto-dpif.at:1401"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1401"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   mv stdout expout
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1401: ovs-dpctl normalize-actions \"\$flow\" \"\$actual\" "
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$actual\" " "ofproto-dpif.at:1401"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$actual"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1401"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Check for the MAC learning entry.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1408: ovs-appctl fdb/show br0 | sed 's/[0-9]\\{1,\\}\$/?/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:1408"
( $at_check_trace; ovs-appctl fdb/show br0 | sed 's/[0-9]\{1,\}$/?/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " port  VLAN  MAC                Age
    3     0  50:54:00:00:00:05    ?
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1408"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Trace a packet arrival destined for the learned MAC.
# (This will also learn a MAC.)
flow="in_port(1),eth(src=50:54:00:00:00:06,dst=50:54:00:00:00:05),$arp"
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1415: ovs-appctl ofproto/trace ovs-dummy \"\$flow\" -generate"
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\" -generate" "ofproto-dpif.at:1415"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow" -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1415"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   actual=`tail -1 stdout | sed 's/Datapath actions: //'`
   expected="3"
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1415: ovs-dpctl normalize-actions \"\$flow\" \"\$expected\" "
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$expected\" " "ofproto-dpif.at:1415"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1415"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   mv stdout expout
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1415: ovs-dpctl normalize-actions \"\$flow\" \"\$actual\" "
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$actual\" " "ofproto-dpif.at:1415"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$actual"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1415"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Check for both MAC learning entries.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1422: ovs-appctl fdb/show br0 | sed 's/[0-9]\\{1,\\}\$/?/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:1422"
( $at_check_trace; ovs-appctl fdb/show br0 | sed 's/[0-9]\{1,\}$/?/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " port  VLAN  MAC                Age
    3     0  50:54:00:00:00:05    ?
    1     0  50:54:00:00:00:06    ?
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1422"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Trace a packet arrival that updates the first learned MAC entry.
flow="in_port(2),eth(src=50:54:00:00:00:05,dst=ff:ff:ff:ff:ff:ff),$arp"
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1429: ovs-appctl ofproto/trace ovs-dummy \"\$flow\" -generate"
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\" -generate" "ofproto-dpif.at:1429"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow" -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1429"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   actual=`tail -1 stdout | sed 's/Datapath actions: //'`
   expected="1,3,100"
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1429: ovs-dpctl normalize-actions \"\$flow\" \"\$expected\" "
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$expected\" " "ofproto-dpif.at:1429"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1429"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   mv stdout expout
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1429: ovs-dpctl normalize-actions \"\$flow\" \"\$actual\" "
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$actual\" " "ofproto-dpif.at:1429"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$actual"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1429"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Check that the MAC learning entry was updated.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1436: ovs-appctl fdb/show br0 | sed 's/[0-9]\\{1,\\}\$/?/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:1436"
( $at_check_trace; ovs-appctl fdb/show br0 | sed 's/[0-9]\{1,\}$/?/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " port  VLAN  MAC                Age
    1     0  50:54:00:00:00:06    ?
    2     0  50:54:00:00:00:05    ?
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1436"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Add another bridge.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1443: ovs-vsctl \\
     -- add-br br1 \\
     -- set bridge br1 datapath-type=dummy"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1443"
( $at_check_trace; ovs-vsctl \
     -- add-br br1 \
     -- set bridge br1 datapath-type=dummy
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1443"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

ovs-vsctl  \
    -- add-port br1 p4 -- set Interface p4 type=dummy ofport_request=4 \
    -- add-port br1 p5 -- set Interface p5 type=dummy ofport_request=5

# Trace some packet arrivals in br1 to create MAC learning entries there too.
flow="in_port(4),eth(src=50:54:00:00:00:06,dst=ff:ff:ff:ff:ff:ff),$arp"
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1450: ovs-appctl ofproto/trace ovs-dummy \"\$flow\" -generate"
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\" -generate" "ofproto-dpif.at:1450"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow" -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1450"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   actual=`tail -1 stdout | sed 's/Datapath actions: //'`
   expected="5,101"
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1450: ovs-dpctl normalize-actions \"\$flow\" \"\$expected\" "
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$expected\" " "ofproto-dpif.at:1450"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1450"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   mv stdout expout
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1450: ovs-dpctl normalize-actions \"\$flow\" \"\$actual\" "
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$actual\" " "ofproto-dpif.at:1450"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$actual"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1450"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

flow="in_port(5),eth(src=50:54:00:00:00:07,dst=ff:ff:ff:ff:ff:ff),$arp"
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1455: ovs-appctl ofproto/trace ovs-dummy \"\$flow\" -generate"
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\" -generate" "ofproto-dpif.at:1455"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow" -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1455"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   actual=`tail -1 stdout | sed 's/Datapath actions: //'`
   expected="4,101"
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1455: ovs-dpctl normalize-actions \"\$flow\" \"\$expected\" "
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$expected\" " "ofproto-dpif.at:1455"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1455"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   mv stdout expout
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1455: ovs-dpctl normalize-actions \"\$flow\" \"\$actual\" "
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$actual\" " "ofproto-dpif.at:1455"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$actual"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1455"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Check that the MAC learning entries were added.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1462: ovs-appctl fdb/show br1 | sed 's/[0-9]\\{1,\\}\$/?/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:1462"
( $at_check_trace; ovs-appctl fdb/show br1 | sed 's/[0-9]\{1,\}$/?/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " port  VLAN  MAC                Age
    4     0  50:54:00:00:00:06    ?
    5     0  50:54:00:00:00:07    ?
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1462"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Delete port p1 and see that its MAC learning entry disappeared, and
# that the MAC learning entry for the same MAC was also deleted from br1.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1470: ovs-vsctl del-port p1"
at_fn_check_prepare_trace "ofproto-dpif.at:1470"
( $at_check_trace; ovs-vsctl del-port p1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1470"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1471: ovs-appctl fdb/show br0 | sed 's/[0-9]\\{1,\\}\$/?/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:1471"
( $at_check_trace; ovs-appctl fdb/show br0 | sed 's/[0-9]\{1,\}$/?/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " port  VLAN  MAC                Age
    2     0  50:54:00:00:00:05    ?
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1471"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1475: ovs-appctl fdb/show br1 | sed 's/[0-9]\\{1,\\}\$/?/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:1475"
( $at_check_trace; ovs-appctl fdb/show br1 | sed 's/[0-9]\{1,\}$/?/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo " port  VLAN  MAC                Age
    5     0  50:54:00:00:00:07    ?
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1475"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1480: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:1480"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1480"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1480: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1480"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1480"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1480: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1480"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1480"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_640
#AT_START_641
at_fn_group_banner 641 'ofproto-dpif.at:1483' \
  "ofproto-dpif - MAC table overflow" "              " 44
at_xfail=no
(
  $as_echo "641. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1484: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:1484"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1484"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1484: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:1484"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1484"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1484: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1484"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1484"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1484: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:1484"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1484"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1484: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:1484"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1484"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1484: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1484"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1484"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1484: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set bridge br0 fail-mode=standalone other-config:mac-table-size=10 "
at_fn_check_prepare_trace "ofproto-dpif.at:1484"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set bridge br0 fail-mode=standalone other-config:mac-table-size=10
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1484"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3

arp='eth_type(0x0806),arp(sip=192.168.0.1,tip=192.168.0.2,op=1,sha=50:54:00:00:00:05,tha=00:00:00:00:00:00)'

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1490: ovs-appctl time/stop"
at_fn_check_prepare_trace "ofproto-dpif.at:1490"
( $at_check_trace; ovs-appctl time/stop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1490"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Trace 10 ARP packets arriving on p3, to create MAC learning entries.
for i in 0 1 2 3 4 5 6 7 8 9; do
    flow="in_port(3),eth(src=50:54:00:00:00:0$i,dst=ff:ff:ff:ff:ff:ff),$arp"
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1494: ovs-appctl ofproto/trace ovs-dummy \"\$flow\" -generate"
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\" -generate" "ofproto-dpif.at:1494"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow" -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1494"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   actual=`tail -1 stdout | sed 's/Datapath actions: //'`
   expected="1,2,100"
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1494: ovs-dpctl normalize-actions \"\$flow\" \"\$expected\" "
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$expected\" " "ofproto-dpif.at:1494"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1494"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   mv stdout expout
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1494: ovs-dpctl normalize-actions \"\$flow\" \"\$actual\" "
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$actual\" " "ofproto-dpif.at:1494"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$actual"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1494"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    ovs-appctl time/warp 1000
done

# Check for the MAC learning entries.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1503: ovs-appctl fdb/show br0 | sed 's/ *[0-9]\\{1,\\}\$//' | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:1503"
( $at_check_trace; ovs-appctl fdb/show br0 | sed 's/ *[0-9]\{1,\}$//' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "    3     0  50:54:00:00:00:00
    3     0  50:54:00:00:00:01
    3     0  50:54:00:00:00:02
    3     0  50:54:00:00:00:03
    3     0  50:54:00:00:00:04
    3     0  50:54:00:00:00:05
    3     0  50:54:00:00:00:06
    3     0  50:54:00:00:00:07
    3     0  50:54:00:00:00:08
    3     0  50:54:00:00:00:09
 port  VLAN  MAC                Age
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1503"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Trace another ARP packet on another MAC.
flow="in_port(3),eth(src=50:54:00:00:00:10,dst=ff:ff:ff:ff:ff:ff),$arp"
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1519: ovs-appctl ofproto/trace ovs-dummy \"\$flow\" -generate"
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"$flow\" -generate" "ofproto-dpif.at:1519"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "$flow" -generate
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1519"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   actual=`tail -1 stdout | sed 's/Datapath actions: //'`
   expected="1,2,100"
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1519: ovs-dpctl normalize-actions \"\$flow\" \"\$expected\" "
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$expected\" " "ofproto-dpif.at:1519"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$expected"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1519"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   mv stdout expout
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1519: ovs-dpctl normalize-actions \"\$flow\" \"\$actual\" "
at_fn_check_prepare_dynamic "ovs-dpctl normalize-actions \"$flow\" \"$actual\" " "ofproto-dpif.at:1519"
( $at_check_trace; ovs-dpctl normalize-actions "$flow" "$actual"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
$at_diff expout "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1519"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Check that the new one chased the oldest one out of the table.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1526: ovs-appctl fdb/show br0 | sed 's/[0-9]\\{1,\\}\$/?/' | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:1526"
( $at_check_trace; ovs-appctl fdb/show br0 | sed 's/[0-9]\{1,\}$/?/' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "    3     0  50:54:00:00:00:01    ?
    3     0  50:54:00:00:00:02    ?
    3     0  50:54:00:00:00:03    ?
    3     0  50:54:00:00:00:04    ?
    3     0  50:54:00:00:00:05    ?
    3     0  50:54:00:00:00:06    ?
    3     0  50:54:00:00:00:07    ?
    3     0  50:54:00:00:00:08    ?
    3     0  50:54:00:00:00:09    ?
    3     0  50:54:00:00:00:10    ?
 port  VLAN  MAC                Age
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1526"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1540: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:1540"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1540"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1540: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1540"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1540"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1540: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1540"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1540"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_641
#AT_START_642
at_fn_group_banner 642 'ofproto-dpif.at:1544' \
  "ofproto-dpif - sFlow packet sampling" "           " 44
at_xfail=no
(
  $as_echo "642. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1545: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:1545"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1545"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1545: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:1545"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1545: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1545"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1545"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1545: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:1545"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1545"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1545: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:1545"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1545"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1545: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1545"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1545"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1545: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set Bridge br0 fail-mode=standalone "
at_fn_check_prepare_trace "ofproto-dpif.at:1545"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set Bridge br0 fail-mode=standalone
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1545"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat test-sflow.pid`
EOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1548: test-sflow --log-file --detach --no-chdir --pidfile 0:127.0.0.1 > sflow.log"
at_fn_check_prepare_trace "ofproto-dpif.at:1548"
( $at_check_trace; test-sflow --log-file --detach --no-chdir --pidfile 0:127.0.0.1 > sflow.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1548"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


SFLOW_PORT=`parse_listening_port < test-sflow.log`

ovs-appctl time/stop

ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
ovs-vsctl \
   set Interface br0 options:ifindex=1002 -- \
   set Interface p1 options:ifindex=1004 -- \
   set Interface p2 options:ifindex=1003 -- \
   set Bridge br0 sflow=@sf -- \
   --id=@sf create sflow targets=\"127.0.0.1:$SFLOW_PORT\" \
     header=128 sampling=1 polling=1


ovs-appctl netdev-dummy/receive p1 'in_port(2),eth(src=50:54:00:00:00:05,dst=FF:FF:FF:FF:FF:FF),eth_type(0x0806),arp(sip=192.168.0.2,tip=192.168.0.1,op=1,sha=50:54:00:00:00:05,tha=00:00:00:00:00:00)'
ovs-appctl netdev-dummy/receive p2 'in_port(1),eth(src=50:54:00:00:00:07,dst=FF:FF:FF:FF:FF:FF),eth_type(0x0806),arp(sip=192.168.0.1,tip=192.168.0.2,op=1,sha=50:54:00:00:00:07,tha=00:00:00:00:00:00)'
ovs-appctl netdev-dummy/receive p1 'in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
ovs-appctl netdev-dummy/receive p2 'in_port(1),eth(src=50:54:00:00:00:07,dst=50:54:00:00:00:05),eth_type(0x0800),ipv4(src=192.168.0.2,dst=192.168.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=0,code=0)'
ovs-appctl netdev-dummy/receive p2 'in_port(1),eth(src=50:54:00:00:00:07,dst=50:54:00:00:00:05),eth_type(0x86dd),ipv6(src=fe80::1,dst=fe80::2,label=0,proto=10,tclass=0x70,hlimit=128,frag=no)'

for i in `seq 1 30`; do
    ovs-appctl time/warp 100
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1582: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:1582"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1582"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"sflow.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1582: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1582"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1582"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"sflow.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1582: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1582"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1582"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"sflow.log"
$at_traceon; }

ovs-appctl -t test-sflow exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1585: sort sflow.log | \$EGREP 'HEADER|ERROR' | sed 's/ /\\
	/g'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1585"
( $at_check_trace; sort sflow.log | $EGREP 'HEADER|ERROR' | sed 's/ /\
	/g'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "HEADER
	dgramSeqNo=1
	ds=127.0.0.1>2:1000
	fsSeqNo=1
	in_vlan=0
	in_priority=0
	out_vlan=0
	out_priority=0
	meanSkip=1
	samplePool=1
	dropEvents=0
	in_ifindex=1004
	in_format=0
	out_ifindex=2
	out_format=2
	hdr_prot=1
	pkt_len=64
	stripped=4
	hdr_len=60
	hdr=FF-FF-FF-FF-FF-FF-50-54-00-00-00-05-08-06-00-01-08-00-06-04-00-01-50-54-00-00-00-05-C0-A8-00-02-00-00-00-00-00-00-C0-A8-00-01-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
HEADER
	dgramSeqNo=1
	ds=127.0.0.1>2:1000
	fsSeqNo=2
	in_vlan=0
	in_priority=0
	out_vlan=0
	out_priority=0
	meanSkip=1
	samplePool=2
	dropEvents=0
	in_ifindex=1003
	in_format=0
	out_ifindex=2
	out_format=2
	hdr_prot=1
	pkt_len=64
	stripped=4
	hdr_len=60
	hdr=FF-FF-FF-FF-FF-FF-50-54-00-00-00-07-08-06-00-01-08-00-06-04-00-01-50-54-00-00-00-07-C0-A8-00-01-00-00-00-00-00-00-C0-A8-00-02-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
HEADER
	dgramSeqNo=1
	ds=127.0.0.1>2:1000
	fsSeqNo=3
	in_vlan=0
	in_priority=0
	out_vlan=0
	out_priority=0
	meanSkip=1
	samplePool=3
	dropEvents=0
	in_ifindex=1004
	in_format=0
	out_ifindex=1003
	out_format=0
	hdr_prot=1
	pkt_len=64
	stripped=4
	hdr_len=60
	hdr=50-54-00-00-00-07-50-54-00-00-00-05-08-00-45-00-00-1C-00-00-00-00-40-01-F9-8D-C0-A8-00-01-C0-A8-00-02-08-00-F7-FF-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
HEADER
	dgramSeqNo=1
	ds=127.0.0.1>2:1000
	fsSeqNo=4
	in_vlan=0
	in_priority=0
	out_vlan=0
	out_priority=0
	meanSkip=1
	samplePool=4
	dropEvents=0
	in_ifindex=1003
	in_format=0
	out_ifindex=1004
	out_format=0
	hdr_prot=1
	pkt_len=64
	stripped=4
	hdr_len=60
	hdr=50-54-00-00-00-05-50-54-00-00-00-07-08-00-45-00-00-1C-00-00-00-00-40-01-F9-8D-C0-A8-00-02-C0-A8-00-01-00-00-FF-FF-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
HEADER
	dgramSeqNo=1
	ds=127.0.0.1>2:1000
	fsSeqNo=5
	in_vlan=0
	in_priority=0
	out_vlan=0
	out_priority=0
	meanSkip=1
	samplePool=5
	dropEvents=0
	in_ifindex=1003
	in_format=0
	out_ifindex=1004
	out_format=0
	hdr_prot=1
	pkt_len=64
	stripped=4
	hdr_len=60
	hdr=50-54-00-00-00-05-50-54-00-00-00-07-86-DD-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1585"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"sflow.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1689: sort sflow.log | \$EGREP 'IFCOUNTERS|ERROR' | head -6 | sed 's/ /\\
	/g'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1689"
( $at_check_trace; sort sflow.log | $EGREP 'IFCOUNTERS|ERROR' | head -6 | sed 's/ /\
	/g'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "IFCOUNTERS
	dgramSeqNo=2
	ds=127.0.0.1>0:1002
	csSeqNo=1
	ifindex=1002
	type=6
	ifspeed=100000000
	direction=0
	status=3
	in_octets=0
	in_unicasts=0
	in_multicasts=0
	in_broadcasts=4294967295
	in_discards=0
	in_errors=0
	in_unknownprotos=4294967295
	out_octets=120
	out_unicasts=2
	out_multicasts=4294967295
	out_broadcasts=4294967295
	out_discards=0
	out_errors=0
	promiscuous=0
IFCOUNTERS
	dgramSeqNo=2
	ds=127.0.0.1>0:1003
	csSeqNo=1
	ifindex=1003
	type=6
	ifspeed=100000000
	direction=0
	status=0
	in_octets=98
	in_unicasts=3
	in_multicasts=0
	in_broadcasts=4294967295
	in_discards=0
	in_errors=0
	in_unknownprotos=4294967295
	out_octets=120
	out_unicasts=2
	out_multicasts=4294967295
	out_broadcasts=4294967295
	out_discards=0
	out_errors=0
	promiscuous=0
IFCOUNTERS
	dgramSeqNo=2
	ds=127.0.0.1>0:1004
	csSeqNo=1
	ifindex=1004
	type=6
	ifspeed=100000000
	direction=0
	status=0
	in_octets=84
	in_unicasts=2
	in_multicasts=0
	in_broadcasts=4294967295
	in_discards=0
	in_errors=0
	in_unknownprotos=4294967295
	out_octets=180
	out_unicasts=3
	out_multicasts=4294967295
	out_broadcasts=4294967295
	out_discards=0
	out_errors=0
	promiscuous=0
IFCOUNTERS
	dgramSeqNo=3
	ds=127.0.0.1>0:1002
	csSeqNo=2
	ifindex=1002
	type=6
	ifspeed=100000000
	direction=0
	status=3
	in_octets=0
	in_unicasts=0
	in_multicasts=0
	in_broadcasts=4294967295
	in_discards=0
	in_errors=0
	in_unknownprotos=4294967295
	out_octets=120
	out_unicasts=2
	out_multicasts=4294967295
	out_broadcasts=4294967295
	out_discards=0
	out_errors=0
	promiscuous=0
IFCOUNTERS
	dgramSeqNo=3
	ds=127.0.0.1>0:1003
	csSeqNo=2
	ifindex=1003
	type=6
	ifspeed=100000000
	direction=0
	status=0
	in_octets=98
	in_unicasts=3
	in_multicasts=0
	in_broadcasts=4294967295
	in_discards=0
	in_errors=0
	in_unknownprotos=4294967295
	out_octets=120
	out_unicasts=2
	out_multicasts=4294967295
	out_broadcasts=4294967295
	out_discards=0
	out_errors=0
	promiscuous=0
IFCOUNTERS
	dgramSeqNo=3
	ds=127.0.0.1>0:1004
	csSeqNo=2
	ifindex=1004
	type=6
	ifspeed=100000000
	direction=0
	status=0
	in_octets=84
	in_unicasts=2
	in_multicasts=0
	in_broadcasts=4294967295
	in_discards=0
	in_errors=0
	in_unknownprotos=4294967295
	out_octets=180
	out_unicasts=3
	out_multicasts=4294967295
	out_broadcasts=4294967295
	out_discards=0
	out_errors=0
	promiscuous=0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1689"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"sflow.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_642
#AT_START_643
at_fn_group_banner 643 'ofproto-dpif.at:1839' \
  "ofproto-dpif - NetFlow flow expiration" "         " 44
at_xfail=no
(
  $as_echo "643. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1841: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:1841"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1841"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1841: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:1841"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1841"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1841: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1841"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1841"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1841: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:1841"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1841"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1841: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:1841"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1841"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1841: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1841"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1841"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1841: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set Bridge br0 fail-mode=standalone "
at_fn_check_prepare_trace "ofproto-dpif.at:1841"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set Bridge br0 fail-mode=standalone
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1841"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2

trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat test-netflow.pid`
EOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1845: test-netflow --log-file --detach --no-chdir --pidfile 0:127.0.0.1 > netflow.log"
at_fn_check_prepare_trace "ofproto-dpif.at:1845"
( $at_check_trace; test-netflow --log-file --detach --no-chdir --pidfile 0:127.0.0.1 > netflow.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1845"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


NETFLOW_PORT=`parse_listening_port < test-netflow.log`

ovs-vsctl \
   set Bridge br0 netflow=@nf -- \
   --id=@nf create NetFlow targets=\"127.0.0.1:$NETFLOW_PORT\" \
     engine_id=1 engine_type=2 active_timeout=30 add-id-to-interface=false

for delay in 1000 30000; do
    ovs-appctl netdev-dummy/receive p1 'in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
    ovs-appctl netdev-dummy/receive p2 'in_port(1),eth(src=50:54:00:00:00:07,dst=50:54:00:00:00:05),eth_type(0x0800),ipv4(src=192.168.0.2,dst=192.168.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=0,code=0)'

    ovs-appctl time/warp $delay
done

sleep 1
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1862: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:1862"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1862"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1862: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1862"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1862"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1862: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1862"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1862"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }

ovs-appctl -t test-netflow exit

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1865: sed -e 's/, uptime [0-9]*//
s/, now [0-9.]*//
s/time \\([0-9]*\\)\\.\\.\\.\\1\$/time <moment>/
s/time [0-9]*\\.\\.\\.[0-9]*/time <range>/
' netflow.log | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1865"
( $at_check_trace; sed -e 's/, uptime [0-9]*//
s/, now [0-9.]*//
s/time \([0-9]*\)\.\.\.\1$/time <moment>/
s/time [0-9]*\.\.\.[0-9]*/time <range>/
' netflow.log | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
header: v5, seq 0, engine 2,1
header: v5, seq 1, engine 2,1
seq 0: 192.168.0.1 > 192.168.0.2, if 1 > 65535, 1 pkts, 60 bytes, ICMP 8:0, time <moment>
seq 1: 192.168.0.1 > 192.168.0.2, if 1 > 2, 1 pkts, 60 bytes, ICMP 8:0, time <moment>
seq 1: 192.168.0.2 > 192.168.0.1, if 2 > 1, 2 pkts, 120 bytes, ICMP 0:0, time <range>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1865"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_643
#AT_START_644
at_fn_group_banner 644 'ofproto-dpif.at:1880' \
  "ofproto-dpif - NetFlow active expiration" "       " 44
at_xfail=no
(
  $as_echo "644. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1882: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:1882"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1882"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1882: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:1882"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1882"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1882: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1882"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1882"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1882: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:1882"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1882"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1882: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:1882"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1882"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1882: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1882"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1882"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1882: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set Bridge br0 fail-mode=standalone "
at_fn_check_prepare_trace "ofproto-dpif.at:1882"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set Bridge br0 fail-mode=standalone
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1882"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2

trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat test-netflow.pid`
EOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1886: test-netflow --log-file --detach --no-chdir --pidfile 0:127.0.0.1 > netflow.log"
at_fn_check_prepare_trace "ofproto-dpif.at:1886"
( $at_check_trace; test-netflow --log-file --detach --no-chdir --pidfile 0:127.0.0.1 > netflow.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1886"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


NETFLOW_PORT=`parse_listening_port < test-netflow.log`

ovs-vsctl \
   set Bridge br0 netflow=@nf -- \
   --id=@nf create NetFlow targets=\"127.0.0.1:$NETFLOW_PORT\" \
     engine_id=1 engine_type=2 active_timeout=10 add-id-to-interface=false

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1895: ovs-appctl time/stop"
at_fn_check_prepare_trace "ofproto-dpif.at:1895"
( $at_check_trace; ovs-appctl time/stop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1895"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }

n=1
while test $n -le 60; do
    n=`expr $n + 1`

    ovs-appctl netdev-dummy/receive p1 'in_port(2),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=6,tos=0,ttl=64,frag=no),tcp(src=1234,dst=80)'
    ovs-appctl netdev-dummy/receive p2 'in_port(1),eth(src=50:54:00:00:00:07,dst=50:54:00:00:00:05),eth_type(0x0800),ipv4(src=192.168.0.2,dst=192.168.0.1,proto=6,tos=0,ttl=64,frag=no),tcp(src=80,dst=1234)'

    ovs-appctl time/warp 1000
done

ovs-appctl time/warp 10000

sleep 1
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1909: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:1909"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1909"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1909: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1909"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1909"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1909: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:1909"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1909"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }

ovs-appctl -t test-netflow exit

# Count the number of reported packets:
# - From source to destination before MAC learning kicks in (just one).
# - From source to destination after that.
# - From destination to source.
n_learn=0
n_in=0
n_out=0
n_other=0
n_recs=0
none=0
while read line; do
    pkts=`echo "$line" | sed 's/.*, \([0-9]*\) pkts,.*/\1/'`
    case $pkts in
         [0-9]*) ;;
	 *) continue ;;
    esac

    case $line in
        "seq "*": 192.168.0.1 > 192.168.0.2, if 1 > 65535, "*" pkts, "*" bytes, TCP 1234 > 80, time "*)
            counter=n_learn
	    ;;
	"seq "*": 192.168.0.1 > 192.168.0.2, if 1 > 2, "*" pkts, "*" bytes, TCP 1234 > 80, time "*)
	    counter=n_in
	    ;;
	"seq "*": 192.168.0.2 > 192.168.0.1, if 2 > 1, "*" pkts, "*" bytes, TCP 80 > 1234, time "*)
	    counter=n_out
	    ;;
	*)
	    counter=n_other
	    ;;
    esac
    eval $counter=\`expr \$$counter + \$pkts\`
    n_recs=`expr $n_recs + 1`
done < netflow.log

# There should be exactly 1 MAC learning packet,
# exactly 59 other packets in that direction,
# and exactly 60 packets in the other direction.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1950: echo \$n_learn \$n_in \$n_out \$n_other"
at_fn_check_prepare_dynamic "echo $n_learn $n_in $n_out $n_other" "ofproto-dpif.at:1950"
( $at_check_trace; echo $n_learn $n_in $n_out $n_other
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1 59 60 0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1950"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }


# There should be 1 expiration for MAC learning,
# at least 5 active and a final expiration in one direction,
# and at least 5 active and a final expiration in the other direction.
echo $n_recs
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1957: test \$n_recs -ge 13"
at_fn_check_prepare_dynamic "test $n_recs -ge 13" "ofproto-dpif.at:1957"
( $at_check_trace; test $n_recs -ge 13
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1957"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_644
#AT_START_645
at_fn_group_banner 645 'ofproto-dpif.at:1961' \
  "idle_age and hard_age increase over time" "       " 44
at_xfail=no
(
  $as_echo "645. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1962: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:1962"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1962"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1962: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:1962"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1962"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1962: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1962"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1962"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1962: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:1962"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1962"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1962: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:1962"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1962"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1962: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:1962"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1962"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1962: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:1962"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1962"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# get_ages DURATION HARD IDLE
#
# Fetch the flow duration, hard age, and idle age into the variables
# whose names are given as arguments.  Rounds DURATION down to the
# nearest integer.  If hard_age doesn't appear in the output, sets
# HARD to "none".  If idle_age doesn't appear in the output, sets IDLE
# to 0.
get_ages () {
    { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1972: ovs-ofctl dump-flows br0"
at_fn_check_prepare_trace "ofproto-dpif.at:1972"
( $at_check_trace; ovs-ofctl dump-flows br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1972"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    duration=`sed -n 's/.*duration=\([0-9]*\)\(\.[0-9]*\)\{0,1\}s.*/\1/p' stdout`
    { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1975: expr X\"\$duration\" : 'X[0-9][0-9]*\$'"
at_fn_check_prepare_dynamic "expr X\"$duration\" : 'X[0-9][0-9]*$'" "ofproto-dpif.at:1975"
( $at_check_trace; expr X"$duration" : 'X[0-9][0-9]*$'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1975"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    eval $1=\$duration

    hard=`sed -n 's/.*hard_age=\([0-9]*\),.*/\1/p' stdout`
    if test X"$hard" = X; then
        hard=none
    else
        { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1982: expr X\"\$hard\" : 'X[0-9][0-9]*\$'"
at_fn_check_prepare_dynamic "expr X\"$hard\" : 'X[0-9][0-9]*$'" "ofproto-dpif.at:1982"
( $at_check_trace; expr X"$hard" : 'X[0-9][0-9]*$'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1982"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    fi
    eval $2=\$hard

    idle=`sed -n 's/.*idle_age=\([0-9]*\),.*/\1/p' stdout`
    if test X"$idle" = X; then
        idle=0
    else
        { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1990: expr X\"\$idle\" : 'X[0-9][0-9]*\$'"
at_fn_check_prepare_dynamic "expr X\"$idle\" : 'X[0-9][0-9]*$'" "ofproto-dpif.at:1990"
( $at_check_trace; expr X"$idle" : 'X[0-9][0-9]*$'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1990"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    fi
    eval $3=\$idle
}

# Add a flow and get its initial hard and idle age.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:1996: ovs-ofctl add-flow br0 hard_timeout=199,idle_timeout=188,actions=drop"
at_fn_check_prepare_trace "ofproto-dpif.at:1996"
( $at_check_trace; ovs-ofctl add-flow br0 hard_timeout=199,idle_timeout=188,actions=drop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:1996"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

get_ages duration1 hard1 idle1

# Warp time forward by 10 seconds, then modify the flow's actions.
ovs-appctl time/warp 10000
get_ages duration2 hard2 idle2
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2002: ovs-ofctl mod-flows br0 actions=flood"
at_fn_check_prepare_trace "ofproto-dpif.at:2002"
( $at_check_trace; ovs-ofctl mod-flows br0 actions=flood
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2002"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Warp time forward by 10 seconds.
ovs-appctl time/warp 10000
get_ages duration3 hard3 idle3

# Warp time forward 10 more seconds, then pass some packets through the flow,
# then warp forward a few more times because idle times are only updated
# occasionally.
ovs-appctl time/warp 10000
ovs-appctl netdev-dummy/receive br0 'in_port(0),eth(src=50:54:00:00:00:07,dst=50:54:00:00:00:05),eth_type(0x0800),ipv4(src=192.168.0.2,dst=192.168.0.1,proto=6,tos=0,ttl=64,frag=no),tcp(src=80,dst=1234)'
ovs-appctl time/warp 1000
ovs-appctl time/warp 1000
ovs-appctl time/warp 1000
get_ages duration4 hard4 idle4

printf "duration: %4s => %4s => %4s => %4s\n" $duration1 $duration2 $duration3 $duration4
printf "hard_age: %4s => %4s => %4s => %4s\n" $hard1 $hard2 $hard3 $hard4
printf "idle_age: %4s => %4s => %4s => %4s\n" $idle1 $idle2 $idle3 $idle4

# Duration should increase steadily over time.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2023: test \$duration1 -lt \$duration2"
at_fn_check_prepare_dynamic "test $duration1 -lt $duration2" "ofproto-dpif.at:2023"
( $at_check_trace; test $duration1 -lt $duration2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2023"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2024: test \$duration2 -lt \$duration3"
at_fn_check_prepare_dynamic "test $duration2 -lt $duration3" "ofproto-dpif.at:2024"
( $at_check_trace; test $duration2 -lt $duration3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2024"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2025: test \$duration3 -lt \$duration4"
at_fn_check_prepare_dynamic "test $duration3 -lt $duration4" "ofproto-dpif.at:2025"
( $at_check_trace; test $duration3 -lt $duration4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2025"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Hard age should be "none" initially because it's the same as flow_duration,
# then it should increase.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2029: test \$hard1 = none"
at_fn_check_prepare_dynamic "test $hard1 = none" "ofproto-dpif.at:2029"
( $at_check_trace; test $hard1 = none
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2029"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2030: test \$hard2 = none"
at_fn_check_prepare_dynamic "test $hard2 = none" "ofproto-dpif.at:2030"
( $at_check_trace; test $hard2 = none
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2030"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2031: test \$hard3 != none"
at_fn_check_prepare_dynamic "test $hard3 != none" "ofproto-dpif.at:2031"
( $at_check_trace; test $hard3 != none
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2031"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2032: test \$hard4 != none"
at_fn_check_prepare_dynamic "test $hard4 != none" "ofproto-dpif.at:2032"
( $at_check_trace; test $hard4 != none
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2032"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2033: test \$hard3 -lt \$hard4"
at_fn_check_prepare_dynamic "test $hard3 -lt $hard4" "ofproto-dpif.at:2033"
( $at_check_trace; test $hard3 -lt $hard4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2033"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Idle age should increase from 1 to 2 to 3, then decrease.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2036: test \$idle1 -lt \$idle2"
at_fn_check_prepare_dynamic "test $idle1 -lt $idle2" "ofproto-dpif.at:2036"
( $at_check_trace; test $idle1 -lt $idle2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2036"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2037: test \$idle2 -lt \$idle3"
at_fn_check_prepare_dynamic "test $idle2 -lt $idle3" "ofproto-dpif.at:2037"
( $at_check_trace; test $idle2 -lt $idle3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2037"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2038: test \$idle3 -gt \$idle4"
at_fn_check_prepare_dynamic "test $idle3 -gt $idle4" "ofproto-dpif.at:2038"
( $at_check_trace; test $idle3 -gt $idle4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2038"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Check some invariant relationships.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2041: test \$duration1 = \$idle1"
at_fn_check_prepare_dynamic "test $duration1 = $idle1" "ofproto-dpif.at:2041"
( $at_check_trace; test $duration1 = $idle1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2041"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2042: test \$duration2 = \$idle2"
at_fn_check_prepare_dynamic "test $duration2 = $idle2" "ofproto-dpif.at:2042"
( $at_check_trace; test $duration2 = $idle2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2042"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2043: test \$duration3 = \$idle3"
at_fn_check_prepare_dynamic "test $duration3 = $idle3" "ofproto-dpif.at:2043"
( $at_check_trace; test $duration3 = $idle3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2043"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2044: test \$idle3 -gt \$hard3"
at_fn_check_prepare_dynamic "test $idle3 -gt $hard3" "ofproto-dpif.at:2044"
( $at_check_trace; test $idle3 -gt $hard3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2044"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2045: test \$idle4 -lt \$hard4"
at_fn_check_prepare_dynamic "test $idle4 -lt $hard4" "ofproto-dpif.at:2045"
( $at_check_trace; test $idle4 -lt $hard4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2045"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2046: test \$hard4 -lt \$duration4"
at_fn_check_prepare_dynamic "test $hard4 -lt $duration4" "ofproto-dpif.at:2046"
( $at_check_trace; test $hard4 -lt $duration4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2046"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2048: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2048"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2048"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2048: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2048"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2048"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2048: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2048"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2048"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_645
#AT_START_646
at_fn_group_banner 646 'ofproto-dpif.at:2051' \
  "ofproto-dpif - fin_timeout" "                     " 44
at_xfail=no
(
  $as_echo "646. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2052: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2052"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2052"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2052: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2052"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2052"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2052: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2052"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2052"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2052: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2052"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2052: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2052"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2052: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2052"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2052: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2052"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2052"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


cat >flows.txt <<'_ATEOF'
in_port=1 actions=output:2
in_port=2 actions=mod_vlan_vid:17,output:1
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2057: ovs-ofctl add-flow br0 'idle_timeout=60,actions=fin_timeout(idle_timeout=5)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2057"
( $at_check_trace; ovs-ofctl add-flow br0 'idle_timeout=60,actions=fin_timeout(idle_timeout=5)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2057"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2058: ovs-ofctl dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2058"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW reply:
 idle_timeout=60, actions=fin_timeout(idle_timeout=5)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2058"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Check that a TCP SYN packet does not change the timeout.  (Because
# flow stats updates are mainly what implements the fin_timeout
# feature, we warp forward a couple of times to ensure that flow stats
# run before re-checking the flow table.)
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2066: ovs-appctl netdev-dummy/receive br0 0021853763af0026b98cb0f908004500003c2e2440004006465dac11370dac11370b828b0016751e267b00000000a00216d017360000020405b40402080a2d25085f0000000001030307"
at_fn_check_prepare_trace "ofproto-dpif.at:2066"
( $at_check_trace; ovs-appctl netdev-dummy/receive br0 0021853763af0026b98cb0f908004500003c2e2440004006465dac11370dac11370b828b0016751e267b00000000a00216d017360000020405b40402080a2d25085f0000000001030307
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2066"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2067: ovs-appctl time/warp 1000 && ovs-appctl time/warp 1000"
at_fn_check_prepare_trace "ofproto-dpif.at:2067"
( $at_check_trace; ovs-appctl time/warp 1000 && ovs-appctl time/warp 1000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "warped
warped
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2067"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2070: ovs-ofctl dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2070"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW reply:
 n_packets=1, n_bytes=74, idle_timeout=60, actions=fin_timeout(idle_timeout=5)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2070"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Check that a TCP FIN packet does change the timeout.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2075: ovs-appctl netdev-dummy/receive br0 0021853763af0026b98cb0f90800451000342e3e40004006463bac11370dac11370b828b0016751e319dfc96399b801100717ae800000101080a2d250a9408579588"
at_fn_check_prepare_trace "ofproto-dpif.at:2075"
( $at_check_trace; ovs-appctl netdev-dummy/receive br0 0021853763af0026b98cb0f90800451000342e3e40004006463bac11370dac11370b828b0016751e319dfc96399b801100717ae800000101080a2d250a9408579588
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2075"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2076: ovs-appctl time/warp 1000 && ovs-appctl time/warp 1000"
at_fn_check_prepare_trace "ofproto-dpif.at:2076"
( $at_check_trace; ovs-appctl time/warp 1000 && ovs-appctl time/warp 1000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "warped
warped
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2076"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2079: ovs-ofctl dump-flows br0 | ofctl_strip"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2079"
( $at_check_trace; ovs-ofctl dump-flows br0 | ofctl_strip
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "NXST_FLOW reply:
 n_packets=2, n_bytes=140, idle_timeout=5, actions=fin_timeout(idle_timeout=5)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2079"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2083: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2083"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2083"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2083: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2083"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2083"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2083: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2083"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2083"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_646
#AT_START_647
at_fn_group_banner 647 'ofproto-dpif.at:2086' \
  "ofproto-dpif - ovs-appctl dpif/dump-dps" "        " 44
at_xfail=no
(
  $as_echo "647. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2087: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2087"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2087"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2087: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2087"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2087"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2087: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2087"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2087"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2087: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2087"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2087"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2087: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2087"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2087"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2087: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2087"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2087"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2087: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- set bridge br1 datapath-type=dummy "
at_fn_check_prepare_trace "ofproto-dpif.at:2087"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- set bridge br1 datapath-type=dummy
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2087"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
ovs-vsctl  \
    -- add-port br1 p3 -- set Interface p3 type=dummy ofport_request=3

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2091: ovs-appctl dpif/dump-dps"
at_fn_check_prepare_trace "ofproto-dpif.at:2091"
( $at_check_trace; ovs-appctl dpif/dump-dps
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "dummy@br0
dummy@br1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2091"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2095: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2095"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2095"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2095: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2095"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2095"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2095: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2095"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2095"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_647
#AT_START_648
at_fn_group_banner 648 'ofproto-dpif.at:2098' \
  "ofproto-dpif - ovs-appctl dpif/show" "            " 44
at_xfail=no
(
  $as_echo "648. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2099: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2099"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2099"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2099: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2099"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2099: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2099"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2099"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2099: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2099"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2099"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2099: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2099"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2099"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2099: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2099"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2099"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2099: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- set bridge br1 datapath-type=dummy "
at_fn_check_prepare_trace "ofproto-dpif.at:2099"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- set bridge br1 datapath-type=dummy
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2099"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
ovs-vsctl  \
    -- add-port br1 p3 -- set Interface p3 type=dummy ofport_request=3

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2103: ovs-appctl dpif/show"
at_fn_check_prepare_trace "ofproto-dpif.at:2103"
( $at_check_trace; ovs-appctl dpif/show
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "dummy@ovs-dummy: hit:0 missed:0
	flows: cur: 0, avg: 0, max: 0, life span: 0ms
	overall avg: add rate: 0.000/min, del rate: 0.000/min
	br0: hit:0 missed:0
		br0 65534/100: (dummy)
		p1 1/1: (dummy)
		p2 2/2: (dummy)
	br1: hit:0 missed:0
		br1 65534/101: (dummy)
		p3 3/3: (dummy)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2103"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2115: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2115"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2115"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2115: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2115"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2115"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2115: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2115"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2115"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_648
#AT_START_649
at_fn_group_banner 649 'ofproto-dpif.at:2118' \
  "ofproto-dpif - ovs-appctl dpif/dump-flows" "      " 44
at_xfail=no
(
  $as_echo "649. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2119: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2119"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2119"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2119: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2119"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2119"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2119: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2119"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2119"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2119: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2119"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2119"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2119: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2119"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2119"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2119: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2119"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2119"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2119: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- \\
                    set bridge br1 datapath-type=dummy fail-mode=secure "
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2119"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- \
                    set bridge br1 datapath-type=dummy fail-mode=secure
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2119"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
ovs-vsctl  \
    -- add-port br1 p3 -- set Interface p3 type=dummy ofport_request=3

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2124: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2124"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2124"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2125: ovs-appctl netdev-dummy/receive p2 'in_port(2),eth(src=50:54:00:00:00:07,dst=50:54:00:00:00:05),eth_type(0x0800),ipv4(src=192.168.0.2,dst=192.168.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=0,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2125"
( $at_check_trace; ovs-appctl netdev-dummy/receive p2 'in_port(2),eth(src=50:54:00:00:00:07,dst=50:54:00:00:00:05),eth_type(0x0800),ipv4(src=192.168.0.2,dst=192.168.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=0,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2125"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2126: ovs-appctl netdev-dummy/receive p3 'in_port(3),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2126"
( $at_check_trace; ovs-appctl netdev-dummy/receive p3 'in_port(3),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2126"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2128: ovs-appctl dpif/dump-flows br0 | sort | sed 's/used:[0-9]\\.[0-9]*/used:0.0/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2128"
( $at_check_trace; ovs-appctl dpif/dump-flows br0 | sort | sed 's/used:[0-9]\.[0-9]*/used:0.0/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority(0),in_port(1),eth_type(0x0800),ipv4(src=192.168.0.1/0.0.0.0,dst=192.168.0.2/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), packets:0, bytes:0, used:0.0s, actions:userspace(pid=0,slow_path(controller))
skb_priority(0),in_port(2),eth_type(0x0800),ipv4(src=192.168.0.2/0.0.0.0,dst=192.168.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), packets:0, bytes:0, used:0.0s, actions:userspace(pid=0,slow_path(controller))
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2128"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2133: ovs-appctl dpif/dump-flows br1 | sort | sed 's/used:[0-9]\\.[0-9]*/used:0.0/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2133"
( $at_check_trace; ovs-appctl dpif/dump-flows br1 | sort | sed 's/used:[0-9]\.[0-9]*/used:0.0/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority(0),in_port(3),eth_type(0x0800),ipv4(src=10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), packets:0, bytes:0, used:0.0s, actions:userspace(pid=0,slow_path(controller))
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2133"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2137: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2137"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2137"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2137: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2137"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2137"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2137: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2137"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2137"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_649
#AT_START_650
at_fn_group_banner 650 'ofproto-dpif.at:2140' \
  "ofproto-dpif - ovs-appctl dpif/del-flows" "       " 44
at_xfail=no
(
  $as_echo "650. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2141: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2141"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2141"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2141: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2141"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2141"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2141: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2141"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2141"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2141: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2141"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2141"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2141: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2141"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2141"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2141: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2141"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2141"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2141: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- \\
                    set bridge br1 datapath-type=dummy fail-mode=secure "
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2141"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- \
                    set bridge br1 datapath-type=dummy fail-mode=secure
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2141"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
ovs-vsctl  \
    -- add-port br1 p3 -- set Interface p3 type=dummy ofport_request=3

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2146: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2146"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2146"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2147: ovs-appctl netdev-dummy/receive p2 'in_port(2),eth(src=50:54:00:00:00:07,dst=50:54:00:00:00:05),eth_type(0x0800),ipv4(src=192.168.0.2,dst=192.168.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=0,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2147"
( $at_check_trace; ovs-appctl netdev-dummy/receive p2 'in_port(2),eth(src=50:54:00:00:00:07,dst=50:54:00:00:00:05),eth_type(0x0800),ipv4(src=192.168.0.2,dst=192.168.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=0,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2147"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2148: ovs-appctl netdev-dummy/receive p3 'in_port(3),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2148"
( $at_check_trace; ovs-appctl netdev-dummy/receive p3 'in_port(3),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2148"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2150: ovs-appctl dpif/dump-flows br0 | sort | sed 's/used:[0-9]\\.[0-9]*/used:0.0/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2150"
( $at_check_trace; ovs-appctl dpif/dump-flows br0 | sort | sed 's/used:[0-9]\.[0-9]*/used:0.0/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority(0),in_port(1),eth_type(0x0800),ipv4(src=192.168.0.1/0.0.0.0,dst=192.168.0.2/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), packets:0, bytes:0, used:0.0s, actions:userspace(pid=0,slow_path(controller))
skb_priority(0),in_port(2),eth_type(0x0800),ipv4(src=192.168.0.2/0.0.0.0,dst=192.168.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), packets:0, bytes:0, used:0.0s, actions:userspace(pid=0,slow_path(controller))
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2150"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2155: ovs-appctl dpif/dump-flows br1 | sort | sed 's/used:[0-9]\\.[0-9]*/used:0.0/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2155"
( $at_check_trace; ovs-appctl dpif/dump-flows br1 | sort | sed 's/used:[0-9]\.[0-9]*/used:0.0/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority(0),in_port(3),eth_type(0x0800),ipv4(src=10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), packets:0, bytes:0, used:0.0s, actions:userspace(pid=0,slow_path(controller))
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2155"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2159: ovs-appctl dpif/del-flows br0"
at_fn_check_prepare_trace "ofproto-dpif.at:2159"
( $at_check_trace; ovs-appctl dpif/del-flows br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2159"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2160: ovs-appctl dpif/dump-flows br0 | sort | sed 's/used:[0-9]\\.[0-9]*/used:0.0/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2160"
( $at_check_trace; ovs-appctl dpif/dump-flows br0 | sort | sed 's/used:[0-9]\.[0-9]*/used:0.0/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2160"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2163: ovs-appctl dpif/dump-flows br1 | sort | sed 's/used:[0-9]\\.[0-9]*/used:0.0/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2163"
( $at_check_trace; ovs-appctl dpif/dump-flows br1 | sort | sed 's/used:[0-9]\.[0-9]*/used:0.0/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority(0),in_port(3),eth_type(0x0800),ipv4(src=10.0.0.2/0.0.0.0,dst=10.0.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), packets:0, bytes:0, used:0.0s, actions:userspace(pid=0,slow_path(controller))
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2163"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2167: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2167"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2167"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2167: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2167"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2167"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2167: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2167"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2167"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_650
#AT_START_651
at_fn_group_banner 651 'ofproto-dpif.at:2170' \
  "ofproto-dpif - patch ports" "                     " 44
at_xfail=no
(
  $as_echo "651. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2171: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2171"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2171"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2171: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2171"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2171"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2171: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2171"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2171"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2171: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2171"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2171"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2171: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2171"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2171"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2171: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2171"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2171"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2171: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 \\
-- set bridge br1 datapath-type=dummy fail-mode=secure \\
-- add-port br1 pbr1 -- set int pbr1 type=patch options:peer=pbr0 \\
-- add-port br0 pbr0 -- set int pbr0 type=patch options:peer=pbr1 "
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2171"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 \
-- set bridge br1 datapath-type=dummy fail-mode=secure \
-- add-port br1 pbr1 -- set int pbr1 type=patch options:peer=pbr0 \
-- add-port br0 pbr0 -- set int pbr0 type=patch options:peer=pbr1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2171"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ovs-vsctl  \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
ovs-vsctl  \
    -- add-port br1 p3 -- set Interface p3 type=dummy ofport_request=3

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2179: ovs-appctl time/stop"
at_fn_check_prepare_trace "ofproto-dpif.at:2179"
( $at_check_trace; ovs-appctl time/stop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2179"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2181: ovs-ofctl add-flow br0 actions=LOCAL,output:1,output:2"
at_fn_check_prepare_trace "ofproto-dpif.at:2181"
( $at_check_trace; ovs-ofctl add-flow br0 actions=LOCAL,output:1,output:2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2181"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2182: ovs-ofctl add-flow br1 actions=LOCAL,output:1,output:3"
at_fn_check_prepare_trace "ofproto-dpif.at:2182"
( $at_check_trace; ovs-ofctl add-flow br1 actions=LOCAL,output:1,output:3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2182"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


for i in $(seq 1 10); do
    ovs-appctl netdev-dummy/receive br0 'in_port(100),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
done

for i in $(seq 1 5); do
    ovs-appctl netdev-dummy/receive br1 'in_port(101),eth(src=50:54:00:00:00:07,dst=50:54:00:00:00:05),eth_type(0x0800),ipv4(src=192.168.0.2,dst=192.168.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
done

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2192: ovs-appctl time/warp 1000 && ovs-appctl time/warp 1000"
at_fn_check_prepare_trace "ofproto-dpif.at:2192"
( $at_check_trace; ovs-appctl time/warp 1000 && ovs-appctl time/warp 1000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "warped
warped
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2192"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2196: ovs-appctl dpif/show"
at_fn_check_prepare_trace "ofproto-dpif.at:2196"
( $at_check_trace; ovs-appctl dpif/show
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "dummy@ovs-dummy: hit:13 missed:2
	flows: cur: 2, avg: 1, max: 2, life span: 1250ms
	overall avg: add rate: 0.000/min, del rate: 0.000/min
	br0: hit:9 missed:1
		br0 65534/100: (dummy)
		p2 2/2: (dummy)
		pbr0 1/none: (patch: peer=pbr1)
	br1: hit:4 missed:1
		br1 65534/101: (dummy)
		p3 3/3: (dummy)
		pbr1 1/none: (patch: peer=pbr0)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2196"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2210: ovs-appctl dpif/dump-flows br0 | sed 's/used:[0-9]\\.[0-9]*/used:0.0/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2210"
( $at_check_trace; ovs-appctl dpif/dump-flows br0 | sed 's/used:[0-9]\.[0-9]*/used:0.0/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority(0),in_port(100),eth_type(0x0800),ipv4(src=192.168.0.1/0.0.0.0,dst=192.168.0.2/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), packets:9, bytes:540, used:0.0s, actions:101,3,2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2210"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }
,
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2213: ovs-appctl dpif/dump-flows br1 | sed 's/used:[0-9]\\.[0-9]*/used:0.0/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2213"
( $at_check_trace; ovs-appctl dpif/dump-flows br1 | sed 's/used:[0-9]\.[0-9]*/used:0.0/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority(0),in_port(101),eth_type(0x0800),ipv4(src=192.168.0.2/0.0.0.0,dst=192.168.0.1/0.0.0.0,proto=1/0,tos=0/0,ttl=64/0,frag=no/0xff), packets:4, bytes:240, used:0.0s, actions:100,2,3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2213"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2217: ovs-ofctl dump-ports br0 pbr0"
at_fn_check_prepare_trace "ofproto-dpif.at:2217"
( $at_check_trace; ovs-ofctl dump-ports br0 pbr0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT reply (xid=0x4): 1 ports
  port  1: rx pkts=5, bytes=300, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=10, bytes=600, drop=0, errs=0, coll=0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2217"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2223: ovs-ofctl dump-ports br1 pbr1"
at_fn_check_prepare_trace "ofproto-dpif.at:2223"
( $at_check_trace; ovs-ofctl dump-ports br1 pbr1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT reply (xid=0x4): 1 ports
  port  1: rx pkts=10, bytes=600, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=5, bytes=300, drop=0, errs=0, coll=0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2223"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2229: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2229"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2229"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2229: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2229"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2229"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2229: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2229"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2229"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_651
#AT_START_652
at_fn_group_banner 652 'ofproto-dpif.at:2232' \
  "ofproto-dpif - ovs-appctl dpif/show rates" "      " 44
at_xfail=no
(
  $as_echo "652. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2233: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2233"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2233"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2233: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2233"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2233"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2233: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2233"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2233"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2233: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2233"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2233"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2233: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2233"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2233"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2233: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2233"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2233"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2233: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set Bridge br0 fail-mode=secure "
at_fn_check_prepare_trace "ofproto-dpif.at:2233"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set Bridge br0 fail-mode=secure
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2233"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2236: ovs-appctl time/stop"
at_fn_check_prepare_trace "ofproto-dpif.at:2236"
( $at_check_trace; ovs-appctl time/stop
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2236"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }
 { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2237: ovs-ofctl add-flow br0 actions=LOCAL,output:1,output:2"
at_fn_check_prepare_trace "ofproto-dpif.at:2237"
( $at_check_trace; ovs-ofctl add-flow br0 actions=LOCAL,output:1,output:2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


for i in $(seq 1 61); do
    ovs-appctl netdev-dummy/receive br0 'in_port(1),eth(src=50:54:00:00:00:05,dst=50:54:00:00:00:07),eth_type(0x0800),ipv4(src=192.168.0.1,dst=192.168.0.2,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
    ovs-appctl time/warp 10000
    ovs-appctl time/warp 50000
done

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2245: ovs-appctl time/warp 10000"
at_fn_check_prepare_trace "ofproto-dpif.at:2245"
( $at_check_trace; ovs-appctl time/warp 10000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "warped
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2245"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2248: ovs-appctl dpif/show | sed 's/ 10[0-9]\\{3\\}(ms)\$/ 10000(ms)/'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2248"
( $at_check_trace; ovs-appctl dpif/show | sed 's/ 10[0-9]\{3\}(ms)$/ 10000(ms)/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "dummy@ovs-dummy: hit:0 missed:61
	flows: cur: 0, avg: 0, max: 1, life span: 1666ms
	hourly avg: add rate: 0.641/min, del rate: 0.641/min
	overall avg: add rate: 1.000/min, del rate: 1.000/min
	br0: hit:0 missed:61
		br0 65534/100: (dummy)
		p1 1/1: (dummy)
		p2 2/2: (dummy)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2248"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2259: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2259"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2259"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2259: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2259"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2259"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2259: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2259"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2259"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_652
#AT_START_653
at_fn_group_banner 653 'ofproto-dpif.at:2262' \
  "ofproto-dpif - port duration" "                   " 44
at_xfail=no
(
  $as_echo "653. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2263: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2263"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2263"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2263: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2263"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2263"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2263: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2263"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2263"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2263: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2263"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2263"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2263: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2263"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2263"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2263: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2263"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2263"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2263: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set Bridge br0 protocols=OpenFlow13 "
at_fn_check_prepare_trace "ofproto-dpif.at:2263"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set Bridge br0 protocols=OpenFlow13
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2263"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2

ovs-appctl time/warp 10000

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2268: ovs-ofctl -O openflow13 dump-ports br0"
at_fn_check_prepare_trace "ofproto-dpif.at:2268"
( $at_check_trace; ovs-ofctl -O openflow13 dump-ports br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2268"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2269: sed 's/=[0-9][0-9]\\(\\.[0-9][0-9]*\\)\\{0,1\\}s/=?s/' stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:2269"
( $at_check_trace; sed 's/=[0-9][0-9]\(\.[0-9][0-9]*\)\{0,1\}s/=?s/' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OFPST_PORT reply (OF1.3) (xid=0x2): 3 ports
  port  1: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=0, bytes=0, drop=0, errs=0, coll=0
           duration=?s
  port  2: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=0, bytes=0, drop=0, errs=0, coll=0
           duration=?s
  port LOCAL: rx pkts=0, bytes=0, drop=0, errs=0, frame=0, over=0, crc=0
           tx pkts=0, bytes=0, drop=0, errs=0, coll=0
           duration=?s
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2269"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2282: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2282"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2282"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2282: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2282"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2282"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2282: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2282"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2282"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_653
#AT_START_654
at_fn_group_banner 654 'ofproto-dpif.at:2298' \
  "ofproto-dpif megaflow - port classification" "    " 45
at_xfail=no
(
  $as_echo "654. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2299: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2299"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2299"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2299: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2299"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2299"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2299: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2299"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2299"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2299: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2299"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2299"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2299: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2299"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2299"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2299: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2299"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2299"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2299: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2299"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2299"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
cat >flows.txt <<'_ATEOF'
table=0 in_port=1 actions=output(2)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2304: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:2304"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2304"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2305: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2305"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2305"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2306: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2306"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2306"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2307: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2307"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,ip,in_port=1,nw_frag=no, n_subfacets:2, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2307"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2310: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2310"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2310"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2310: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2310"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2310"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2310: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2310"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2310"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_654
#AT_START_655
at_fn_group_banner 655 'ofproto-dpif.at:2313' \
  "ofproto-dpif megaflow - L2 classification" "      " 45
at_xfail=no
(
  $as_echo "655. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2314: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2314"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2314"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2314: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2314"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2314"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2314: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2314"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2314"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2314: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2314"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2314: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2314"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2314: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2314"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2314: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2314"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2314"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
cat >flows.txt <<'_ATEOF'
table=0 in_port=1,dl_src=50:54:00:00:00:09 actions=output(2)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2319: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:2319"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2319"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2320: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2320"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2320"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2321: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2321"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2321"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2322: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2322"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,ip,in_port=1,dl_src=50:54:00:00:00:09,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,ip,in_port=1,dl_src=50:54:00:00:00:0b,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2322"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2326: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2326"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2326"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2326: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2326"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2326"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2326: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2326"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2326"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_655
#AT_START_656
at_fn_group_banner 656 'ofproto-dpif.at:2329' \
  "ofproto-dpif megaflow - L3 classification" "      " 45
at_xfail=no
(
  $as_echo "656. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2330: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2330"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2330"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2330: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2330"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2330"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2330: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2330"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2330"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2330: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2330"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2330"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2330: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2330"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2330"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2330: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2330"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2330"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2330: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2330"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2330"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
cat >flows.txt <<'_ATEOF'
table=0 in_port=1,icmp,nw_src=10.0.0.4 actions=output(2)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2335: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:2335"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2335"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2336: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2336"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2336"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2337: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2337"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2337"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2338: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2338"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,icmp,in_port=1,nw_src=10.0.0.2,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,icmp,in_port=1,nw_src=10.0.0.4,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2338"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2342: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2342"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2342"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2342: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2342"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2342"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2342: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2342"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2342"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_656
#AT_START_657
at_fn_group_banner 657 'ofproto-dpif.at:2345' \
  "ofproto-dpif megaflow - L4 classification" "      " 45
at_xfail=no
(
  $as_echo "657. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2346: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2346"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2346"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2346: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2346"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2346"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2346: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2346"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2346"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2346: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2346"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2346"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2346: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2346"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2346"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2346: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2346"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2346"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2346: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2346"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2346"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
cat >flows.txt <<'_ATEOF'
table=0 in_port=1,icmp,icmp_type=8 actions=output(2)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2351: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:2351"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2351"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2352: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2352"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2352"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2353: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2353"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2353"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2354: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2354"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,icmp,in_port=1,nw_frag=no,icmp_type=0x8/0xff, n_subfacets:2, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2354"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2357: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2357"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2357"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2357: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2357"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2357"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2357: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2357"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2357"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_657
#AT_START_658
at_fn_group_banner 658 'ofproto-dpif.at:2360' \
  "ofproto-dpif megaflow - normal" "                 " 45
at_xfail=no
(
  $as_echo "658. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2361: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2361"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2361"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2361: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2361"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2361"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2361: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2361"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2361"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2361: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2361"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2361: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2361"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2361: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2361"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2361: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2361"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2361"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2363: ovs-ofctl add-flow br0 action=normal"
at_fn_check_prepare_trace "ofproto-dpif.at:2363"
( $at_check_trace; ovs-ofctl add-flow br0 action=normal
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2363"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2364: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2364"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2364"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2365: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2365"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2365"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2366: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2366"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,ip,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:09,dl_dst=50:54:00:00:00:0a,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,ip,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:0b,dl_dst=50:54:00:00:00:0c,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2366"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2370: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2370"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2370"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2370: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2370"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2370"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2370: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2370"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2370"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_658
#AT_START_659
at_fn_group_banner 659 'ofproto-dpif.at:2373' \
  "ofproto-dpif megaflow - mpls" "                   " 45
at_xfail=no
(
  $as_echo "659. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2374: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2374"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2374"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2374: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2374"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2374"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2374: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2374"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2374"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2374: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2374"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2374"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2374: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2374"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2374"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2374: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2374"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2374"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2374: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2374"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2374"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
cat >flows.txt <<'_ATEOF'
table=0 dl_src=50:54:00:00:00:09 actions=push_mpls:0x8847,2
table=0 dl_src=50:54:00:00:00:0b actions=pop_mpls:0x0800,2
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2380: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:2380"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2380"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2381: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x8847),mpls(label=11,tc=3,ttl=64,bos=1)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2381"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x8847),mpls(label=11,tc=3,ttl=64,bos=1)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2381"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2382: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0a),eth_type(0x8847),mpls(label=11,tc=3,ttl=64,bos=1)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2382"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0a),eth_type(0x8847),mpls(label=11,tc=3,ttl=64,bos=1)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2382"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2383: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2383"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,mpls,in_port=1,dl_src=50:54:00:00:00:09,mpls_label=11,mpls_tc=3,mpls_ttl=64,mpls_bos=1,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,mpls,in_port=1,dl_src=50:54:00:00:00:0b,mpls_label=11,mpls_tc=3,mpls_ttl=64,mpls_bos=1,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2383"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2387: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2387"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2387"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2387: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2387"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2387"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2387: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2387"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2387"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_659
#AT_START_660
at_fn_group_banner 660 'ofproto-dpif.at:2390' \
  "ofproto-dpif megaflow - netflow" "                " 45
at_xfail=no
(
  $as_echo "660. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2391: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2391"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2391"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2391: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2391"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2391"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2391: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2391"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2391"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2391: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2391"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2391"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2391: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2391"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2391"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2391: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2391"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2391"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2391: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2391"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2391"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2

trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat test-netflow.pid`
EOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2396: test-netflow --log-file --detach --no-chdir --pidfile 0:127.0.0.1 > netflow.log"
at_fn_check_prepare_trace "ofproto-dpif.at:2396"
( $at_check_trace; test-netflow --log-file --detach --no-chdir --pidfile 0:127.0.0.1 > netflow.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2396"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


NETFLOW_PORT=`parse_listening_port < test-netflow.log`
ovs-vsctl \
   set Bridge br0 netflow=@nf -- \
   --id=@nf create NetFlow targets=\"127.0.0.1:$NETFLOW_PORT\" \
     engine_id=1 engine_type=2 active_timeout=30 add-id-to-interface=false

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2404: ovs-ofctl add-flow br0 action=normal"
at_fn_check_prepare_trace "ofproto-dpif.at:2404"
( $at_check_trace; ovs-ofctl add-flow br0 action=normal
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2404"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2405: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2405"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2405"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2406: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2406"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2406"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2407: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2407"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,icmp,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:09,dl_dst=50:54:00:00:00:0a,nw_src=10.0.0.2,nw_dst=10.0.0.1,nw_tos=0,nw_frag=no,icmp_type=0x8/0xff,icmp_code=0x0/0xff, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,icmp,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:0b,dl_dst=50:54:00:00:00:0c,nw_src=10.0.0.4,nw_dst=10.0.0.3,nw_tos=0,nw_frag=no,icmp_type=0x8/0xff,icmp_code=0x0/0xff, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2407"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2411: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2411"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2411"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2411: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2411"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2411"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2411: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2411"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2411"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log" \
"netflow.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_660
#AT_START_661
at_fn_group_banner 661 'ofproto-dpif.at:2414' \
  "ofproto-dpif megaflow - normal, active-backup bonding" "" 45
at_xfail=no
(
  $as_echo "661. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2415: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2415"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2415"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2415: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2415"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2415"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2415: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2415"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2415"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2415: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2415"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2415"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2415: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2415"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2415"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2415: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2415"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2415"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2415: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 -- \\
   add-bond br0 bond0 p2 p3 bond_mode=active-backup -- \\
   set interface p2 type=dummy ofport_request=2 -- \\
   set interface p3 type=dummy ofport_request=3 "
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2415"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 -- \
   add-bond br0 bond0 p2 p3 bond_mode=active-backup -- \
   set interface p2 type=dummy ofport_request=2 -- \
   set interface p3 type=dummy ofport_request=3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2415"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2420: ovs-appctl netdev-dummy/set-admin-state up"
at_fn_check_prepare_trace "ofproto-dpif.at:2420"
( $at_check_trace; ovs-appctl netdev-dummy/set-admin-state up
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2420"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2423: ovs-ofctl add-flow br0 action=normal"
at_fn_check_prepare_trace "ofproto-dpif.at:2423"
( $at_check_trace; ovs-ofctl add-flow br0 action=normal
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2423"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2424: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2424"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2424"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2425: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2425"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2425"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2426: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2426"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,ip,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:09,dl_dst=50:54:00:00:00:0a,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,ip,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:0b,dl_dst=50:54:00:00:00:0c,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2426"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2430: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2430"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2430"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2430: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2430"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2430"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2430: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2430"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2430"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_661
#AT_START_662
at_fn_group_banner 662 'ofproto-dpif.at:2433' \
  "ofproto-dpif megaflow - normal, balance-slb bonding" "" 45
at_xfail=no
(
  $as_echo "662. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2434: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2434"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2434"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2434: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2434"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2434"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2434: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2434"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2434"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2434: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2434"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2434"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2434: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2434"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2434"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2434: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2434"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2434"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2434: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 -- \\
   add-bond br0 bond0 p2 p3 bond_mode=balance-slb -- \\
   set interface p2 type=dummy ofport_request=2 -- \\
   set interface p3 type=dummy ofport_request=3 "
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2434"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 -- \
   add-bond br0 bond0 p2 p3 bond_mode=balance-slb -- \
   set interface p2 type=dummy ofport_request=2 -- \
   set interface p3 type=dummy ofport_request=3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2434"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2439: ovs-appctl netdev-dummy/set-admin-state up"
at_fn_check_prepare_trace "ofproto-dpif.at:2439"
( $at_check_trace; ovs-appctl netdev-dummy/set-admin-state up
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2439"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2442: ovs-ofctl add-flow br0 action=normal"
at_fn_check_prepare_trace "ofproto-dpif.at:2442"
( $at_check_trace; ovs-ofctl add-flow br0 action=normal
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2442"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2443: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2443"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2443"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2444: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2444"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2444"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2445: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2445"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,ip,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:09,dl_dst=50:54:00:00:00:0a,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,ip,in_port=1,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:0b,dl_dst=50:54:00:00:00:0c,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2445"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2449: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2449"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2449"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2449: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2449"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2449"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2449: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2449"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2449"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_662
#AT_START_663
at_fn_group_banner 663 'ofproto-dpif.at:2452' \
  "ofproto-dpif megaflow - normal, balance-tcp bonding" "" 45
at_xfail=no
(
  $as_echo "663. $at_setup_line: testing $at_desc ..."
  $at_traceon

# Create bond0 on br0 with interfaces p0 and p1
#    and bond1 on br1 with interfaces p2 and p3
# with p0 patched to p2 and p1 patched to p3.
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2456: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2456"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2456"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2456: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2456"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2456"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2456: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2456"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2456"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2456: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2456"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2456"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2456: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2456"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2456"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2456: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2456"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2456"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2456: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-bond br0 bond0 p0 p1 bond_mode=balance-tcp lacp=active \\
                            other-config:lacp-time=fast \\
                            other-config:bond-rebalance-interval=0 -- \\
   set interface p0 type=patch options:peer=p2 ofport_request=1 -- \\
   set interface p1 type=patch options:peer=p3 ofport_request=2 -- \\
   add-br br1 -- \\
   set bridge br1 other-config:hwaddr=aa:66:aa:66:00:00 -- \\
   set bridge br1 datapath-type=dummy other-config:datapath-id=1234 \\
                  fail-mode=secure -- \\
   add-bond br1 bond1 p2 p3 bond_mode=balance-tcp lacp=active \\
                            other-config:lacp-time=fast \\
                            other-config:bond-rebalance-interval=0 -- \\
   set interface p2 type=patch options:peer=p0 ofport_request=3 -- \\
   set interface p3 type=patch options:peer=p1 ofport_request=4 -- "
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2456"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-bond br0 bond0 p0 p1 bond_mode=balance-tcp lacp=active \
                            other-config:lacp-time=fast \
                            other-config:bond-rebalance-interval=0 -- \
   set interface p0 type=patch options:peer=p2 ofport_request=1 -- \
   set interface p1 type=patch options:peer=p3 ofport_request=2 -- \
   add-br br1 -- \
   set bridge br1 other-config:hwaddr=aa:66:aa:66:00:00 -- \
   set bridge br1 datapath-type=dummy other-config:datapath-id=1234 \
                  fail-mode=secure -- \
   add-bond br1 bond1 p2 p3 bond_mode=balance-tcp lacp=active \
                            other-config:lacp-time=fast \
                            other-config:bond-rebalance-interval=0 -- \
   set interface p2 type=patch options:peer=p0 ofport_request=3 -- \
   set interface p3 type=patch options:peer=p1 ofport_request=4 --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2456"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2472: ovs-appctl netdev-dummy/set-admin-state up"
at_fn_check_prepare_trace "ofproto-dpif.at:2472"
( $at_check_trace; ovs-appctl netdev-dummy/set-admin-state up
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2472"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

ovs-vsctl  \
    -- add-port br0 p7 -- set Interface p7 type=dummy ofport_request=7
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2475: ovs-ofctl add-flow br0 action=normal"
at_fn_check_prepare_trace "ofproto-dpif.at:2475"
( $at_check_trace; ovs-ofctl add-flow br0 action=normal
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2475"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2476: ovs-ofctl add-flow br1 action=normal"
at_fn_check_prepare_trace "ofproto-dpif.at:2476"
( $at_check_trace; ovs-ofctl add-flow br1 action=normal
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2476"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

ovs-appctl time/warp 5000
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2478: ovs-appctl netdev-dummy/receive p7 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2478"
( $at_check_trace; ovs-appctl netdev-dummy/receive p7 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2478"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2479: ovs-appctl netdev-dummy/receive p7 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2479"
( $at_check_trace; ovs-appctl netdev-dummy/receive p7 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2479"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2481: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2481"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,icmp,in_port=7,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:09,dl_dst=50:54:00:00:00:0a,nw_src=10.0.0.2,nw_dst=10.0.0.1,nw_frag=no,icmp_type=0x8/0xff,icmp_code=0x0/0xff, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,icmp,in_port=7,vlan_tci=0x0000/0x1fff,dl_src=50:54:00:00:00:0b,dl_dst=50:54:00:00:00:0c,nw_src=10.0.0.4,nw_dst=10.0.0.3,nw_frag=no,icmp_type=0x8/0xff,icmp_code=0x0/0xff, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2481"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2485: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2485"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2485"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2485: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2485"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2485"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2485: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2485"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2485"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_663
#AT_START_664
at_fn_group_banner 664 'ofproto-dpif.at:2488' \
  "ofproto-dpif megaflow - resubmit port action" "   " 45
at_xfail=no
(
  $as_echo "664. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2489: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2489"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2489"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2489: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2489"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2489"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2489: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2489"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2489"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2489: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2489"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2489: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2489"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2489: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2489"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2489: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2489"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2489"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
cat >flows.txt <<'_ATEOF'
table=0 in_port=1,ip actions=resubmit(90)
table=0 in_port=90,dl_src=50:54:00:00:00:09 actions=output(2)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2495: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:2495"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2495"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2496: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2496"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2496"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2497: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2497"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2497"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2498: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2498"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,ip,in_port=1,dl_src=50:54:00:00:00:09,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,ip,in_port=1,dl_src=50:54:00:00:00:0b,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2498"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2502: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2502"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2502"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2502: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2502"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2502"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2502: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2502"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2502"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_664
#AT_START_665
at_fn_group_banner 665 'ofproto-dpif.at:2505' \
  "ofproto-dpif megaflow - resubmit table action" "  " 45
at_xfail=no
(
  $as_echo "665. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2506: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2506"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2506"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2506: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2506"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2506"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2506: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2506"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2506"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2506: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2506"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2506"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2506: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2506"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2506"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2506: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2506"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2506"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2506: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2506"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2506"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
cat >flows.txt <<'_ATEOF'
table=0 in_port=1,ip actions=resubmit(,1)
table=1 dl_src=50:54:00:00:00:09 actions=output(2)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2512: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:2512"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2512"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2513: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2513"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2513"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2514: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=
1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2514"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=
1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2514"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2516: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2516"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,ip,in_port=1,dl_src=50:54:00:00:00:09,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,ip,in_port=1,dl_src=50:54:00:00:00:0b,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2516"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2520: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2520"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2520"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2520: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2520"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2520"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2520: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2520"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2520"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_665
#AT_START_666
at_fn_group_banner 666 'ofproto-dpif.at:2523' \
  "ofproto-dpif megaflow - goto_table action" "      " 45
at_xfail=no
(
  $as_echo "666. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2524: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2524"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2524"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2524: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2524"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2524"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2524: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2524"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2524"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2524: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2524"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2524"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2524: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2524"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2524"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2524: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2524"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2524"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2524: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2524"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2524"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
cat >flows.txt <<'_ATEOF'
table=0 in_port=1,ip actions=goto_table(1)
table=1 dl_src=50:54:00:00:00:09 actions=output(2)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2530: ovs-ofctl -O OpenFlow12 add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:2530"
( $at_check_trace; ovs-ofctl -O OpenFlow12 add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2530"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2531: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2531"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2531"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2532: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2532"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2532"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2533: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2533"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,ip,in_port=1,dl_src=50:54:00:00:00:09,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,ip,in_port=1,dl_src=50:54:00:00:00:0b,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2533"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2537: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2537"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2537"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2537: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2537"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2537"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2537: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2537"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2537"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_666
#AT_START_667
at_fn_group_banner 667 'ofproto-dpif.at:2540' \
  "ofproto-dpif megaflow - mirroring, select_all" "  " 45
at_xfail=no
(
  $as_echo "667. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2541: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2541"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2541"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2541: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2541"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2541"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2541: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2541"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2541"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2541: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2541"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2541"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2541: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2541"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2541"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2541: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2541"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2541"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2541: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2541"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2541"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3
ovs-vsctl \
        set Bridge br0 mirrors=@m --\
        --id=@p3 get Port p3 --\
        --id=@m create Mirror name=mymirror select_all=true output_port=@p3

cat >flows.txt <<'_ATEOF'
in_port=1 actions=output:2
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2551: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:2551"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2551"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2552: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2552"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2552"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2553: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2553"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2553"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2554: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2554"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,ip,in_port=1,nw_frag=no, n_subfacets:2, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2554"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2557: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2557"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2557"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2557: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2557"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2557"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2557: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2557"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2557"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_667
#AT_START_668
at_fn_group_banner 668 'ofproto-dpif.at:2560' \
  "ofproto-dpif megaflow - mirroring, select_vlan" " " 45
at_xfail=no
(
  $as_echo "668. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2561: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2561"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2561"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2561: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2561"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2561"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2561: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2561"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2561"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2561: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2561"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2561"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2561: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2561"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2561"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2561: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2561"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2561"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2561: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2561"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2561"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3
ovs-vsctl \
        set Bridge br0 mirrors=@m --\
        --id=@p2 get Port p2 -- --id=@p3 get Port p3 --\
        --id=@m create Mirror name=mymirror select_all=true select_vlan=11 output_port=@p3

cat >flows.txt <<'_ATEOF'
in_port=1 actions=output:2
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2571: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:2571"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2571"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2572: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x8100),vlan(vid=11,pcp=7),encap(eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0))'"
at_fn_check_prepare_trace "ofproto-dpif.at:2572"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x8100),vlan(vid=11,pcp=7),encap(eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0))'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2572"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2573: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2573"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2573"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2574: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2574"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,ip,in_port=1,dl_vlan=11,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,ip,in_port=1,vlan_tci=0x0000/0x1fff,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2574"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2578: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2578"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2578"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2578: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2578"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2578"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2578: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2578"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2578"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_668
#AT_START_669
at_fn_group_banner 669 'ofproto-dpif.at:2581' \
  "ofproto-dpif megaflow - move action" "            " 45
at_xfail=no
(
  $as_echo "669. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2582: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2582"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2582"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2582: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2582"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2582"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2582: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2582"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2582"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2582: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2582"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2582"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2582: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2582"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2582"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2582: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2582"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2582"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2582: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2582"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2582"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
cat >flows.txt <<'_ATEOF'
table=0 in_port=1 ip,actions=move:NXM_OF_IP_SRC[]->NXM_NX_REG0[],resubmit(90)
table=0 in_port=90 ip,actions=move:NXM_NX_REG0[]->NXM_NX_REG1[],resubmit(91)
table=0 in_port=91 reg0=0x0a000002,actions=output(2)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2589: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:2589"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2589"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2590: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2590"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2590"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2591: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2591"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2591"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2592: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2592"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,ip,in_port=1,nw_src=10.0.0.2,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,ip,in_port=1,nw_src=10.0.0.4,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2592"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2596: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2596"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2596"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2596: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2596"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2596"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2596: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2596"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2596"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_669
#AT_START_670
at_fn_group_banner 670 'ofproto-dpif.at:2599' \
  "ofproto-dpif megaflow - push action" "            " 45
at_xfail=no
(
  $as_echo "670. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2600: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2600"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2600"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2600: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2600"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2600"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2600: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2600"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2600"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2600: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2600"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2600"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2600: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2600"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2600"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2600: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2600"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2600"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2600: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2600"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2600"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
cat >flows.txt <<'_ATEOF'
table=0 in_port=1 ip,actions=push:NXM_OF_IP_SRC[],output(2)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2605: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:2605"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2605"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2606: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2606"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2606"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2607: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2607"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2607"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2608: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2608"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,ip,in_port=1,nw_src=10.0.0.2,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,ip,in_port=1,nw_src=10.0.0.4,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2608"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2612: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2612"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2612"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2612: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2612"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2612"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2612: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2612"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2612"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_670
#AT_START_671
at_fn_group_banner 671 'ofproto-dpif.at:2615' \
  "ofproto-dpif megaflow - learning" "               " 45
at_xfail=no
(
  $as_echo "671. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2616: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2616"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2616"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2616: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2616"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2616"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2616: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2616"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2616"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2616: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2616"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2616"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2616: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2616"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2616"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2616: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2616"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2616"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2616: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2616"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2616"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
cat >flows.txt <<'_ATEOF'
table=0 in_port=1 actions=load:2->NXM_NX_REG0[0..15],learn(table=1,priority=65535,NXM_OF_ETH_SRC[],NXM_OF_VLAN_TCI[0..11],output:NXM_NX_REG0[0..15]),output:2
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2621: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:2621"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2621"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# We send each packet twice because the first packet in each flow causes the
# flow table to change and thus revalidations, which (depending on timing)
# can keep a megaflow from being installed.  The revalidations are done by
# the second iteration, allowing the flows to be installed.
for i in 1 2; do
    { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2627: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2627"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2627"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2628: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2628"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2628"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    ovs-appctl time/warp 100
done
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2632: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2632"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,ip,in_port=1,vlan_tci=0x0000/0x0fff,dl_src=50:54:00:00:00:09,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,ip,in_port=1,vlan_tci=0x0000/0x0fff,dl_src=50:54:00:00:00:0b,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2632"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2636: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2636"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2636: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2636"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2636: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2636"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2636"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_671
#AT_START_672
at_fn_group_banner 672 'ofproto-dpif.at:2639' \
  "ofproto-dpif megaflow - tunnels" "                " 45
at_xfail=no
(
  $as_echo "672. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2640: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2640"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2640"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2640: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2640"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2640"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2640: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2640"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2640"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2640: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2640"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2640"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2640: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2640"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2640"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2640: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2640"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2640"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2640: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \\
     ofport_request=1 -- \\
   add-port br0 p2 -- set Interface p2 type=gre options:remote_ip=1.1.1.1 \\
     ofport_request=2 options:key=flow -- \\
   add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3 \\
     ofport_request=3 -- \\
   add-port br0 p4 -- set Interface p4 type=gre options:remote_ip=1.1.1.2 \\
     options:tos=inherit options:ttl=inherit ofport_request=4 options:key=flow "
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2640"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
     ofport_request=1 -- \
   add-port br0 p2 -- set Interface p2 type=gre options:remote_ip=1.1.1.1 \
     ofport_request=2 options:key=flow -- \
   add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3 \
     ofport_request=3 -- \
   add-port br0 p4 -- set Interface p4 type=gre options:remote_ip=1.1.1.2 \
     options:tos=inherit options:ttl=inherit ofport_request=4 options:key=flow
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2640"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


cat >flows.txt <<'_ATEOF'
in_port=1,actions=output(2)
in_port=3,actions=output(4)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2653: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:2653"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2653"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2656: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0xfd,ttl=128,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2656"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0xfd,ttl=128,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2656"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2657: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0x1,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2657"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0x1,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2657"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2658: ovs-appctl netdev-dummy/receive p3 'in_port(3),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0xfd,ttl=128,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2658"
( $at_check_trace; ovs-appctl netdev-dummy/receive p3 'in_port(3),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0xfd,ttl=128,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2658"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2659: ovs-appctl netdev-dummy/receive p3 'in_port(3),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0x1,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2659"
( $at_check_trace; ovs-appctl netdev-dummy/receive p3 'in_port(3),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0x1,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2659"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2660: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2660"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,ip,in_port=1,nw_ecn=1,nw_frag=no, n_subfacets:2, used:0.0s, Datapath actions: <del>
skb_priority=0,ip,in_port=3,nw_tos=0,nw_ecn=1,nw_ttl=64,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,ip,in_port=3,nw_tos=252,nw_ecn=1,nw_ttl=128,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2660"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2665: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2665"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2665"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2665: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2665"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2665"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2665: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2665"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2665"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_672
#AT_START_673
at_fn_group_banner 673 'ofproto-dpif.at:2668' \
  "ofproto-dpif megaflow - dec_ttl" "                " 45
at_xfail=no
(
  $as_echo "673. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2669: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2669"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2669"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2669: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2669"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2669"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2669: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2669"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2669"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2669: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2669"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2669"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2669: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2669"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2669"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2669: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2669"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2669"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2669: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2669"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2669"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
cat >flows.txt <<'_ATEOF'
table=0 in_port=1,icmp,nw_src=10.0.0.4 actions=dec_ttl,output(2)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2674: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:2674"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2674"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2675: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2675"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2675"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2676: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2676"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2676"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2677: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2677"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
    s/Datapath actions:.*/Datapath actions: <del>/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,icmp,in_port=1,nw_src=10.0.0.2,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: <del>
skb_priority=0,icmp,in_port=1,nw_src=10.0.0.4,nw_dst=10.0.0.3,nw_tos=0,nw_ecn=0,nw_ttl=64, n_subfacets:1, used:0.0s, Datapath actions: <del>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2677"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2681: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2681"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2681"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2681: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2681"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2681"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2681: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2681"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2681"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_673
#AT_START_674
at_fn_group_banner 674 'ofproto-dpif.at:2684' \
  "ofproto-dpif megaflow - set dl_dst" "             " 45
at_xfail=no
(
  $as_echo "674. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2685: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2685"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2685"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2685: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2685"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2685"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2685: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2685"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2685"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2685: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2685"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2685"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2685: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2685"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2685"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2685: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2685"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2685"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2685: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ofproto-dpif.at:2685"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2685"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2
cat >flows.txt <<'_ATEOF'
table=0 in_port=1 actions=mod_dl_dst(50:54:00:00:00:0a),output(2)
_ATEOF

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2690: ovs-ofctl add-flows br0 flows.txt"
at_fn_check_prepare_trace "ofproto-dpif.at:2690"
( $at_check_trace; ovs-ofctl add-flows br0 flows.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2690"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2691: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2691"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:09,dst=50:54:00:00:00:0a),eth_type(0x0800),ipv4(src=10.0.0.2,dst=10.0.0.1,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2691"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2692: ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'"
at_fn_check_prepare_trace "ofproto-dpif.at:2692"
( $at_check_trace; ovs-appctl netdev-dummy/receive p1 'in_port(1),eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0c),eth_type(0x0800),ipv4(src=10.0.0.4,dst=10.0.0.3,proto=1,tos=0,ttl=64,frag=no),icmp(type=8,code=0)'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2692"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2703: ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\\.[0-9]*/used:0.0/
' | sort"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2703"
( $at_check_trace; ovs-appctl dpif/dump-megaflows br0 | sed '
    s/used:[0-9]*\.[0-9]*/used:0.0/
' | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "skb_priority=0,ip,in_port=1,dl_dst=50:54:00:00:00:0a,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: 2
skb_priority=0,ip,in_port=1,dl_src=50:54:00:00:00:0b,dl_dst=50:54:00:00:00:0c,nw_frag=no, n_subfacets:1, used:0.0s, Datapath actions: set(eth(src=50:54:00:00:00:0b,dst=50:54:00:00:00:0a)),2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2703"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2707: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2707"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2707"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2707: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2707"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2707"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2707: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2707"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2707"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_674
#AT_START_675
at_fn_group_banner 675 'ofproto-dpif.at:2710' \
  "ofproto-dpif - datapath port number change" "     " 45
at_xfail=no
(
  $as_echo "675. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2711: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2711"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2711"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2711: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2711"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2711"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2711: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2711"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2711"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2711: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2711"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2711: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2711"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2711: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2711"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2711: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set Bridge br0 fail-mode=standalone "
at_fn_check_prepare_trace "ofproto-dpif.at:2711"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- set Bridge br0 fail-mode=standalone
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2711"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1

# Trace a flow that should output to p1.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2715: ovs-appctl ofproto/trace br0 in_port=LOCAL,dl_src=10:20:30:40:50:60"
at_fn_check_prepare_trace "ofproto-dpif.at:2715"
( $at_check_trace; ovs-appctl ofproto/trace br0 in_port=LOCAL,dl_src=10:20:30:40:50:60
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2715"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2717: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:2717"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2717"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Change p1's port number to 5.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2721: ovs-appctl dpif-dummy/change-port-number ovs-dummy p1 5"
at_fn_check_prepare_trace "ofproto-dpif.at:2721"
( $at_check_trace; ovs-appctl dpif-dummy/change-port-number ovs-dummy p1 5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2721"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# Trace a flow that should output to p1 in its new location.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2724: ovs-appctl ofproto/trace br0 in_port=LOCAL,dl_src=10:20:30:40:50:60"
at_fn_check_prepare_trace "ofproto-dpif.at:2724"
( $at_check_trace; ovs-appctl ofproto/trace br0 in_port=LOCAL,dl_src=10:20:30:40:50:60
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2724"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2726: tail -1 stdout"
at_fn_check_prepare_trace "ofproto-dpif.at:2726"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: 5
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2726"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2728: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2728"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2728"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2728: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2728"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2728"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2728: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2728"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2728"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_675
#AT_START_676
at_fn_group_banner 676 'ofproto-dpif.at:2732' \
  "ofproto - bundle with variable bfd/cfm config" "  " 45
at_xfail=no
(
  $as_echo "676. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2733: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ofproto-dpif.at:2733"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2733"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2733: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ofproto-dpif.at:2733"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2733"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2733: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2733"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2733"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2733: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ofproto-dpif.at:2733"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2733"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2733: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ofproto-dpif.at:2733"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2733"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2733: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2733"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2733"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2733: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- set bridge br1 datapath-type=dummy -- \\
                    add-bond br0 br0bond p0 p2 bond-mode=active-backup -- \\
                    add-bond br1 br1bond p1 p3 bond-mode=active-backup -- \\
                    set Interface p1 type=patch options:peer=p0 ofport_request=2 -- \\
                    set Interface p3 type=patch options:peer=p2 ofport_request=4 -- \\
                    set Interface p0 type=patch options:peer=p1 ofport_request=1 -- \\
                    set Interface p2 type=patch options:peer=p3 ofport_request=3 -- \\
                    set Interface p0 bfd:enable=true bfd:min_tx=300 bfd:min_rx=300 -- \\
                    set Interface p0 cfm_mpid=1 -- \\
                    set Interface p1 bfd:enable=true bfd:min_tx=500 bfd:min_rx=500 "
at_fn_check_prepare_notrace 'an embedded newline' "ofproto-dpif.at:2733"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-br br1 -- set bridge br1 datapath-type=dummy -- \
                    add-bond br0 br0bond p0 p2 bond-mode=active-backup -- \
                    add-bond br1 br1bond p1 p3 bond-mode=active-backup -- \
                    set Interface p1 type=patch options:peer=p0 ofport_request=2 -- \
                    set Interface p3 type=patch options:peer=p2 ofport_request=4 -- \
                    set Interface p0 type=patch options:peer=p1 ofport_request=1 -- \
                    set Interface p2 type=patch options:peer=p3 ofport_request=3 -- \
                    set Interface p0 bfd:enable=true bfd:min_tx=300 bfd:min_rx=300 -- \
                    set Interface p0 cfm_mpid=1 -- \
                    set Interface p1 bfd:enable=true bfd:min_tx=500 bfd:min_rx=500
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2733"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



ovs-appctl time/stop
# advance the clock to stablize everything.
for i in `seq 0 49`; do ovs-appctl time/warp 100; done
# cfm/show should show 'recv' fault.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2748: ovs-appctl cfm/show | sed -n '/^.*fault:.*/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2748"
( $at_check_trace; ovs-appctl cfm/show | sed -n '/^.*fault:.*/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	fault: recv
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2748"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# bfd/show should show 'up'.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2752: ovs-appctl bfd/show | sed -n '/^.*Session State:.*/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2752"
( $at_check_trace; ovs-appctl bfd/show | sed -n '/^.*Session State:.*/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Local Session State: up
	Remote Session State: up
	Local Session State: up
	Remote Session State: up
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2752"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# bond/show should show 'may-enable: true' for all slaves.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2759: ovs-appctl bond/show | sed -n '/^.*may_enable:.*/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2759"
( $at_check_trace; ovs-appctl bond/show | sed -n '/^.*may_enable:.*/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	may_enable: true
	may_enable: true
	may_enable: true
	may_enable: true
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2759"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# now disable the bfd on p1.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2767: ovs-vsctl set Interface p1 bfd:enable=false"
at_fn_check_prepare_trace "ofproto-dpif.at:2767"
( $at_check_trace; ovs-vsctl set Interface p1 bfd:enable=false
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2767"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# advance the clock to stablize everything.
for i in `seq 0 49`; do ovs-appctl time/warp 100; done
# cfm/show should show 'recv' fault.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2771: ovs-appctl cfm/show | sed -n '/^.*fault:.*/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2771"
( $at_check_trace; ovs-appctl cfm/show | sed -n '/^.*fault:.*/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	fault: recv
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2771"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# bfd/show should show 'down'.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2775: ovs-appctl bfd/show | sed -n '/^.*Session State:.*/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2775"
( $at_check_trace; ovs-appctl bfd/show | sed -n '/^.*Session State:.*/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Local Session State: down
	Remote Session State: down
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2775"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# bond/show should show 'may-enable: false' for p0.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2780: ovs-appctl bond/show | sed -n '/^.*may_enable:.*/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2780"
( $at_check_trace; ovs-appctl bond/show | sed -n '/^.*may_enable:.*/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	may_enable: false
	may_enable: true
	may_enable: true
	may_enable: true
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2780"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


# now enable the bfd on p1 and disable bfd on p0.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2788: ovs-vsctl set Interface p1 bfd:enable=true"
at_fn_check_prepare_trace "ofproto-dpif.at:2788"
( $at_check_trace; ovs-vsctl set Interface p1 bfd:enable=true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2788"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2789: ovs-vsctl set Interface p0 bfd:enable=false"
at_fn_check_prepare_trace "ofproto-dpif.at:2789"
( $at_check_trace; ovs-vsctl set Interface p0 bfd:enable=false
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2789"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# advance the clock to stablize everything.
for i in `seq 0 49`; do ovs-appctl time/warp 100; done
# cfm/show should show 'recv' fault.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2793: ovs-appctl cfm/show | sed -n '/^.*fault:.*/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2793"
( $at_check_trace; ovs-appctl cfm/show | sed -n '/^.*fault:.*/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	fault: recv
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2793"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# bfd/show should show 'down'.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2797: ovs-appctl bfd/show | sed -n '/^.*Session State:.*/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2797"
( $at_check_trace; ovs-appctl bfd/show | sed -n '/^.*Session State:.*/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	Local Session State: down
	Remote Session State: down
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2797"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# bond/show should show 'may-enable: false' for p0 and p1.
{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2802: ovs-appctl bond/show | sed -n '/^.*may_enable:.*/p'"
at_fn_check_prepare_notrace 'a shell pipeline' "ofproto-dpif.at:2802"
( $at_check_trace; ovs-appctl bond/show | sed -n '/^.*may_enable:.*/p'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "	may_enable: false
	may_enable: true
	may_enable: false
	may_enable: true
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2802"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2809: check_logs "
at_fn_check_prepare_trace "ofproto-dpif.at:2809"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2809"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2809: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2809"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2809"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ofproto-dpif.at:2809: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ofproto-dpif.at:2809"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ofproto-dpif.at:2809"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_676
#AT_START_677
at_fn_group_banner 677 'vlan-splinters.at:3' \
  "VLAN splinters" "                                 " 46
at_xfail=no
(
  $as_echo "677. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/vlan-splinters.at:4: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "vlan-splinters.at:4"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlan-splinters.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/vlan-splinters.at:4: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "vlan-splinters.at:4"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlan-splinters.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/vlan-splinters.at:4: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "vlan-splinters.at:4"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlan-splinters.at:4"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/vlan-splinters.at:4: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "vlan-splinters.at:4"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlan-splinters.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/vlan-splinters.at:4: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy=override --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "vlan-splinters.at:4"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy=override --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlan-splinters.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/vlan-splinters.at:4: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "vlan-splinters.at:4"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlan-splinters.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/vlan-splinters.at:4: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "vlan-splinters.at:4"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlan-splinters.at:4"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-vsctl  \
    -- add-port br0 p1 -- set Interface p1 type=dummy ofport_request=1 \
    -- add-port br0 p2 -- set Interface p2 type=dummy ofport_request=2 \
    -- add-port br0 p3 -- set Interface p3 type=dummy ofport_request=3 \
    -- add-port br0 p4 -- set Interface p4 type=dummy ofport_request=4
{ set +x
$as_echo "$at_srcdir/vlan-splinters.at:6: ovs-vsctl \\
  -- set Bridge br0 fail-mode=standalone flood_vlans=0,9,11,15 \\
  -- set port br0 tag=0 \\
  -- set port p1 trunks=0,9,11,15 \\
  -- set interface p1 other-config:enable-vlan-splinters=true \\
  -- set port p2 tag=9 \\
  -- set port p3 tag=11 \\
  -- set port p4 tag=15"
at_fn_check_prepare_notrace 'an embedded newline' "vlan-splinters.at:6"
( $at_check_trace; ovs-vsctl \
  -- set Bridge br0 fail-mode=standalone flood_vlans=0,9,11,15 \
  -- set port br0 tag=0 \
  -- set port p1 trunks=0,9,11,15 \
  -- set interface p1 other-config:enable-vlan-splinters=true \
  -- set port p2 tag=9 \
  -- set port p3 tag=11 \
  -- set port p4 tag=15
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlan-splinters.at:6"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


ovs-appctl dpif/show | sed -n '
s/\./_/g
s/^[ 	]*\([^ 	][^ 	]*\) [0-9]*\/\([0-9]*\).*/\1=\2/p
' > port-numbers
cat port-numbers
. ./port-numbers

for args in '9 p2' '11 p3' '15 p4'; do
    set $args
    vlan=$1
    eval access_port=\$$2
    eval splinter_port=\$p1_$vlan

    # Check that when a packet is received on $splinter_port, it is
    # treated as if it had been received on p1 in the correct VLAN.
    { set +x
$as_echo "$at_srcdir/vlan-splinters.at:30: ovs-appctl ofproto/trace ovs-dummy \"in_port(\$splinter_port)\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"in_port($splinter_port)\"" "vlan-splinters.at:30"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "in_port($splinter_port)"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/vlan-splinters.at:30"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/vlan-splinters.at:32: sed -n '/^Flow/p; /^Datapath/p' stdout"
at_fn_check_prepare_trace "vlan-splinters.at:32"
( $at_check_trace; sed -n '/^Flow/p; /^Datapath/p' stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Flow: metadata=0,in_port=$p1,dl_vlan=$vlan,dl_vlan_pcp=0,dl_src=00:00:00:00:00:00,dl_dst=00:00:00:00:00:00,dl_type=0x05ff
Datapath actions: $access_port
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlan-splinters.at:32"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


    # Check that when an OpenFlow action sends a packet to p1 on
    # splintered VLAN $vlan, it is actually output to $splinter_port.
    { set +x
$as_echo "$at_srcdir/vlan-splinters.at:39: ovs-appctl ofproto/trace ovs-dummy \"in_port(\$access_port)\""
at_fn_check_prepare_dynamic "ovs-appctl ofproto/trace ovs-dummy \"in_port($access_port)\"" "vlan-splinters.at:39"
( $at_check_trace; ovs-appctl ofproto/trace ovs-dummy "in_port($access_port)"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/vlan-splinters.at:39"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

    { set +x
$as_echo "$at_srcdir/vlan-splinters.at:41: tail -1 stdout"
at_fn_check_prepare_trace "vlan-splinters.at:41"
( $at_check_trace; tail -1 stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Datapath actions: $splinter_port
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlan-splinters.at:41"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

done

{ set +x
$as_echo "$at_srcdir/vlan-splinters.at:45: check_logs "
at_fn_check_prepare_trace "vlan-splinters.at:45"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlan-splinters.at:45"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/vlan-splinters.at:45: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "vlan-splinters.at:45"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlan-splinters.at:45"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/vlan-splinters.at:45: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "vlan-splinters.at:45"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlan-splinters.at:45"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_677
#AT_START_678
at_fn_group_banner 678 'ovsdb-log.at:3' \
  "create empty, reread" "                           " 47
at_xfail=no
(
  $as_echo "678. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:6: test-ovsdb log-io file create"
at_fn_check_prepare_trace "ovsdb-log.at:6"
( $at_check_trace; test-ovsdb log-io file create
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:6"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:10: test-ovsdb log-io file read-only read"
at_fn_check_prepare_trace "ovsdb-log.at:10"
( $at_check_trace; test-ovsdb log-io file read-only read
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: end of log
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:10"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:15: test -f .file.~lock~"
at_fn_check_prepare_trace "ovsdb-log.at:15"
( $at_check_trace; test -f .file.~lock~
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:15"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_678
#AT_START_679
at_fn_group_banner 679 'ovsdb-log.at:18' \
  "write one, reread" "                              " 47
at_xfail=no
(
  $as_echo "679. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:21: test-ovsdb log-io file create 'write:[0]'"
at_fn_check_prepare_trace "ovsdb-log.at:21"
( $at_check_trace; test-ovsdb log-io file create 'write:[0]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: write:[0] successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:21"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:26: test-ovsdb log-io file read-only read read"
at_fn_check_prepare_trace "ovsdb-log.at:26"
( $at_check_trace; test-ovsdb log-io file read-only read read
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: [0]
file: read: end of log
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:26"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:32: test -f .file.~lock~"
at_fn_check_prepare_trace "ovsdb-log.at:32"
( $at_check_trace; test -f .file.~lock~
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:32"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_679
#AT_START_680
at_fn_group_banner 680 'ovsdb-log.at:35' \
  "check that create fails if file exists" "         " 47
at_xfail=no
(
  $as_echo "680. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:38: test-ovsdb log-io file create 'write:[1]'"
at_fn_check_prepare_trace "ovsdb-log.at:38"
( $at_check_trace; test-ovsdb log-io file create 'write:[1]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: write:[1] successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:38"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:43: test-ovsdb log-io file read-only read"
at_fn_check_prepare_trace "ovsdb-log.at:43"
( $at_check_trace; test-ovsdb log-io file read-only read
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: [1]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:43"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:48: test-ovsdb log-io file create read"
at_fn_check_prepare_trace "ovsdb-log.at:48"
( $at_check_trace; test-ovsdb log-io file create read
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "test-ovsdb: I/O error: create: file failed (File exists)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-log.at:48"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:52: test -f .file.~lock~"
at_fn_check_prepare_trace "ovsdb-log.at:52"
( $at_check_trace; test -f .file.~lock~
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:52"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_680
#AT_START_681
at_fn_group_banner 681 'ovsdb-log.at:55' \
  "write one, reread" "                              " 47
at_xfail=no
(
  $as_echo "681. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:58: test-ovsdb log-io file create 'write:[0]' 'write:[1]' 'write:[2]'"
at_fn_check_prepare_trace "ovsdb-log.at:58"
( $at_check_trace; test-ovsdb log-io file create 'write:[0]' 'write:[1]' 'write:[2]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: write:[0] successful
file: write:[1] successful
file: write:[2] successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:58"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:65: test-ovsdb log-io file read-only read read read read"
at_fn_check_prepare_trace "ovsdb-log.at:65"
( $at_check_trace; test-ovsdb log-io file read-only read read read read
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: [0]
file: read: [1]
file: read: [2]
file: read: end of log
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:65"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:73: test -f .file.~lock~"
at_fn_check_prepare_trace "ovsdb-log.at:73"
( $at_check_trace; test -f .file.~lock~
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:73"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_681
#AT_START_682
at_fn_group_banner 682 'ovsdb-log.at:76' \
  "write one, reread, append" "                      " 47
at_xfail=no
(
  $as_echo "682. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:79: test-ovsdb log-io file create 'write:[0]' 'write:[1]' 'write:[2]'"
at_fn_check_prepare_trace "ovsdb-log.at:79"
( $at_check_trace; test-ovsdb log-io file create 'write:[0]' 'write:[1]' 'write:[2]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: write:[0] successful
file: write:[1] successful
file: write:[2] successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:79"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:86: test-ovsdb log-io file read/write read read read 'write:[\"append\"]'"
at_fn_check_prepare_trace "ovsdb-log.at:86"
( $at_check_trace; test-ovsdb log-io file read/write read read read 'write:["append"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: [0]
file: read: [1]
file: read: [2]
file: write:[\"append\"] successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:86"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:94: test-ovsdb log-io file read-only read read read read read"
at_fn_check_prepare_trace "ovsdb-log.at:94"
( $at_check_trace; test-ovsdb log-io file read-only read read read read read
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: [0]
file: read: [1]
file: read: [2]
file: read: [\"append\"]
file: read: end of log
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:94"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:103: test -f .file.~lock~"
at_fn_check_prepare_trace "ovsdb-log.at:103"
( $at_check_trace; test -f .file.~lock~
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:103"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_682
#AT_START_683
at_fn_group_banner 683 'ovsdb-log.at:106' \
  "write, reread one, overwrite" "                   " 47
at_xfail=no
(
  $as_echo "683. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:109: test-ovsdb log-io file create 'write:[0]' 'write:[1]' 'write:[2]'"
at_fn_check_prepare_trace "ovsdb-log.at:109"
( $at_check_trace; test-ovsdb log-io file create 'write:[0]' 'write:[1]' 'write:[2]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: write:[0] successful
file: write:[1] successful
file: write:[2] successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:109"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:116: test-ovsdb log-io file read/write read 'write:[\"more data\"]'"
at_fn_check_prepare_trace "ovsdb-log.at:116"
( $at_check_trace; test-ovsdb log-io file read/write read 'write:["more data"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: [0]
file: write:[\"more data\"] successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:116"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:122: test-ovsdb log-io file read-only read read read"
at_fn_check_prepare_trace "ovsdb-log.at:122"
( $at_check_trace; test-ovsdb log-io file read-only read read read
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: [0]
file: read: [\"more data\"]
file: read: end of log
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:122"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:129: test -f .file.~lock~"
at_fn_check_prepare_trace "ovsdb-log.at:129"
( $at_check_trace; test -f .file.~lock~
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:129"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_683
#AT_START_684
at_fn_group_banner 684 'ovsdb-log.at:132' \
  "write, add corrupted data, read" "                " 47
at_xfail=no
(
  $as_echo "684. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:135: test-ovsdb log-io file create 'write:[0]' 'write:[1]' 'write:[2]'"
at_fn_check_prepare_trace "ovsdb-log.at:135"
( $at_check_trace; test-ovsdb log-io file create 'write:[0]' 'write:[1]' 'write:[2]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: write:[0] successful
file: write:[1] successful
file: write:[2] successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:135"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:142: echo 'xxx' >> file"
at_fn_check_prepare_trace "ovsdb-log.at:142"
( $at_check_trace; echo 'xxx' >> file
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:142"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:143: test-ovsdb log-io file read-only read read read read"
at_fn_check_prepare_trace "ovsdb-log.at:143"
( $at_check_trace; test-ovsdb log-io file read-only read read read read
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: [0]
file: read: [1]
file: read: [2]
file: read failed: syntax error: file: parse error at offset 174 in header line \"xxx\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:143"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:151: test -f .file.~lock~"
at_fn_check_prepare_trace "ovsdb-log.at:151"
( $at_check_trace; test -f .file.~lock~
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:151"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_684
#AT_START_685
at_fn_group_banner 685 'ovsdb-log.at:154' \
  "write, add corrupted data, read, overwrite" "     " 47
at_xfail=no
(
  $as_echo "685. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:157: test-ovsdb log-io file create 'write:[0]' 'write:[1]' 'write:[2]'"
at_fn_check_prepare_trace "ovsdb-log.at:157"
( $at_check_trace; test-ovsdb log-io file create 'write:[0]' 'write:[1]' 'write:[2]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: write:[0] successful
file: write:[1] successful
file: write:[2] successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:157"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:164: echo 'xxx' >> file"
at_fn_check_prepare_trace "ovsdb-log.at:164"
( $at_check_trace; echo 'xxx' >> file
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:164"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:165: test-ovsdb log-io file read/write read read read read 'write:[3]'"
at_fn_check_prepare_trace "ovsdb-log.at:165"
( $at_check_trace; test-ovsdb log-io file read/write read read read read 'write:[3]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: [0]
file: read: [1]
file: read: [2]
file: read failed: syntax error: file: parse error at offset 174 in header line \"xxx\"
file: write:[3] successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:165"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:174: test-ovsdb log-io file read-only read read read read read"
at_fn_check_prepare_trace "ovsdb-log.at:174"
( $at_check_trace; test-ovsdb log-io file read-only read read read read read
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: [0]
file: read: [1]
file: read: [2]
file: read: [3]
file: read: end of log
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:174"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:183: test -f .file.~lock~"
at_fn_check_prepare_trace "ovsdb-log.at:183"
( $at_check_trace; test -f .file.~lock~
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:183"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_685
#AT_START_686
at_fn_group_banner 686 'ovsdb-log.at:186' \
  "write, corrupt some data, read, overwrite" "      " 47
at_xfail=no
(
  $as_echo "686. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:189: test-ovsdb log-io file create 'write:[0]' 'write:[1]' 'write:[2]'"
at_fn_check_prepare_trace "ovsdb-log.at:189"
( $at_check_trace; test-ovsdb log-io file create 'write:[0]' 'write:[1]' 'write:[2]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: write:[0] successful
file: write:[1] successful
file: write:[2] successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:189"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:196: sed 's/\\[2]/[3]/' < file > file.tmp"
at_fn_check_prepare_trace "ovsdb-log.at:196"
( $at_check_trace; sed 's/\[2]/[3]/' < file > file.tmp
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:196"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:197: mv file.tmp file"
at_fn_check_prepare_trace "ovsdb-log.at:197"
( $at_check_trace; mv file.tmp file
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:197"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:198: grep -c '\\[3]' file"
at_fn_check_prepare_trace "ovsdb-log.at:198"
( $at_check_trace; grep -c '\[3]' file
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:198"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:200: test-ovsdb log-io file read/write read read read 'write:[\"longer data\"]'"
at_fn_check_prepare_trace "ovsdb-log.at:200"
( $at_check_trace; test-ovsdb log-io file read/write read read read 'write:["longer data"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: [0]
file: read: [1]
file: read failed: syntax error: file: 4 bytes starting at offset 170 have SHA-1 hash 5c031e5c0d3a9338cc127ebe40bb2748b6a67e78 but should have hash 98f55556e7ffd432381b56a19bd485b3e6446442
file: write:[\"longer data\"] successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:200"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:208: test-ovsdb log-io file read-only read read read read"
at_fn_check_prepare_trace "ovsdb-log.at:208"
( $at_check_trace; test-ovsdb log-io file read-only read read read read
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: [0]
file: read: [1]
file: read: [\"longer data\"]
file: read: end of log
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:208"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:216: test -f .file.~lock~"
at_fn_check_prepare_trace "ovsdb-log.at:216"
( $at_check_trace; test -f .file.~lock~
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:216"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_686
#AT_START_687
at_fn_group_banner 687 'ovsdb-log.at:219' \
  "write, truncate file, read, overwrite" "          " 47
at_xfail=no
(
  $as_echo "687. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:222: test-ovsdb log-io file create 'write:[0]' 'write:[1]' 'write:[2]'"
at_fn_check_prepare_trace "ovsdb-log.at:222"
( $at_check_trace; test-ovsdb log-io file create 'write:[0]' 'write:[1]' 'write:[2]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: write:[0] successful
file: write:[1] successful
file: write:[2] successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:222"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:229: sed 's/\\[2]/2/' < file > file.tmp"
at_fn_check_prepare_trace "ovsdb-log.at:229"
( $at_check_trace; sed 's/\[2]/2/' < file > file.tmp
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:229"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:230: mv file.tmp file"
at_fn_check_prepare_trace "ovsdb-log.at:230"
( $at_check_trace; mv file.tmp file
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:230"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:231: grep -c '^2\$' file"
at_fn_check_prepare_dynamic "grep -c '^2$' file" "ovsdb-log.at:231"
( $at_check_trace; grep -c '^2$' file
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:231"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:233: test-ovsdb log-io file read/write read read read 'write:[\"longer data\"]'"
at_fn_check_prepare_trace "ovsdb-log.at:233"
( $at_check_trace; test-ovsdb log-io file read/write read read read 'write:["longer data"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: [0]
file: read: [1]
file: read failed: I/O error: file: error reading 4 bytes starting at offset 170 (End of file)
file: write:[\"longer data\"] successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:233"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:241: test-ovsdb log-io file read-only read read read read"
at_fn_check_prepare_trace "ovsdb-log.at:241"
( $at_check_trace; test-ovsdb log-io file read-only read read read read
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: [0]
file: read: [1]
file: read: [\"longer data\"]
file: read: end of log
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:241"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:249: test -f .file.~lock~"
at_fn_check_prepare_trace "ovsdb-log.at:249"
( $at_check_trace; test -f .file.~lock~
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:249"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_687
#AT_START_688
at_fn_group_banner 688 'ovsdb-log.at:252' \
  "write bad JSON, read, overwrite" "                " 47
at_xfail=no
(
  $as_echo "688. $at_setup_line: testing $at_desc ..."
  $at_traceon



{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:255: test-ovsdb log-io file create 'write:[0]' 'write:[1]' 'write:[2]'"
at_fn_check_prepare_trace "ovsdb-log.at:255"
( $at_check_trace; test-ovsdb log-io file create 'write:[0]' 'write:[1]' 'write:[2]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: write:[0] successful
file: write:[1] successful
file: write:[2] successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:255"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:262: printf '%s\\n%s\\n' 'OVSDB JSON 5 d910b02871075d3156ec8675dfc95b7d5d640aa6' 'null' >> file"
at_fn_check_prepare_trace "ovsdb-log.at:262"
( $at_check_trace; printf '%s\n%s\n' 'OVSDB JSON 5 d910b02871075d3156ec8675dfc95b7d5d640aa6' 'null' >> file
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:262"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:263: test-ovsdb log-io file read/write read read read read 'write:[\"replacement data\"]'"
at_fn_check_prepare_trace "ovsdb-log.at:263"
( $at_check_trace; test-ovsdb log-io file read/write read read read read 'write:["replacement data"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: [0]
file: read: [1]
file: read: [2]
file: read failed: syntax error: file: 5 bytes starting at offset 228 are not valid JSON (line 0, column 4, byte 4: syntax error at beginning of input)
file: write:[\"replacement data\"] successful
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:263"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:272: test-ovsdb log-io file read-only read read read read read"
at_fn_check_prepare_trace "ovsdb-log.at:272"
( $at_check_trace; test-ovsdb log-io file read-only read read read read read
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "file: open successful
file: read: [0]
file: read: [1]
file: read: [2]
file: read: [\"replacement data\"]
file: read: end of log
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:272"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-log.at:281: test -f .file.~lock~"
at_fn_check_prepare_trace "ovsdb-log.at:281"
( $at_check_trace; test -f .file.~lock~
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-log.at:281"
$at_failed && at_fn_log_failure  \
"file"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_688
#AT_START_689
at_fn_group_banner 689 'ovsdb-types.at:3' \
  "integer - C" "                                    " 48
at_xfail=no
(
  $as_echo "689. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:3: test-ovsdb parse-atomic-type '[\"integer\"]' "
at_fn_check_prepare_trace "ovsdb-types.at:3"
( $at_check_trace; test-ovsdb parse-atomic-type '["integer"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"integer\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:3"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_689
#AT_START_690
at_fn_group_banner 690 'ovsdb-types.at:3' \
  "integer - Python" "                               " 48
at_xfail=no
(
  $as_echo "690. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:3" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:3"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:3: \$PYTHON \$srcdir/test-ovsdb.py parse-atomic-type '[\"integer\"]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-atomic-type '[\"integer\"]' " "ovsdb-types.at:3"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atomic-type '["integer"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"integer\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:3"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_690
#AT_START_691
at_fn_group_banner 691 'ovsdb-types.at:5' \
  "real - C" "                                       " 48
at_xfail=no
(
  $as_echo "691. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:5: test-ovsdb parse-atomic-type '[\"real\"]' "
at_fn_check_prepare_trace "ovsdb-types.at:5"
( $at_check_trace; test-ovsdb parse-atomic-type '["real"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"real\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:5"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_691
#AT_START_692
at_fn_group_banner 692 'ovsdb-types.at:5' \
  "real - Python" "                                  " 48
at_xfail=no
(
  $as_echo "692. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:5" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:5"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:5: \$PYTHON \$srcdir/test-ovsdb.py parse-atomic-type '[\"real\"]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-atomic-type '[\"real\"]' " "ovsdb-types.at:5"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atomic-type '["real"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"real\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:5"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_692
#AT_START_693
at_fn_group_banner 693 'ovsdb-types.at:7' \
  "boolean - C" "                                    " 48
at_xfail=no
(
  $as_echo "693. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:7: test-ovsdb parse-atomic-type '[\"boolean\"]' "
at_fn_check_prepare_trace "ovsdb-types.at:7"
( $at_check_trace; test-ovsdb parse-atomic-type '["boolean"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"boolean\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:7"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_693
#AT_START_694
at_fn_group_banner 694 'ovsdb-types.at:7' \
  "boolean - Python" "                               " 48
at_xfail=no
(
  $as_echo "694. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:7" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:7"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:7: \$PYTHON \$srcdir/test-ovsdb.py parse-atomic-type '[\"boolean\"]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-atomic-type '[\"boolean\"]' " "ovsdb-types.at:7"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atomic-type '["boolean"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"boolean\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:7"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_694
#AT_START_695
at_fn_group_banner 695 'ovsdb-types.at:9' \
  "string - C" "                                     " 48
at_xfail=no
(
  $as_echo "695. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:9: test-ovsdb parse-atomic-type '[\"string\"]' "
at_fn_check_prepare_trace "ovsdb-types.at:9"
( $at_check_trace; test-ovsdb parse-atomic-type '["string"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"string\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:9"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_695
#AT_START_696
at_fn_group_banner 696 'ovsdb-types.at:9' \
  "string - Python" "                                " 48
at_xfail=no
(
  $as_echo "696. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:9" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:9"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:9: \$PYTHON \$srcdir/test-ovsdb.py parse-atomic-type '[\"string\"]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-atomic-type '[\"string\"]' " "ovsdb-types.at:9"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atomic-type '["string"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"string\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:9"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_696
#AT_START_697
at_fn_group_banner 697 'ovsdb-types.at:11' \
  "uuid - C" "                                       " 48
at_xfail=no
(
  $as_echo "697. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:11: test-ovsdb parse-atomic-type '[\"uuid\"]' "
at_fn_check_prepare_trace "ovsdb-types.at:11"
( $at_check_trace; test-ovsdb parse-atomic-type '["uuid"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"uuid\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:11"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_697
#AT_START_698
at_fn_group_banner 698 'ovsdb-types.at:11' \
  "uuid - Python" "                                  " 48
at_xfail=no
(
  $as_echo "698. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:11" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:11"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:11: \$PYTHON \$srcdir/test-ovsdb.py parse-atomic-type '[\"uuid\"]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-atomic-type '[\"uuid\"]' " "ovsdb-types.at:11"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atomic-type '["uuid"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"uuid\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:11"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_698
#AT_START_699
at_fn_group_banner 699 'ovsdb-types.at:13' \
  "void is not a valid atomic-type - C" "            " 48
at_xfail=no
(
  $as_echo "699. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:13: test-ovsdb parse-atomic-type '[\"void\"]' "
at_fn_check_prepare_trace "ovsdb-types.at:13"
( $at_check_trace; test-ovsdb parse-atomic-type '["void"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:13"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:13: if grep -F -e \"\\\"void\\\" is not an atomic-type\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:13"
( $at_check_trace; if grep -F -e "\"void\" is not an atomic-type" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:13"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_699
#AT_START_700
at_fn_group_banner 700 'ovsdb-types.at:13' \
  "void is not a valid atomic-type - Python" "       " 48
at_xfail=no
(
  $as_echo "700. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:13" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:13"

   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:13: \$PYTHON \$srcdir/test-ovsdb.py parse-atomic-type '[\"void\"]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-atomic-type '[\"void\"]' " "ovsdb-types.at:13"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atomic-type '["void"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:13"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:13: if grep -F -e \"\\\"void\\\" is not an atomic-type\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:13"
( $at_check_trace; if grep -F -e "\"void\" is not an atomic-type" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:13"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_700
#AT_START_701
at_fn_group_banner 701 'ovsdb-types.at:18' \
  "integer enum - C" "                               " 49
at_xfail=no
(
  $as_echo "701. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:18: test-ovsdb parse-base-type '{\"type\": \"integer\", \"enum\": [\"set\", [-1, 4, 5]]}' "
at_fn_check_prepare_trace "ovsdb-types.at:18"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "integer", "enum": ["set", [-1, 4, 5]]}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"enum\":[\"set\",[-1,4,5]],\"type\":\"integer\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:18"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_701
#AT_START_702
at_fn_group_banner 702 'ovsdb-types.at:18' \
  "integer enum - Python" "                          " 49
at_xfail=no
(
  $as_echo "702. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:18" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:18"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:18: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"integer\", \"enum\": [\"set\", [-1, 4, 5]]}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"integer\", \"enum\": [\"set\", [-1, 4, 5]]}' " "ovsdb-types.at:18"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "integer", "enum": ["set", [-1, 4, 5]]}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"enum\":[\"set\",[-1,4,5]],\"type\":\"integer\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:18"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_702
#AT_START_703
at_fn_group_banner 703 'ovsdb-types.at:21' \
  "integer >= 5 - C" "                               " 49
at_xfail=no
(
  $as_echo "703. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:21: test-ovsdb parse-base-type '{\"type\": \"integer\", \"minInteger\": 5}' "
at_fn_check_prepare_trace "ovsdb-types.at:21"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "integer", "minInteger": 5}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"minInteger\":5,\"type\":\"integer\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:21"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_703
#AT_START_704
at_fn_group_banner 704 'ovsdb-types.at:21' \
  "integer >= 5 - Python" "                          " 49
at_xfail=no
(
  $as_echo "704. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:21" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:21"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:21: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"integer\", \"minInteger\": 5}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"integer\", \"minInteger\": 5}' " "ovsdb-types.at:21"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "integer", "minInteger": 5}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"minInteger\":5,\"type\":\"integer\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:21"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_704
#AT_START_705
at_fn_group_banner 705 'ovsdb-types.at:24' \
  "integer <= 7 - C" "                               " 49
at_xfail=no
(
  $as_echo "705. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:24: test-ovsdb parse-base-type '{\"type\": \"integer\", \"maxInteger\": 7}' "
at_fn_check_prepare_trace "ovsdb-types.at:24"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "integer", "maxInteger": 7}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"maxInteger\":7,\"type\":\"integer\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:24"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_705
#AT_START_706
at_fn_group_banner 706 'ovsdb-types.at:24' \
  "integer <= 7 - Python" "                          " 49
at_xfail=no
(
  $as_echo "706. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:24" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:24"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:24: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"integer\", \"maxInteger\": 7}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"integer\", \"maxInteger\": 7}' " "ovsdb-types.at:24"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "integer", "maxInteger": 7}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"maxInteger\":7,\"type\":\"integer\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:24"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_706
#AT_START_707
at_fn_group_banner 707 'ovsdb-types.at:27' \
  "integer between -5 and 10 - C" "                  " 49
at_xfail=no
(
  $as_echo "707. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:27: test-ovsdb parse-base-type '{\"type\": \"integer\", \"minInteger\": -5, \"maxInteger\": 10}'"
at_fn_check_prepare_trace "ovsdb-types.at:27"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "integer", "minInteger": -5, "maxInteger": 10}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"maxInteger\":10,\"minInteger\":-5,\"type\":\"integer\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:27"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_707
#AT_START_708
at_fn_group_banner 708 'ovsdb-types.at:27' \
  "integer between -5 and 10 - Python" "             " 49
at_xfail=no
(
  $as_echo "708. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:27" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:27"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:27: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"integer\", \"minInteger\": -5, \"maxInteger\": 10}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"integer\", \"minInteger\": -5, \"maxInteger\": 10}'" "ovsdb-types.at:27"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "integer", "minInteger": -5, "maxInteger": 10}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"maxInteger\":10,\"minInteger\":-5,\"type\":\"integer\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:27"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_708
#AT_START_709
at_fn_group_banner 709 'ovsdb-types.at:30' \
  "integer max may not be less than min - C" "       " 49
at_xfail=no
(
  $as_echo "709. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:30: test-ovsdb parse-base-type '{\"type\": \"integer\", \"minInteger\": 5, \"maxInteger\": 3}'"
at_fn_check_prepare_trace "ovsdb-types.at:30"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "integer", "minInteger": 5, "maxInteger": 3}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:30: if grep -F -e \"minInteger exceeds maxInteger\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:30"
( $at_check_trace; if grep -F -e "minInteger exceeds maxInteger" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_709
#AT_START_710
at_fn_group_banner 710 'ovsdb-types.at:30' \
  "integer max may not be less than min - Python" "  " 49
at_xfail=no
(
  $as_echo "710. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:30" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:30"

   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:30: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"integer\", \"minInteger\": 5, \"maxInteger\": 3}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"integer\", \"minInteger\": 5, \"maxInteger\": 3}'" "ovsdb-types.at:30"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "integer", "minInteger": 5, "maxInteger": 3}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:30: if grep -F -e \"minInteger exceeds maxInteger\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:30"
( $at_check_trace; if grep -F -e "minInteger exceeds maxInteger" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_710
#AT_START_711
at_fn_group_banner 711 'ovsdb-types.at:34' \
  "real enum - C" "                                  " 49
at_xfail=no
(
  $as_echo "711. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:34: test-ovsdb parse-base-type '{\"type\": \"real\", \"enum\": [\"set\", [1.5, 0, 2.75]]}' "
at_fn_check_prepare_trace "ovsdb-types.at:34"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "real", "enum": ["set", [1.5, 0, 2.75]]}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"enum\":[\"set\",[0,1.5,2.75]],\"type\":\"real\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:34"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_711
#AT_START_712
at_fn_group_banner 712 'ovsdb-types.at:34' \
  "real enum - Python" "                             " 49
at_xfail=no
(
  $as_echo "712. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:34" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:34"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:34: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"real\", \"enum\": [\"set\", [1.5, 0, 2.75]]}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"real\", \"enum\": [\"set\", [1.5, 0, 2.75]]}' " "ovsdb-types.at:34"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "real", "enum": ["set", [1.5, 0, 2.75]]}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"enum\":[\"set\",[0,1.5,2.75]],\"type\":\"real\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:34"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_712
#AT_START_713
at_fn_group_banner 713 'ovsdb-types.at:37' \
  "real >= -1.5 - C" "                               " 49
at_xfail=no
(
  $as_echo "713. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:37: test-ovsdb parse-base-type '{\"type\": \"real\", \"minReal\": -1.5}'"
at_fn_check_prepare_trace "ovsdb-types.at:37"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "real", "minReal": -1.5}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"minReal\":-1.5,\"type\":\"real\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:37"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_713
#AT_START_714
at_fn_group_banner 714 'ovsdb-types.at:37' \
  "real >= -1.5 - Python" "                          " 49
at_xfail=no
(
  $as_echo "714. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:37" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:37"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:37: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"real\", \"minReal\": -1.5}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"real\", \"minReal\": -1.5}'" "ovsdb-types.at:37"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "real", "minReal": -1.5}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"minReal\":-1.5,\"type\":\"real\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:37"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_714
#AT_START_715
at_fn_group_banner 715 'ovsdb-types.at:40' \
  "real <= 1e5 - C" "                                " 49
at_xfail=no
(
  $as_echo "715. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:40: test-ovsdb parse-base-type '{\"type\": \"real\", \"maxReal\": 1e5}'"
at_fn_check_prepare_trace "ovsdb-types.at:40"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "real", "maxReal": 1e5}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"maxReal\":100000,\"type\":\"real\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:40"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_715
#AT_START_716
at_fn_group_banner 716 'ovsdb-types.at:40' \
  "real <= 1e5 - Python" "                           " 49
at_xfail=no
(
  $as_echo "716. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:40" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:40"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:40: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"real\", \"maxReal\": 1e5}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"real\", \"maxReal\": 1e5}'" "ovsdb-types.at:40"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "real", "maxReal": 1e5}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"maxReal\":100000,\"type\":\"real\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:40"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_716
#AT_START_717
at_fn_group_banner 717 'ovsdb-types.at:43' \
  "real between -2.5 and 3.75 - C" "                 " 49
at_xfail=no
(
  $as_echo "717. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:43: test-ovsdb parse-base-type '{\"type\": \"real\", \"minReal\": -2.5, \"maxReal\": 3.75}'"
at_fn_check_prepare_trace "ovsdb-types.at:43"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "real", "minReal": -2.5, "maxReal": 3.75}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"maxReal\":3.75,\"minReal\":-2.5,\"type\":\"real\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:43"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_717
#AT_START_718
at_fn_group_banner 718 'ovsdb-types.at:43' \
  "real between -2.5 and 3.75 - Python" "            " 49
at_xfail=no
(
  $as_echo "718. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:43" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:43"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:43: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"real\", \"minReal\": -2.5, \"maxReal\": 3.75}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"real\", \"minReal\": -2.5, \"maxReal\": 3.75}'" "ovsdb-types.at:43"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "real", "minReal": -2.5, "maxReal": 3.75}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"maxReal\":3.75,\"minReal\":-2.5,\"type\":\"real\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:43"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_718
#AT_START_719
at_fn_group_banner 719 'ovsdb-types.at:46' \
  "real max may not be less than min - C" "          " 49
at_xfail=no
(
  $as_echo "719. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:46: test-ovsdb parse-base-type '{\"type\": \"real\", \"minReal\": 555, \"maxReal\": 444}'"
at_fn_check_prepare_trace "ovsdb-types.at:46"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "real", "minReal": 555, "maxReal": 444}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:46"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:46: if grep -F -e \"minReal exceeds maxReal\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:46"
( $at_check_trace; if grep -F -e "minReal exceeds maxReal" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:46"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_719
#AT_START_720
at_fn_group_banner 720 'ovsdb-types.at:46' \
  "real max may not be less than min - Python" "     " 49
at_xfail=no
(
  $as_echo "720. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:46" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:46"

   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:46: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"real\", \"minReal\": 555, \"maxReal\": 444}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"real\", \"minReal\": 555, \"maxReal\": 444}'" "ovsdb-types.at:46"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "real", "minReal": 555, "maxReal": 444}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:46"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:46: if grep -F -e \"minReal exceeds maxReal\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:46"
( $at_check_trace; if grep -F -e "minReal exceeds maxReal" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:46"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_720
#AT_START_721
at_fn_group_banner 721 'ovsdb-types.at:50' \
  "boolean - C" "                                    " 49
at_xfail=no
(
  $as_echo "721. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:50: test-ovsdb parse-base-type '[{\"type\": \"boolean\"}]' "
at_fn_check_prepare_trace "ovsdb-types.at:50"
( $at_check_trace; test-ovsdb parse-base-type '[{"type": "boolean"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"boolean\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:50"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_721
#AT_START_722
at_fn_group_banner 722 'ovsdb-types.at:50' \
  "boolean - Python" "                               " 49
at_xfail=no
(
  $as_echo "722. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:50" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:50"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:50: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '[{\"type\": \"boolean\"}]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '[{\"type\": \"boolean\"}]' " "ovsdb-types.at:50"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '[{"type": "boolean"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"boolean\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:50"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_722
#AT_START_723
at_fn_group_banner 723 'ovsdb-types.at:52' \
  "boolean enum - C" "                               " 49
at_xfail=no
(
  $as_echo "723. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:52: test-ovsdb parse-base-type '{\"type\": \"boolean\", \"enum\": true}' "
at_fn_check_prepare_trace "ovsdb-types.at:52"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "boolean", "enum": true}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"enum\":true,\"type\":\"boolean\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:52"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_723
#AT_START_724
at_fn_group_banner 724 'ovsdb-types.at:52' \
  "boolean enum - Python" "                          " 49
at_xfail=no
(
  $as_echo "724. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:52" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:52"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:52: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"boolean\", \"enum\": true}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"boolean\", \"enum\": true}' " "ovsdb-types.at:52"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "boolean", "enum": true}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"enum\":true,\"type\":\"boolean\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:52"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_724
#AT_START_725
at_fn_group_banner 725 'ovsdb-types.at:56' \
  "string enum - C" "                                " 49
at_xfail=no
(
  $as_echo "725. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:56: test-ovsdb parse-base-type '{\"type\": \"string\", \"enum\": [\"set\", [\"def\", \"abc\"]]}'"
at_fn_check_prepare_trace "ovsdb-types.at:56"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "string", "enum": ["set", ["def", "abc"]]}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"enum\":[\"set\",[\"abc\",\"def\"]],\"type\":\"string\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:56"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_725
#AT_START_726
at_fn_group_banner 726 'ovsdb-types.at:56' \
  "string enum - Python" "                           " 49
at_xfail=no
(
  $as_echo "726. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:56" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:56"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:56: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"string\", \"enum\": [\"set\", [\"def\", \"abc\"]]}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"string\", \"enum\": [\"set\", [\"def\", \"abc\"]]}'" "ovsdb-types.at:56"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "string", "enum": ["set", ["def", "abc"]]}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"enum\":[\"set\",[\"abc\",\"def\"]],\"type\":\"string\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:56"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_726
#AT_START_727
at_fn_group_banner 727 'ovsdb-types.at:59' \
  "string minLength - C" "                           " 49
at_xfail=no
(
  $as_echo "727. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:59: test-ovsdb parse-base-type '{\"type\": \"string\", \"minLength\": 1}'"
at_fn_check_prepare_trace "ovsdb-types.at:59"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "string", "minLength": 1}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"minLength\":1,\"type\":\"string\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:59"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_727
#AT_START_728
at_fn_group_banner 728 'ovsdb-types.at:59' \
  "string minLength - Python" "                      " 49
at_xfail=no
(
  $as_echo "728. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:59" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:59"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:59: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"string\", \"minLength\": 1}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"string\", \"minLength\": 1}'" "ovsdb-types.at:59"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "string", "minLength": 1}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"minLength\":1,\"type\":\"string\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:59"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_728
#AT_START_729
at_fn_group_banner 729 'ovsdb-types.at:62' \
  "string maxLength - C" "                           " 49
at_xfail=no
(
  $as_echo "729. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:62: test-ovsdb parse-base-type '{\"type\": \"string\", \"maxLength\": 5}'"
at_fn_check_prepare_trace "ovsdb-types.at:62"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "string", "maxLength": 5}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"maxLength\":5,\"type\":\"string\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:62"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_729
#AT_START_730
at_fn_group_banner 730 'ovsdb-types.at:62' \
  "string maxLength - Python" "                      " 49
at_xfail=no
(
  $as_echo "730. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:62" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:62"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:62: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"string\", \"maxLength\": 5}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"string\", \"maxLength\": 5}'" "ovsdb-types.at:62"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "string", "maxLength": 5}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"maxLength\":5,\"type\":\"string\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:62"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_730
#AT_START_731
at_fn_group_banner 731 'ovsdb-types.at:65' \
  "string minLength and maxLength - C" "             " 49
at_xfail=no
(
  $as_echo "731. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:65: test-ovsdb parse-base-type '{\"type\": \"string\", \"minLength\": 1, \"maxLength\": 5}'"
at_fn_check_prepare_trace "ovsdb-types.at:65"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "string", "minLength": 1, "maxLength": 5}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"maxLength\":5,\"minLength\":1,\"type\":\"string\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:65"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_731
#AT_START_732
at_fn_group_banner 732 'ovsdb-types.at:65' \
  "string minLength and maxLength - Python" "        " 49
at_xfail=no
(
  $as_echo "732. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:65" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:65"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:65: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"string\", \"minLength\": 1, \"maxLength\": 5}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"string\", \"minLength\": 1, \"maxLength\": 5}'" "ovsdb-types.at:65"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "string", "minLength": 1, "maxLength": 5}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"maxLength\":5,\"minLength\":1,\"type\":\"string\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:65"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_732
#AT_START_733
at_fn_group_banner 733 'ovsdb-types.at:68' \
  "maxLength must not be less than minLength - C" "  " 49
at_xfail=no
(
  $as_echo "733. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:68: test-ovsdb parse-base-type '{\"type\": \"string\", \"minLength\": 5, \"maxLength\": 3}'"
at_fn_check_prepare_trace "ovsdb-types.at:68"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "string", "minLength": 5, "maxLength": 3}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:68"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:68: if grep -F -e \"minLength exceeds maxLength\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:68"
( $at_check_trace; if grep -F -e "minLength exceeds maxLength" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:68"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_733
#AT_START_734
at_fn_group_banner 734 'ovsdb-types.at:68' \
  "maxLength must not be less than minLength - Python" "" 49
at_xfail=no
(
  $as_echo "734. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:68" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:68"

   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:68: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"string\", \"minLength\": 5, \"maxLength\": 3}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"string\", \"minLength\": 5, \"maxLength\": 3}'" "ovsdb-types.at:68"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "string", "minLength": 5, "maxLength": 3}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:68"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:68: if grep -F -e \"minLength exceeds maxLength\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:68"
( $at_check_trace; if grep -F -e "minLength exceeds maxLength" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:68"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_734
#AT_START_735
at_fn_group_banner 735 'ovsdb-types.at:71' \
  "maxLength must not be negative - C" "             " 49
at_xfail=no
(
  $as_echo "735. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:71: test-ovsdb parse-base-type '{\"type\": \"string\", \"maxLength\": -1}'"
at_fn_check_prepare_trace "ovsdb-types.at:71"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "string", "maxLength": -1}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:71"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:71: if grep -F -e \"maxLength out of valid range 0 to 4294967295\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:71"
( $at_check_trace; if grep -F -e "maxLength out of valid range 0 to 4294967295" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:71"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_735
#AT_START_736
at_fn_group_banner 736 'ovsdb-types.at:71' \
  "maxLength must not be negative - Python" "        " 49
at_xfail=no
(
  $as_echo "736. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:71" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:71"

   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:71: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"string\", \"maxLength\": -1}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"string\", \"maxLength\": -1}'" "ovsdb-types.at:71"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "string", "maxLength": -1}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:71"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:71: if grep -F -e \"maxLength out of valid range 0 to 4294967295\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:71"
( $at_check_trace; if grep -F -e "maxLength out of valid range 0 to 4294967295" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:71"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_736
#AT_START_737
at_fn_group_banner 737 'ovsdb-types.at:75' \
  "uuid enum - C" "                                  " 49
at_xfail=no
(
  $as_echo "737. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:75: test-ovsdb parse-base-type '{\"type\": \"uuid\", \"enum\": [\"uuid\", \"36bf19c0-ad9d-4232-bb85-b3d73dfe2123\"]}' "
at_fn_check_prepare_trace "ovsdb-types.at:75"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "uuid", "enum": ["uuid", "36bf19c0-ad9d-4232-bb85-b3d73dfe2123"]}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"enum\":[\"uuid\",\"36bf19c0-ad9d-4232-bb85-b3d73dfe2123\"],\"type\":\"uuid\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:75"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_737
#AT_START_738
at_fn_group_banner 738 'ovsdb-types.at:75' \
  "uuid enum - Python" "                             " 49
at_xfail=no
(
  $as_echo "738. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:75" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:75"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:75: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"uuid\", \"enum\": [\"uuid\", \"36bf19c0-ad9d-4232-bb85-b3d73dfe2123\"]}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"uuid\", \"enum\": [\"uuid\", \"36bf19c0-ad9d-4232-bb85-b3d73dfe2123\"]}' " "ovsdb-types.at:75"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "uuid", "enum": ["uuid", "36bf19c0-ad9d-4232-bb85-b3d73dfe2123"]}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"enum\":[\"uuid\",\"36bf19c0-ad9d-4232-bb85-b3d73dfe2123\"],\"type\":\"uuid\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:75"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_738
#AT_START_739
at_fn_group_banner 739 'ovsdb-types.at:78' \
  "uuid refTable - C" "                              " 49
at_xfail=no
(
  $as_echo "739. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:78: test-ovsdb parse-base-type '{\"type\": \"uuid\", \"refTable\": \"myTable\"}' "
at_fn_check_prepare_trace "ovsdb-types.at:78"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "uuid", "refTable": "myTable"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"refTable\":\"myTable\",\"type\":\"uuid\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:78"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_739
#AT_START_740
at_fn_group_banner 740 'ovsdb-types.at:78' \
  "uuid refTable - Python" "                         " 49
at_xfail=no
(
  $as_echo "740. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:78" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:78"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:78: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"uuid\", \"refTable\": \"myTable\"}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"uuid\", \"refTable\": \"myTable\"}' " "ovsdb-types.at:78"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "uuid", "refTable": "myTable"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"refTable\":\"myTable\",\"type\":\"uuid\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:78"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_740
#AT_START_741
at_fn_group_banner 741 'ovsdb-types.at:81' \
  "uuid refTable must be valid id - C" "             " 49
at_xfail=no
(
  $as_echo "741. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:81: test-ovsdb parse-base-type '{\"type\": \"uuid\", \"refTable\": \"a-b-c\"}' "
at_fn_check_prepare_trace "ovsdb-types.at:81"
( $at_check_trace; test-ovsdb parse-base-type '{"type": "uuid", "refTable": "a-b-c"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:81"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:81: if grep -F -e \"Type mismatch for member 'refTable'\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:81"
( $at_check_trace; if grep -F -e "Type mismatch for member 'refTable'" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:81"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_741
#AT_START_742
at_fn_group_banner 742 'ovsdb-types.at:81' \
  "uuid refTable must be valid id - Python" "        " 49
at_xfail=no
(
  $as_echo "742. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:81" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:81"

   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:81: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{\"type\": \"uuid\", \"refTable\": \"a-b-c\"}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{\"type\": \"uuid\", \"refTable\": \"a-b-c\"}' " "ovsdb-types.at:81"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{"type": "uuid", "refTable": "a-b-c"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:81"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:81: if grep -F -e \"Type mismatch for member 'refTable'\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:81"
( $at_check_trace; if grep -F -e "Type mismatch for member 'refTable'" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:81"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_742
#AT_START_743
at_fn_group_banner 743 'ovsdb-types.at:85' \
  "void is not a valid base-type - C" "              " 49
at_xfail=no
(
  $as_echo "743. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:85: test-ovsdb parse-base-type '[\"void\"]' "
at_fn_check_prepare_trace "ovsdb-types.at:85"
( $at_check_trace; test-ovsdb parse-base-type '["void"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:85"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:85: if grep -F -e \"\\\"void\\\" is not an atomic-type\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:85"
( $at_check_trace; if grep -F -e "\"void\" is not an atomic-type" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:85"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_743
#AT_START_744
at_fn_group_banner 744 'ovsdb-types.at:85' \
  "void is not a valid base-type - Python" "         " 49
at_xfail=no
(
  $as_echo "744. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:85" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:85"

   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:85: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '[\"void\"]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '[\"void\"]' " "ovsdb-types.at:85"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '["void"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:85"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:85: if grep -F -e \"\\\"void\\\" is not an atomic-type\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:85"
( $at_check_trace; if grep -F -e "\"void\" is not an atomic-type" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:85"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_744
#AT_START_745
at_fn_group_banner 745 'ovsdb-types.at:87' \
  "\"type\" member must be present - C" "              " 49
at_xfail=no
(
  $as_echo "745. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:87: test-ovsdb parse-base-type '{}'"
at_fn_check_prepare_trace "ovsdb-types.at:87"
( $at_check_trace; test-ovsdb parse-base-type '{}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:87: if grep -F -e \"Parsing ovsdb type failed: Required 'type' member is missing.\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:87"
( $at_check_trace; if grep -F -e "Parsing ovsdb type failed: Required 'type' member is missing." stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_745
#AT_START_746
at_fn_group_banner 746 'ovsdb-types.at:87' \
  "\"type\" member must be present - Python" "         " 49
at_xfail=no
(
  $as_echo "746. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:87" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:87"

   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:87: \$PYTHON \$srcdir/test-ovsdb.py parse-base-type '{}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-base-type '{}'" "ovsdb-types.at:87"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-base-type '{}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:87: if grep -F -e \"Parsing ovsdb type failed: Required 'type' member is missing.\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:87"
( $at_check_trace; if grep -F -e "Parsing ovsdb type failed: Required 'type' member is missing." stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_746
#AT_START_747
at_fn_group_banner 747 'ovsdb-types.at:92' \
  "simple integer - C" "                             " 50
at_xfail=no
(
  $as_echo "747. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:92: test-ovsdb parse-type '[\"integer\"]' "
at_fn_check_prepare_trace "ovsdb-types.at:92"
( $at_check_trace; test-ovsdb parse-type '["integer"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"integer\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:92"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_747
#AT_START_748
at_fn_group_banner 748 'ovsdb-types.at:92' \
  "simple integer - Python" "                        " 50
at_xfail=no
(
  $as_echo "748. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:92" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:92"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:92: \$PYTHON \$srcdir/test-ovsdb.py parse-type '[\"integer\"]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '[\"integer\"]' " "ovsdb-types.at:92"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '["integer"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"integer\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:92"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_748
#AT_START_749
at_fn_group_banner 749 'ovsdb-types.at:94' \
  "simple real - C" "                                " 50
at_xfail=no
(
  $as_echo "749. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:94: test-ovsdb parse-type '[\"real\"]' "
at_fn_check_prepare_trace "ovsdb-types.at:94"
( $at_check_trace; test-ovsdb parse-type '["real"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"real\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:94"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_749
#AT_START_750
at_fn_group_banner 750 'ovsdb-types.at:94' \
  "simple real - Python" "                           " 50
at_xfail=no
(
  $as_echo "750. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:94" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:94"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:94: \$PYTHON \$srcdir/test-ovsdb.py parse-type '[\"real\"]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '[\"real\"]' " "ovsdb-types.at:94"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '["real"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"real\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:94"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_750
#AT_START_751
at_fn_group_banner 751 'ovsdb-types.at:96' \
  "simple boolean - C" "                             " 50
at_xfail=no
(
  $as_echo "751. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:96: test-ovsdb parse-type '[\"boolean\"]' "
at_fn_check_prepare_trace "ovsdb-types.at:96"
( $at_check_trace; test-ovsdb parse-type '["boolean"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"boolean\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:96"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_751
#AT_START_752
at_fn_group_banner 752 'ovsdb-types.at:96' \
  "simple boolean - Python" "                        " 50
at_xfail=no
(
  $as_echo "752. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:96" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:96"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:96: \$PYTHON \$srcdir/test-ovsdb.py parse-type '[\"boolean\"]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '[\"boolean\"]' " "ovsdb-types.at:96"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '["boolean"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"boolean\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:96"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_752
#AT_START_753
at_fn_group_banner 753 'ovsdb-types.at:98' \
  "simple string - C" "                              " 50
at_xfail=no
(
  $as_echo "753. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:98: test-ovsdb parse-type '[\"string\"]' "
at_fn_check_prepare_trace "ovsdb-types.at:98"
( $at_check_trace; test-ovsdb parse-type '["string"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"string\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:98"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_753
#AT_START_754
at_fn_group_banner 754 'ovsdb-types.at:98' \
  "simple string - Python" "                         " 50
at_xfail=no
(
  $as_echo "754. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:98" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:98"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:98: \$PYTHON \$srcdir/test-ovsdb.py parse-type '[\"string\"]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '[\"string\"]' " "ovsdb-types.at:98"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '["string"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"string\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:98"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_754
#AT_START_755
at_fn_group_banner 755 'ovsdb-types.at:100' \
  "simple uuid - C" "                                " 50
at_xfail=no
(
  $as_echo "755. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:100: test-ovsdb parse-type '[\"uuid\"]' "
at_fn_check_prepare_trace "ovsdb-types.at:100"
( $at_check_trace; test-ovsdb parse-type '["uuid"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"uuid\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:100"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_755
#AT_START_756
at_fn_group_banner 756 'ovsdb-types.at:100' \
  "simple uuid - Python" "                           " 50
at_xfail=no
(
  $as_echo "756. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:100" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:100"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:100: \$PYTHON \$srcdir/test-ovsdb.py parse-type '[\"uuid\"]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '[\"uuid\"]' " "ovsdb-types.at:100"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '["uuid"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"uuid\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:100"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_756
#AT_START_757
at_fn_group_banner 757 'ovsdb-types.at:102' \
  "integer in object - C" "                          " 50
at_xfail=no
(
  $as_echo "757. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:102: test-ovsdb parse-type '{\"key\": \"integer\"}' "
at_fn_check_prepare_trace "ovsdb-types.at:102"
( $at_check_trace; test-ovsdb parse-type '{"key": "integer"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"integer\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:102"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_757
#AT_START_758
at_fn_group_banner 758 'ovsdb-types.at:102' \
  "integer in object - Python" "                     " 50
at_xfail=no
(
  $as_echo "758. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:102" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:102"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:102: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"integer\"}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"integer\"}' " "ovsdb-types.at:102"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "integer"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"integer\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:102"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_758
#AT_START_759
at_fn_group_banner 759 'ovsdb-types.at:104' \
  "real in object with explicit min and max - C" "   " 50
at_xfail=no
(
  $as_echo "759. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:104: test-ovsdb parse-type '{\"key\": \"real\", \"min\": 1, \"max\": 1}' "
at_fn_check_prepare_trace "ovsdb-types.at:104"
( $at_check_trace; test-ovsdb parse-type '{"key": "real", "min": 1, "max": 1}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"real\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:104"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_759
#AT_START_760
at_fn_group_banner 760 'ovsdb-types.at:104' \
  "real in object with explicit min and max - Python" "" 50
at_xfail=no
(
  $as_echo "760. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:104" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:104"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:104: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"real\", \"min\": 1, \"max\": 1}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"real\", \"min\": 1, \"max\": 1}' " "ovsdb-types.at:104"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "real", "min": 1, "max": 1}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"real\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:104"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_760
#AT_START_761
at_fn_group_banner 761 'ovsdb-types.at:107' \
  "key type is required - C" "                       " 50
at_xfail=no
(
  $as_echo "761. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:107: test-ovsdb parse-type '{}' "
at_fn_check_prepare_trace "ovsdb-types.at:107"
( $at_check_trace; test-ovsdb parse-type '{}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:107"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:107: if grep -F -e \"Required 'key' member is missing.\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:107"
( $at_check_trace; if grep -F -e "Required 'key' member is missing." stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:107"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_761
#AT_START_762
at_fn_group_banner 762 'ovsdb-types.at:107' \
  "key type is required - Python" "                  " 50
at_xfail=no
(
  $as_echo "762. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:107" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:107"

   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:107: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{}' " "ovsdb-types.at:107"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:107"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:107: if grep -F -e \"Required 'key' member is missing.\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:107"
( $at_check_trace; if grep -F -e "Required 'key' member is missing." stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:107"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_762
#AT_START_763
at_fn_group_banner 763 'ovsdb-types.at:109' \
  "void is not a valid type - C" "                   " 50
at_xfail=no
(
  $as_echo "763. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:109: test-ovsdb parse-type '[\"void\"]' "
at_fn_check_prepare_trace "ovsdb-types.at:109"
( $at_check_trace; test-ovsdb parse-type '["void"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:109"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:109: if grep -F -e \"\\\"void\\\" is not an atomic-type\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:109"
( $at_check_trace; if grep -F -e "\"void\" is not an atomic-type" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:109"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_763
#AT_START_764
at_fn_group_banner 764 'ovsdb-types.at:109' \
  "void is not a valid type - Python" "              " 50
at_xfail=no
(
  $as_echo "764. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:109" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:109"

   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:109: \$PYTHON \$srcdir/test-ovsdb.py parse-type '[\"void\"]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '[\"void\"]' " "ovsdb-types.at:109"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '["void"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:109"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:109: if grep -F -e \"\\\"void\\\" is not an atomic-type\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:109"
( $at_check_trace; if grep -F -e "\"void\" is not an atomic-type" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:109"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_764
#AT_START_765
at_fn_group_banner 765 'ovsdb-types.at:114' \
  "optional boolean - C" "                           " 51
at_xfail=no
(
  $as_echo "765. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:114: test-ovsdb parse-type '{\"key\": \"boolean\", \"min\": 0}' "
at_fn_check_prepare_trace "ovsdb-types.at:114"
( $at_check_trace; test-ovsdb parse-type '{"key": "boolean", "min": 0}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"boolean\",\"min\":0}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:114"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_765
#AT_START_766
at_fn_group_banner 766 'ovsdb-types.at:114' \
  "optional boolean - Python" "                      " 51
at_xfail=no
(
  $as_echo "766. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:114" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:114"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:114: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"boolean\", \"min\": 0}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"boolean\", \"min\": 0}' " "ovsdb-types.at:114"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "boolean", "min": 0}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"boolean\",\"min\":0}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:114"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_766
#AT_START_767
at_fn_group_banner 767 'ovsdb-types.at:118' \
  "set of 1 to 3 uuids - C" "                        " 51
at_xfail=no
(
  $as_echo "767. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:118: test-ovsdb parse-type '{\"key\": \"uuid\", \"min\": 1, \"max\": 3}' "
at_fn_check_prepare_trace "ovsdb-types.at:118"
( $at_check_trace; test-ovsdb parse-type '{"key": "uuid", "min": 1, "max": 3}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"uuid\",\"max\":3}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:118"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_767
#AT_START_768
at_fn_group_banner 768 'ovsdb-types.at:118' \
  "set of 1 to 3 uuids - Python" "                   " 51
at_xfail=no
(
  $as_echo "768. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:118" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:118"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:118: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"uuid\", \"min\": 1, \"max\": 3}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"uuid\", \"min\": 1, \"max\": 3}' " "ovsdb-types.at:118"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "uuid", "min": 1, "max": 3}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"uuid\",\"max\":3}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:118"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_768
#AT_START_769
at_fn_group_banner 769 'ovsdb-types.at:121' \
  "set of 0 to 3 strings - C" "                      " 51
at_xfail=no
(
  $as_echo "769. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:121: test-ovsdb parse-type '{\"key\": \"string\", \"min\": 0, \"max\": 3}' "
at_fn_check_prepare_trace "ovsdb-types.at:121"
( $at_check_trace; test-ovsdb parse-type '{"key": "string", "min": 0, "max": 3}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"string\",\"max\":3,\"min\":0}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:121"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_769
#AT_START_770
at_fn_group_banner 770 'ovsdb-types.at:121' \
  "set of 0 to 3 strings - Python" "                 " 51
at_xfail=no
(
  $as_echo "770. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:121" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:121"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:121: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"string\", \"min\": 0, \"max\": 3}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"string\", \"min\": 0, \"max\": 3}' " "ovsdb-types.at:121"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "string", "min": 0, "max": 3}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"string\",\"max\":3,\"min\":0}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:121"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_770
#AT_START_771
at_fn_group_banner 771 'ovsdb-types.at:124' \
  "set of 0 or more integers - C" "                  " 51
at_xfail=no
(
  $as_echo "771. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:124: test-ovsdb parse-type '{\"key\": \"integer\", \"min\": 0, \"max\": \"unlimited\"}'"
at_fn_check_prepare_trace "ovsdb-types.at:124"
( $at_check_trace; test-ovsdb parse-type '{"key": "integer", "min": 0, "max": "unlimited"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"integer\",\"max\":\"unlimited\",\"min\":0}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:124"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_771
#AT_START_772
at_fn_group_banner 772 'ovsdb-types.at:124' \
  "set of 0 or more integers - Python" "             " 51
at_xfail=no
(
  $as_echo "772. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:124" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:124"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:124: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"integer\", \"min\": 0, \"max\": \"unlimited\"}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"integer\", \"min\": 0, \"max\": \"unlimited\"}'" "ovsdb-types.at:124"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "integer", "min": 0, "max": "unlimited"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"integer\",\"max\":\"unlimited\",\"min\":0}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:124"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_772
#AT_START_773
at_fn_group_banner 773 'ovsdb-types.at:127' \
  "set of 1 or more reals - C" "                     " 51
at_xfail=no
(
  $as_echo "773. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:127: test-ovsdb parse-type '{\"key\": \"real\", \"min\": 1, \"max\": \"unlimited\"}'"
at_fn_check_prepare_trace "ovsdb-types.at:127"
( $at_check_trace; test-ovsdb parse-type '{"key": "real", "min": 1, "max": "unlimited"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"real\",\"max\":\"unlimited\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:127"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_773
#AT_START_774
at_fn_group_banner 774 'ovsdb-types.at:127' \
  "set of 1 or more reals - Python" "                " 51
at_xfail=no
(
  $as_echo "774. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:127" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:127"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:127: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"real\", \"min\": 1, \"max\": \"unlimited\"}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"real\", \"min\": 1, \"max\": \"unlimited\"}'" "ovsdb-types.at:127"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "real", "min": 1, "max": "unlimited"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"real\",\"max\":\"unlimited\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:127"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_774
#AT_START_775
at_fn_group_banner 775 'ovsdb-types.at:131' \
  "set max cannot be less than min - C" "            " 51
at_xfail=no
(
  $as_echo "775. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:131: test-ovsdb parse-type '{\"key\": \"real\", \"min\": 5, \"max\": 3}' "
at_fn_check_prepare_trace "ovsdb-types.at:131"
( $at_check_trace; test-ovsdb parse-type '{"key": "real", "min": 5, "max": 3}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:131"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:131: if grep -F -e \"ovsdb type fails constraint checks\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:131"
( $at_check_trace; if grep -F -e "ovsdb type fails constraint checks" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:131"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_775
#AT_START_776
at_fn_group_banner 776 'ovsdb-types.at:131' \
  "set max cannot be less than min - Python" "       " 51
at_xfail=no
(
  $as_echo "776. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:131" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:131"

   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:131: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"real\", \"min\": 5, \"max\": 3}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"real\", \"min\": 5, \"max\": 3}' " "ovsdb-types.at:131"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "real", "min": 5, "max": 3}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:131"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:131: if grep -F -e \"ovsdb type fails constraint checks\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:131"
( $at_check_trace; if grep -F -e "ovsdb type fails constraint checks" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:131"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_776
#AT_START_777
at_fn_group_banner 777 'ovsdb-types.at:134' \
  "set max cannot be negative - C" "                 " 51
at_xfail=no
(
  $as_echo "777. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:134: test-ovsdb parse-type '{\"key\": \"real\", \"max\": -1}' "
at_fn_check_prepare_trace "ovsdb-types.at:134"
( $at_check_trace; test-ovsdb parse-type '{"key": "real", "max": -1}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:134"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:134: if grep -F -e \"bad min or max value\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:134"
( $at_check_trace; if grep -F -e "bad min or max value" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:134"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_777
#AT_START_778
at_fn_group_banner 778 'ovsdb-types.at:134' \
  "set max cannot be negative - Python" "            " 51
at_xfail=no
(
  $as_echo "778. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:134" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:134"

   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:134: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"real\", \"max\": -1}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"real\", \"max\": -1}' " "ovsdb-types.at:134"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "real", "max": -1}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:134"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:134: if grep -F -e \"bad min or max value\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:134"
( $at_check_trace; if grep -F -e "bad min or max value" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:134"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_778
#AT_START_779
at_fn_group_banner 779 'ovsdb-types.at:137' \
  "set min cannot be negative - C" "                 " 51
at_xfail=no
(
  $as_echo "779. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:137: test-ovsdb parse-type '{\"key\": \"real\", \"min\": -1}' "
at_fn_check_prepare_trace "ovsdb-types.at:137"
( $at_check_trace; test-ovsdb parse-type '{"key": "real", "min": -1}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:137"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:137: if grep -F -e \"bad min or max value\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:137"
( $at_check_trace; if grep -F -e "bad min or max value" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:137"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_779
#AT_START_780
at_fn_group_banner 780 'ovsdb-types.at:137' \
  "set min cannot be negative - Python" "            " 51
at_xfail=no
(
  $as_echo "780. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:137" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:137"

   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:137: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"real\", \"min\": -1}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"real\", \"min\": -1}' " "ovsdb-types.at:137"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "real", "min": -1}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:137"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:137: if grep -F -e \"bad min or max value\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:137"
( $at_check_trace; if grep -F -e "bad min or max value" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:137"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_780
#AT_START_781
at_fn_group_banner 781 'ovsdb-types.at:140' \
  "set min cannot be greater than one - C" "         " 51
at_xfail=no
(
  $as_echo "781. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:140: test-ovsdb parse-type '{\"key\": \"real\", \"min\": 10, \"max\": \"unlimited\"}'"
at_fn_check_prepare_trace "ovsdb-types.at:140"
( $at_check_trace; test-ovsdb parse-type '{"key": "real", "min": 10, "max": "unlimited"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:140"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:140: if grep -F -e \"ovsdb type fails constraint checks\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:140"
( $at_check_trace; if grep -F -e "ovsdb type fails constraint checks" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:140"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_781
#AT_START_782
at_fn_group_banner 782 'ovsdb-types.at:140' \
  "set min cannot be greater than one - Python" "    " 51
at_xfail=no
(
  $as_echo "782. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:140" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:140"

   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:140: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"real\", \"min\": 10, \"max\": \"unlimited\"}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"real\", \"min\": 10, \"max\": \"unlimited\"}'" "ovsdb-types.at:140"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "real", "min": 10, "max": "unlimited"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:140"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:140: if grep -F -e \"ovsdb type fails constraint checks\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:140"
( $at_check_trace; if grep -F -e "ovsdb type fails constraint checks" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:140"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_782
#AT_START_783
at_fn_group_banner 783 'ovsdb-types.at:146' \
  "map of 1 integer to boolean - C" "                " 52
at_xfail=no
(
  $as_echo "783. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:146: test-ovsdb parse-type '{\"key\": \"integer\", \"value\": \"boolean\"}' "
at_fn_check_prepare_trace "ovsdb-types.at:146"
( $at_check_trace; test-ovsdb parse-type '{"key": "integer", "value": "boolean"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"integer\",\"value\":\"boolean\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:146"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_783
#AT_START_784
at_fn_group_banner 784 'ovsdb-types.at:146' \
  "map of 1 integer to boolean - Python" "           " 52
at_xfail=no
(
  $as_echo "784. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:146" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:146"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:146: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"integer\", \"value\": \"boolean\"}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"integer\", \"value\": \"boolean\"}' " "ovsdb-types.at:146"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "integer", "value": "boolean"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"integer\",\"value\":\"boolean\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:146"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_784
#AT_START_785
at_fn_group_banner 785 'ovsdb-types.at:149' \
  "map of 1 boolean to integer, explicit min and max - C" "" 52
at_xfail=no
(
  $as_echo "785. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:149: test-ovsdb parse-type '{\"key\": \"boolean\", \"value\": \"integer\", \"min\": 1, \"max\": 1}' "
at_fn_check_prepare_trace "ovsdb-types.at:149"
( $at_check_trace; test-ovsdb parse-type '{"key": "boolean", "value": "integer", "min": 1, "max": 1}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"boolean\",\"value\":\"integer\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:149"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_785
#AT_START_786
at_fn_group_banner 786 'ovsdb-types.at:149' \
  "map of 1 boolean to integer, explicit min and max - Python" "" 52
at_xfail=no
(
  $as_echo "786. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:149" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:149"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:149: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"boolean\", \"value\": \"integer\", \"min\": 1, \"max\": 1}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"boolean\", \"value\": \"integer\", \"min\": 1, \"max\": 1}' " "ovsdb-types.at:149"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "boolean", "value": "integer", "min": 1, "max": 1}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"boolean\",\"value\":\"integer\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:149"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_786
#AT_START_787
at_fn_group_banner 787 'ovsdb-types.at:152' \
  "map of 1 to 5 uuid to real - C" "                 " 52
at_xfail=no
(
  $as_echo "787. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:152: test-ovsdb parse-type '{\"key\": \"uuid\", \"value\": \"real\", \"min\": 1, \"max\": 5}' "
at_fn_check_prepare_trace "ovsdb-types.at:152"
( $at_check_trace; test-ovsdb parse-type '{"key": "uuid", "value": "real", "min": 1, "max": 5}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"uuid\",\"max\":5,\"value\":\"real\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:152"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_787
#AT_START_788
at_fn_group_banner 788 'ovsdb-types.at:152' \
  "map of 1 to 5 uuid to real - Python" "            " 52
at_xfail=no
(
  $as_echo "788. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:152" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:152"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:152: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"uuid\", \"value\": \"real\", \"min\": 1, \"max\": 5}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"uuid\", \"value\": \"real\", \"min\": 1, \"max\": 5}' " "ovsdb-types.at:152"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "uuid", "value": "real", "min": 1, "max": 5}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"uuid\",\"max\":5,\"value\":\"real\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:152"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_788
#AT_START_789
at_fn_group_banner 789 'ovsdb-types.at:155' \
  "map of 0 to 10 string to uuid - C" "              " 52
at_xfail=no
(
  $as_echo "789. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:155: test-ovsdb parse-type '{\"key\": \"string\", \"value\": \"uuid\", \"min\": 0, \"max\": 10}' "
at_fn_check_prepare_trace "ovsdb-types.at:155"
( $at_check_trace; test-ovsdb parse-type '{"key": "string", "value": "uuid", "min": 0, "max": 10}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"string\",\"max\":10,\"min\":0,\"value\":\"uuid\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:155"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_789
#AT_START_790
at_fn_group_banner 790 'ovsdb-types.at:155' \
  "map of 0 to 10 string to uuid - Python" "         " 52
at_xfail=no
(
  $as_echo "790. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:155" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:155"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:155: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"string\", \"value\": \"uuid\", \"min\": 0, \"max\": 10}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"string\", \"value\": \"uuid\", \"min\": 0, \"max\": 10}' " "ovsdb-types.at:155"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "string", "value": "uuid", "min": 0, "max": 10}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"string\",\"max\":10,\"min\":0,\"value\":\"uuid\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:155"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_790
#AT_START_791
at_fn_group_banner 791 'ovsdb-types.at:158' \
  "map of 1 to 20 real to string - C" "              " 52
at_xfail=no
(
  $as_echo "791. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:158: test-ovsdb parse-type '{\"key\": \"real\", \"value\": \"string\", \"min\": 1, \"max\": 20}' "
at_fn_check_prepare_trace "ovsdb-types.at:158"
( $at_check_trace; test-ovsdb parse-type '{"key": "real", "value": "string", "min": 1, "max": 20}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"real\",\"max\":20,\"value\":\"string\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:158"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_791
#AT_START_792
at_fn_group_banner 792 'ovsdb-types.at:158' \
  "map of 1 to 20 real to string - Python" "         " 52
at_xfail=no
(
  $as_echo "792. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:158" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:158"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:158: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"real\", \"value\": \"string\", \"min\": 1, \"max\": 20}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"real\", \"value\": \"string\", \"min\": 1, \"max\": 20}' " "ovsdb-types.at:158"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "real", "value": "string", "min": 1, "max": 20}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"real\",\"max\":20,\"value\":\"string\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:158"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_792
#AT_START_793
at_fn_group_banner 793 'ovsdb-types.at:161' \
  "map of 0 or more string to real - C" "            " 52
at_xfail=no
(
  $as_echo "793. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:161: test-ovsdb parse-type '{\"key\": \"string\", \"value\": \"real\", \"min\": 0, \"max\": \"unlimited\"}' "
at_fn_check_prepare_trace "ovsdb-types.at:161"
( $at_check_trace; test-ovsdb parse-type '{"key": "string", "value": "real", "min": 0, "max": "unlimited"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"string\",\"max\":\"unlimited\",\"min\":0,\"value\":\"real\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:161"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_793
#AT_START_794
at_fn_group_banner 794 'ovsdb-types.at:161' \
  "map of 0 or more string to real - Python" "       " 52
at_xfail=no
(
  $as_echo "794. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:161" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:161"


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:161: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"key\": \"string\", \"value\": \"real\", \"min\": 0, \"max\": \"unlimited\"}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"key\": \"string\", \"value\": \"real\", \"min\": 0, \"max\": \"unlimited\"}' " "ovsdb-types.at:161"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"key": "string", "value": "real", "min": 0, "max": "unlimited"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"key\":\"string\",\"max\":\"unlimited\",\"min\":0,\"value\":\"real\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:161"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_794
#AT_START_795
at_fn_group_banner 795 'ovsdb-types.at:165' \
  "map key type is required - C" "                   " 52
at_xfail=no
(
  $as_echo "795. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:165: test-ovsdb parse-type '{\"value\": \"integer\"}' "
at_fn_check_prepare_trace "ovsdb-types.at:165"
( $at_check_trace; test-ovsdb parse-type '{"value": "integer"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:165: if grep -F -e \"Required 'key' member is missing.\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:165"
( $at_check_trace; if grep -F -e "Required 'key' member is missing." stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_795
#AT_START_796
at_fn_group_banner 796 'ovsdb-types.at:165' \
  "map key type is required - Python" "              " 52
at_xfail=no
(
  $as_echo "796. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-types.at:165" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-types.at:165"

   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:165: \$PYTHON \$srcdir/test-ovsdb.py parse-type '{\"value\": \"integer\"}' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-type '{\"value\": \"integer\"}' " "ovsdb-types.at:165"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-type '{"value": "integer"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-types.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-types.at:165: if grep -F -e \"Required 'key' member is missing.\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-types.at:165"
( $at_check_trace; if grep -F -e "Required 'key' member is missing." stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-types.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_796
#AT_START_797
at_fn_group_banner 797 'ovsdb-data.at:3' \
  "default atoms - C" "                              " 53
at_xfail=no
(
  $as_echo "797. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:3: test-ovsdb default-atoms"
at_fn_check_prepare_trace "ovsdb-data.at:3"
( $at_check_trace; test-ovsdb default-atoms
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "integer: OK
real: OK
boolean: OK
string: OK
uuid: OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:3"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_797
#AT_START_798
at_fn_group_banner 798 'ovsdb-data.at:3' \
  "default atoms - Python" "                         " 53
at_xfail=no
(
  $as_echo "798. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:3" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:3"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:3: \$PYTHON \$srcdir/test-ovsdb.py default-atoms"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py default-atoms" "ovsdb-data.at:3"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py default-atoms
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "integer: OK
real: OK
boolean: OK
string: OK
uuid: OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:3"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_798
#AT_START_799
at_fn_group_banner 799 'ovsdb-data.at:11' \
  "default data - C" "                               " 53
at_xfail=no
(
  $as_echo "799. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:11: test-ovsdb default-data"
at_fn_check_prepare_trace "ovsdb-data.at:11"
( $at_check_trace; test-ovsdb default-data
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "key integer, value void, n_min 0: OK
key integer, value integer, n_min 0: OK
key integer, value real, n_min 0: OK
key integer, value boolean, n_min 0: OK
key integer, value string, n_min 0: OK
key integer, value uuid, n_min 0: OK
key real, value void, n_min 0: OK
key real, value integer, n_min 0: OK
key real, value real, n_min 0: OK
key real, value boolean, n_min 0: OK
key real, value string, n_min 0: OK
key real, value uuid, n_min 0: OK
key boolean, value void, n_min 0: OK
key boolean, value integer, n_min 0: OK
key boolean, value real, n_min 0: OK
key boolean, value boolean, n_min 0: OK
key boolean, value string, n_min 0: OK
key boolean, value uuid, n_min 0: OK
key string, value void, n_min 0: OK
key string, value integer, n_min 0: OK
key string, value real, n_min 0: OK
key string, value boolean, n_min 0: OK
key string, value string, n_min 0: OK
key string, value uuid, n_min 0: OK
key uuid, value void, n_min 0: OK
key uuid, value integer, n_min 0: OK
key uuid, value real, n_min 0: OK
key uuid, value boolean, n_min 0: OK
key uuid, value string, n_min 0: OK
key uuid, value uuid, n_min 0: OK
key integer, value void, n_min 1: OK
key integer, value integer, n_min 1: OK
key integer, value real, n_min 1: OK
key integer, value boolean, n_min 1: OK
key integer, value string, n_min 1: OK
key integer, value uuid, n_min 1: OK
key real, value void, n_min 1: OK
key real, value integer, n_min 1: OK
key real, value real, n_min 1: OK
key real, value boolean, n_min 1: OK
key real, value string, n_min 1: OK
key real, value uuid, n_min 1: OK
key boolean, value void, n_min 1: OK
key boolean, value integer, n_min 1: OK
key boolean, value real, n_min 1: OK
key boolean, value boolean, n_min 1: OK
key boolean, value string, n_min 1: OK
key boolean, value uuid, n_min 1: OK
key string, value void, n_min 1: OK
key string, value integer, n_min 1: OK
key string, value real, n_min 1: OK
key string, value boolean, n_min 1: OK
key string, value string, n_min 1: OK
key string, value uuid, n_min 1: OK
key uuid, value void, n_min 1: OK
key uuid, value integer, n_min 1: OK
key uuid, value real, n_min 1: OK
key uuid, value boolean, n_min 1: OK
key uuid, value string, n_min 1: OK
key uuid, value uuid, n_min 1: OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:11"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_799
#AT_START_800
at_fn_group_banner 800 'ovsdb-data.at:11' \
  "default data - Python" "                          " 53
at_xfail=no
(
  $as_echo "800. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:11" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:11"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:11: \$PYTHON \$srcdir/test-ovsdb.py default-data"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py default-data" "ovsdb-data.at:11"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py default-data
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "key integer, value void, n_min 0: OK
key integer, value integer, n_min 0: OK
key integer, value real, n_min 0: OK
key integer, value boolean, n_min 0: OK
key integer, value string, n_min 0: OK
key integer, value uuid, n_min 0: OK
key real, value void, n_min 0: OK
key real, value integer, n_min 0: OK
key real, value real, n_min 0: OK
key real, value boolean, n_min 0: OK
key real, value string, n_min 0: OK
key real, value uuid, n_min 0: OK
key boolean, value void, n_min 0: OK
key boolean, value integer, n_min 0: OK
key boolean, value real, n_min 0: OK
key boolean, value boolean, n_min 0: OK
key boolean, value string, n_min 0: OK
key boolean, value uuid, n_min 0: OK
key string, value void, n_min 0: OK
key string, value integer, n_min 0: OK
key string, value real, n_min 0: OK
key string, value boolean, n_min 0: OK
key string, value string, n_min 0: OK
key string, value uuid, n_min 0: OK
key uuid, value void, n_min 0: OK
key uuid, value integer, n_min 0: OK
key uuid, value real, n_min 0: OK
key uuid, value boolean, n_min 0: OK
key uuid, value string, n_min 0: OK
key uuid, value uuid, n_min 0: OK
key integer, value void, n_min 1: OK
key integer, value integer, n_min 1: OK
key integer, value real, n_min 1: OK
key integer, value boolean, n_min 1: OK
key integer, value string, n_min 1: OK
key integer, value uuid, n_min 1: OK
key real, value void, n_min 1: OK
key real, value integer, n_min 1: OK
key real, value real, n_min 1: OK
key real, value boolean, n_min 1: OK
key real, value string, n_min 1: OK
key real, value uuid, n_min 1: OK
key boolean, value void, n_min 1: OK
key boolean, value integer, n_min 1: OK
key boolean, value real, n_min 1: OK
key boolean, value boolean, n_min 1: OK
key boolean, value string, n_min 1: OK
key boolean, value uuid, n_min 1: OK
key string, value void, n_min 1: OK
key string, value integer, n_min 1: OK
key string, value real, n_min 1: OK
key string, value boolean, n_min 1: OK
key string, value string, n_min 1: OK
key string, value uuid, n_min 1: OK
key uuid, value void, n_min 1: OK
key uuid, value integer, n_min 1: OK
key uuid, value real, n_min 1: OK
key uuid, value boolean, n_min 1: OK
key uuid, value string, n_min 1: OK
key uuid, value uuid, n_min 1: OK
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:11"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_800
#AT_START_801
at_fn_group_banner 801 'ovsdb-data.at:76' \
  "integer atom from JSON - C" "                     " 54
at_xfail=no
(
  $as_echo "801. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:76: test-ovsdb parse-atoms '[\"integer\"]' \\
    '[0]' \\
    '[-1]' \\
    '[1e3]' \\
    '[9223372036854775807]' \\
    '[-9223372036854775808]' "
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:76"
( $at_check_trace; test-ovsdb parse-atoms '["integer"]' \
    '[0]' \
    '[-1]' \
    '[1e3]' \
    '[9223372036854775807]' \
    '[-9223372036854775808]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
-1
1000
9223372036854775807
-9223372036854775808
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:76"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_801
#AT_START_802
at_fn_group_banner 802 'ovsdb-data.at:76' \
  "integer atom from JSON - Python" "                " 54
at_xfail=no
(
  $as_echo "802. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:76" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:76"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:76: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[\"integer\"]' \\
    '[0]' \\
    '[-1]' \\
    '[1e3]' \\
    '[9223372036854775807]' \\
    '[-9223372036854775808]' "
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:76"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '["integer"]' \
    '[0]' \
    '[-1]' \
    '[1e3]' \
    '[9223372036854775807]' \
    '[-9223372036854775808]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
-1
1000
9223372036854775807
-9223372036854775808
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:76"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_802
#AT_START_803
at_fn_group_banner 803 'ovsdb-data.at:89' \
  "integer atom from string" "                       " 54
at_xfail=no
(
  $as_echo "803. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:89: test-ovsdb parse-atom-strings -- '[\"integer\"]' \\
    '0' \\
    '-1' \\
    '+1000' \\
    '9223372036854775807' \\
    '-9223372036854775808' "
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:89"
( $at_check_trace; test-ovsdb parse-atom-strings -- '["integer"]' \
    '0' \
    '-1' \
    '+1000' \
    '9223372036854775807' \
    '-9223372036854775808'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
-1
1000
9223372036854775807
-9223372036854775808
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:89"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_803
#AT_START_804
at_fn_group_banner 804 'ovsdb-data.at:102' \
  "real atom from JSON - C" "                        " 54
at_xfail=no
(
  $as_echo "804. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:102: test-ovsdb parse-atoms '[\"real\"]' \\
    '[0]' \\
    '[0.0]' \\
    '[-0.0]' \\
    '[-1.25]' \\
    '[1e3]' \\
    '[1e37]' \\
    '[0.00390625]' "
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:102"
( $at_check_trace; test-ovsdb parse-atoms '["real"]' \
    '[0]' \
    '[0.0]' \
    '[-0.0]' \
    '[-1.25]' \
    '[1e3]' \
    '[1e37]' \
    '[0.00390625]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
0
0
-1.25
1000
1e+37
0.00390625
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:102"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_804
#AT_START_805
at_fn_group_banner 805 'ovsdb-data.at:102' \
  "real atom from JSON - Python" "                   " 54
at_xfail=no
(
  $as_echo "805. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:102" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:102"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:102: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[\"real\"]' \\
    '[0]' \\
    '[0.0]' \\
    '[-0.0]' \\
    '[-1.25]' \\
    '[1e3]' \\
    '[1e37]' \\
    '[0.00390625]' "
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:102"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '["real"]' \
    '[0]' \
    '[0.0]' \
    '[-0.0]' \
    '[-1.25]' \
    '[1e3]' \
    '[1e37]' \
    '[0.00390625]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
0
0
-1.25
1000
1e+37
0.00390625
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:102"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_805
#AT_START_806
at_fn_group_banner 806 'ovsdb-data.at:119' \
  "real atom from string" "                          " 54
at_xfail=no
(
  $as_echo "806. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:119: test-ovsdb parse-atom-strings -- '[\"real\"]' \\
    '0' \\
    '0.0' \\
    '-0.0' \\
    '-1.25' \\
    '1e3' \\
    '1e37' \\
    '0.00390625' "
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:119"
( $at_check_trace; test-ovsdb parse-atom-strings -- '["real"]' \
    '0' \
    '0.0' \
    '-0.0' \
    '-1.25' \
    '1e3' \
    '1e37' \
    '0.00390625'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
0
0
-1.25
1000
1e+37
0.00390625
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:119"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_806
#AT_START_807
at_fn_group_banner 807 'ovsdb-data.at:136' \
  "boolean atom from JSON - C" "                     " 54
at_xfail=no
(
  $as_echo "807. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:136: test-ovsdb parse-atoms '[\"boolean\"]' '[true]' '[false]' "
at_fn_check_prepare_trace "ovsdb-data.at:136"
( $at_check_trace; test-ovsdb parse-atoms '["boolean"]' '[true]' '[false]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "true
false
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:136"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_807
#AT_START_808
at_fn_group_banner 808 'ovsdb-data.at:136' \
  "boolean atom from JSON - Python" "                " 54
at_xfail=no
(
  $as_echo "808. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:136" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:136"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:136: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[\"boolean\"]' '[true]' '[false]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-atoms '[\"boolean\"]' '[true]' '[false]' " "ovsdb-data.at:136"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '["boolean"]' '[true]' '[false]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "true
false
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:136"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_808
#AT_START_809
at_fn_group_banner 809 'ovsdb-data.at:141' \
  "boolean atom from string" "                       " 54
at_xfail=no
(
  $as_echo "809. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:141: test-ovsdb parse-atom-strings '[\"boolean\"]' 'true' 'false' "
at_fn_check_prepare_trace "ovsdb-data.at:141"
( $at_check_trace; test-ovsdb parse-atom-strings '["boolean"]' 'true' 'false'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "true
false
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:141"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_809
#AT_START_810
at_fn_group_banner 810 'ovsdb-data.at:146' \
  "string atom from JSON - C" "                      " 54
at_xfail=no
(
  $as_echo "810. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:146: test-ovsdb parse-atoms '[\"string\"]' '[\"\"]' '[\"true\"]' '[\"\\\"\\\\\\/\\b\\f\\n\\r\\t\"]'"
at_fn_check_prepare_trace "ovsdb-data.at:146"
( $at_check_trace; test-ovsdb parse-atoms '["string"]' '[""]' '["true"]' '["\"\\\/\b\f\n\r\t"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"\"
\"true\"
\"\\\"\\\\/\\b\\f\\n\\r\\t\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:146"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_810
#AT_START_811
at_fn_group_banner 811 'ovsdb-data.at:146' \
  "string atom from JSON - Python" "                 " 54
at_xfail=no
(
  $as_echo "811. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:146" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:146"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:146: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[\"string\"]' '[\"\"]' '[\"true\"]' '[\"\\\"\\\\\\/\\b\\f\\n\\r\\t\"]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-atoms '[\"string\"]' '[\"\"]' '[\"true\"]' '[\"\\\"\\\\\\/\\b\\f\\n\\r\\t\"]'" "ovsdb-data.at:146"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '["string"]' '[""]' '["true"]' '["\"\\\/\b\f\n\r\t"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"\"
\"true\"
\"\\\"\\\\/\\b\\f\\n\\r\\t\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:146"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_811
#AT_START_812
at_fn_group_banner 812 'ovsdb-data.at:152' \
  "string atom from string" "                        " 54
at_xfail=no
(
  $as_echo "812. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:152: test-ovsdb parse-atom-strings '[\"string\"]' \\
    'unquoted' \\
    '\"quoted-string\"' \\
    '\"needs quotes\"' \\
    '\"\"' \\
    '\"true\"' \\
    '\"\\\"\\\\\\/\\b\\f\\n\\r\\t\"'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:152"
( $at_check_trace; test-ovsdb parse-atom-strings '["string"]' \
    'unquoted' \
    '"quoted-string"' \
    '"needs quotes"' \
    '""' \
    '"true"' \
    '"\"\\\/\b\f\n\r\t"'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "unquoted
quoted-string
\"needs quotes\"
\"\"
\"true\"
\"\\\"\\\\/\\b\\f\\n\\r\\t\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:152"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_812
#AT_START_813
at_fn_group_banner 813 'ovsdb-data.at:167' \
  "uuid atom from JSON - C" "                        " 54
at_xfail=no
(
  $as_echo "813. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:167: test-ovsdb parse-atoms '[\"uuid\"]' '[\"uuid\", \"550e8400-e29b-41d4-a716-446655440000\"]'"
at_fn_check_prepare_trace "ovsdb-data.at:167"
( $at_check_trace; test-ovsdb parse-atoms '["uuid"]' '["uuid", "550e8400-e29b-41d4-a716-446655440000"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"uuid\",\"550e8400-e29b-41d4-a716-446655440000\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:167"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_813
#AT_START_814
at_fn_group_banner 814 'ovsdb-data.at:167' \
  "uuid atom from JSON - Python" "                   " 54
at_xfail=no
(
  $as_echo "814. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:167" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:167"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:167: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[\"uuid\"]' '[\"uuid\", \"550e8400-e29b-41d4-a716-446655440000\"]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-atoms '[\"uuid\"]' '[\"uuid\", \"550e8400-e29b-41d4-a716-446655440000\"]'" "ovsdb-data.at:167"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '["uuid"]' '["uuid", "550e8400-e29b-41d4-a716-446655440000"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"uuid\",\"550e8400-e29b-41d4-a716-446655440000\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:167"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_814
#AT_START_815
at_fn_group_banner 815 'ovsdb-data.at:171' \
  "uuid atom from string" "                          " 54
at_xfail=no
(
  $as_echo "815. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:171: test-ovsdb parse-atom-strings '[\"uuid\"]' '550e8400-e29b-41d4-a716-446655440000'"
at_fn_check_prepare_trace "ovsdb-data.at:171"
( $at_check_trace; test-ovsdb parse-atom-strings '["uuid"]' '550e8400-e29b-41d4-a716-446655440000'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "550e8400-e29b-41d4-a716-446655440000
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:171"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_815
#AT_START_816
at_fn_group_banner 816 'ovsdb-data.at:175' \
  "integer atom sorting - C" "                       " 54
at_xfail=no
(
  $as_echo "816. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:175: test-ovsdb sort-atoms '[\"integer\"]' '[55,0,-1,2,1]'"
at_fn_check_prepare_trace "ovsdb-data.at:175"
( $at_check_trace; test-ovsdb sort-atoms '["integer"]' '[55,0,-1,2,1]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[-1,0,1,2,55]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:175"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_816
#AT_START_817
at_fn_group_banner 817 'ovsdb-data.at:175' \
  "integer atom sorting - Python" "                  " 54
at_xfail=no
(
  $as_echo "817. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:175" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:175"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:175: \$PYTHON \$srcdir/test-ovsdb.py sort-atoms '[\"integer\"]' '[55,0,-1,2,1]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py sort-atoms '[\"integer\"]' '[55,0,-1,2,1]'" "ovsdb-data.at:175"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py sort-atoms '["integer"]' '[55,0,-1,2,1]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[-1,0,1,2,55]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:175"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_817
#AT_START_818
at_fn_group_banner 818 'ovsdb-data.at:179' \
  "real atom sorting - C" "                          " 54
at_xfail=no
(
  $as_echo "818. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:179: test-ovsdb sort-atoms '[\"real\"]' '[1.25,1.23,0.0,-0.0,-1e99]'"
at_fn_check_prepare_trace "ovsdb-data.at:179"
( $at_check_trace; test-ovsdb sort-atoms '["real"]' '[1.25,1.23,0.0,-0.0,-1e99]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[-1e+99,0,0,1.23,1.25]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:179"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_818
#AT_START_819
at_fn_group_banner 819 'ovsdb-data.at:179' \
  "real atom sorting - Python" "                     " 54
at_xfail=no
(
  $as_echo "819. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:179" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:179"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:179: \$PYTHON \$srcdir/test-ovsdb.py sort-atoms '[\"real\"]' '[1.25,1.23,0.0,-0.0,-1e99]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py sort-atoms '[\"real\"]' '[1.25,1.23,0.0,-0.0,-1e99]'" "ovsdb-data.at:179"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py sort-atoms '["real"]' '[1.25,1.23,0.0,-0.0,-1e99]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[-1e+99,0,0,1.23,1.25]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:179"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_819
#AT_START_820
at_fn_group_banner 820 'ovsdb-data.at:183' \
  "boolean atom sorting - C" "                       " 54
at_xfail=no
(
  $as_echo "820. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:183: test-ovsdb sort-atoms '[\"boolean\"]' '[true,false,true,false,false]'"
at_fn_check_prepare_trace "ovsdb-data.at:183"
( $at_check_trace; test-ovsdb sort-atoms '["boolean"]' '[true,false,true,false,false]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[false,false,false,true,true]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:183"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_820
#AT_START_821
at_fn_group_banner 821 'ovsdb-data.at:183' \
  "boolean atom sorting - Python" "                  " 54
at_xfail=no
(
  $as_echo "821. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:183" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:183"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:183: \$PYTHON \$srcdir/test-ovsdb.py sort-atoms '[\"boolean\"]' '[true,false,true,false,false]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py sort-atoms '[\"boolean\"]' '[true,false,true,false,false]'" "ovsdb-data.at:183"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py sort-atoms '["boolean"]' '[true,false,true,false,false]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[false,false,false,true,true]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:183"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_821
#AT_START_822
at_fn_group_banner 822 'ovsdb-data.at:187' \
  "string atom sorting - C" "                        " 54
at_xfail=no
(
  $as_echo "822. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:187: test-ovsdb sort-atoms '[\"string\"]' '[\"abd\",\"abc\",\"\\b\",\"xxx\"]'"
at_fn_check_prepare_trace "ovsdb-data.at:187"
( $at_check_trace; test-ovsdb sort-atoms '["string"]' '["abd","abc","\b","xxx"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"\\b\",\"abc\",\"abd\",\"xxx\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:187"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_822
#AT_START_823
at_fn_group_banner 823 'ovsdb-data.at:187' \
  "string atom sorting - Python" "                   " 54
at_xfail=no
(
  $as_echo "823. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:187" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:187"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:187: \$PYTHON \$srcdir/test-ovsdb.py sort-atoms '[\"string\"]' '[\"abd\",\"abc\",\"\\b\",\"xxx\"]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py sort-atoms '[\"string\"]' '[\"abd\",\"abc\",\"\\b\",\"xxx\"]'" "ovsdb-data.at:187"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py sort-atoms '["string"]' '["abd","abc","\b","xxx"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"\\b\",\"abc\",\"abd\",\"xxx\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:187"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_823
#AT_START_824
at_fn_group_banner 824 'ovsdb-data.at:191' \
  "uuid atom sorting - C" "                          " 54
at_xfail=no
(
  $as_echo "824. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:191: test-ovsdb sort-atoms '[\"uuid\"]' '[
    [\"uuid\", \"00000000-0000-0000-0000-000000000001\"],
    [\"uuid\", \"00000000-1000-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0000-1000-0000-000000000000\"],
    [\"uuid\", \"00010000-0000-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-000000000100\"],
    [\"uuid\", \"00000000-0000-0000-0000-000100000000\"],
    [\"uuid\", \"00000000-0000-0010-0000-000000000000\"],
    [\"uuid\", \"00000100-0000-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0000-0001-0000-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-000001000000\"],
    [\"uuid\", \"01000000-0000-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-000000001000\"],
    [\"uuid\", \"00000000-0000-0000-0000-000010000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-010000000000\"],
    [\"uuid\", \"00000000-0000-0100-0000-000000000000\"],
    [\"uuid\", \"10000000-0000-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-000000000010\"],
    [\"uuid\", \"00000000-0100-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0100-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0001-000000000000\"],
    [\"uuid\", \"00000010-0000-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0010-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-000000010000\"],
    [\"uuid\", \"00000000-0000-0000-1000-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-100000000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-001000000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-000000100000\"],
    [\"uuid\", \"00000000-0000-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0010-0000-0000-000000000000\"],
    [\"uuid\", \"00100000-0000-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0001-0000-0000-000000000000\"],
    [\"uuid\", \"00000001-0000-0000-0000-000000000000\"],
    [\"uuid\", \"00001000-0000-0000-0000-000000000000\"]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:191"
( $at_check_trace; test-ovsdb sort-atoms '["uuid"]' '[
    ["uuid", "00000000-0000-0000-0000-000000000001"],
    ["uuid", "00000000-1000-0000-0000-000000000000"],
    ["uuid", "00000000-0000-1000-0000-000000000000"],
    ["uuid", "00010000-0000-0000-0000-000000000000"],
    ["uuid", "00000000-0000-0000-0000-000000000100"],
    ["uuid", "00000000-0000-0000-0000-000100000000"],
    ["uuid", "00000000-0000-0010-0000-000000000000"],
    ["uuid", "00000100-0000-0000-0000-000000000000"],
    ["uuid", "00000000-0000-0001-0000-000000000000"],
    ["uuid", "00000000-0000-0000-0000-000001000000"],
    ["uuid", "01000000-0000-0000-0000-000000000000"],
    ["uuid", "00000000-0000-0000-0000-000000001000"],
    ["uuid", "00000000-0000-0000-0000-000010000000"],
    ["uuid", "00000000-0000-0000-0000-010000000000"],
    ["uuid", "00000000-0000-0100-0000-000000000000"],
    ["uuid", "10000000-0000-0000-0000-000000000000"],
    ["uuid", "00000000-0000-0000-0000-000000000010"],
    ["uuid", "00000000-0100-0000-0000-000000000000"],
    ["uuid", "00000000-0000-0000-0100-000000000000"],
    ["uuid", "00000000-0000-0000-0001-000000000000"],
    ["uuid", "00000010-0000-0000-0000-000000000000"],
    ["uuid", "00000000-0000-0000-0010-000000000000"],
    ["uuid", "00000000-0000-0000-0000-000000010000"],
    ["uuid", "00000000-0000-0000-1000-000000000000"],
    ["uuid", "00000000-0000-0000-0000-100000000000"],
    ["uuid", "00000000-0000-0000-0000-001000000000"],
    ["uuid", "00000000-0000-0000-0000-000000100000"],
    ["uuid", "00000000-0000-0000-0000-000000000000"],
    ["uuid", "00000000-0010-0000-0000-000000000000"],
    ["uuid", "00100000-0000-0000-0000-000000000000"],
    ["uuid", "00000000-0001-0000-0000-000000000000"],
    ["uuid", "00000001-0000-0000-0000-000000000000"],
    ["uuid", "00001000-0000-0000-0000-000000000000"]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],[\"uuid\",\"00000000-0000-0000-0000-000000000001\"],[\"uuid\",\"00000000-0000-0000-0000-000000000010\"],[\"uuid\",\"00000000-0000-0000-0000-000000000100\"],[\"uuid\",\"00000000-0000-0000-0000-000000001000\"],[\"uuid\",\"00000000-0000-0000-0000-000000010000\"],[\"uuid\",\"00000000-0000-0000-0000-000000100000\"],[\"uuid\",\"00000000-0000-0000-0000-000001000000\"],[\"uuid\",\"00000000-0000-0000-0000-000010000000\"],[\"uuid\",\"00000000-0000-0000-0000-000100000000\"],[\"uuid\",\"00000000-0000-0000-0000-001000000000\"],[\"uuid\",\"00000000-0000-0000-0000-010000000000\"],[\"uuid\",\"00000000-0000-0000-0000-100000000000\"],[\"uuid\",\"00000000-0000-0000-0001-000000000000\"],[\"uuid\",\"00000000-0000-0000-0010-000000000000\"],[\"uuid\",\"00000000-0000-0000-0100-000000000000\"],[\"uuid\",\"00000000-0000-0000-1000-000000000000\"],[\"uuid\",\"00000000-0000-0001-0000-000000000000\"],[\"uuid\",\"00000000-0000-0010-0000-000000000000\"],[\"uuid\",\"00000000-0000-0100-0000-000000000000\"],[\"uuid\",\"00000000-0000-1000-0000-000000000000\"],[\"uuid\",\"00000000-0001-0000-0000-000000000000\"],[\"uuid\",\"00000000-0010-0000-0000-000000000000\"],[\"uuid\",\"00000000-0100-0000-0000-000000000000\"],[\"uuid\",\"00000000-1000-0000-0000-000000000000\"],[\"uuid\",\"00000001-0000-0000-0000-000000000000\"],[\"uuid\",\"00000010-0000-0000-0000-000000000000\"],[\"uuid\",\"00000100-0000-0000-0000-000000000000\"],[\"uuid\",\"00001000-0000-0000-0000-000000000000\"],[\"uuid\",\"00010000-0000-0000-0000-000000000000\"],[\"uuid\",\"00100000-0000-0000-0000-000000000000\"],[\"uuid\",\"01000000-0000-0000-0000-000000000000\"],[\"uuid\",\"10000000-0000-0000-0000-000000000000\"]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:191"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_824
#AT_START_825
at_fn_group_banner 825 'ovsdb-data.at:191' \
  "uuid atom sorting - Python" "                     " 54
at_xfail=no
(
  $as_echo "825. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:191" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:191"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:191: \$PYTHON \$srcdir/test-ovsdb.py sort-atoms '[\"uuid\"]' '[
    [\"uuid\", \"00000000-0000-0000-0000-000000000001\"],
    [\"uuid\", \"00000000-1000-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0000-1000-0000-000000000000\"],
    [\"uuid\", \"00010000-0000-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-000000000100\"],
    [\"uuid\", \"00000000-0000-0000-0000-000100000000\"],
    [\"uuid\", \"00000000-0000-0010-0000-000000000000\"],
    [\"uuid\", \"00000100-0000-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0000-0001-0000-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-000001000000\"],
    [\"uuid\", \"01000000-0000-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-000000001000\"],
    [\"uuid\", \"00000000-0000-0000-0000-000010000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-010000000000\"],
    [\"uuid\", \"00000000-0000-0100-0000-000000000000\"],
    [\"uuid\", \"10000000-0000-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-000000000010\"],
    [\"uuid\", \"00000000-0100-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0100-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0001-000000000000\"],
    [\"uuid\", \"00000010-0000-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0010-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-000000010000\"],
    [\"uuid\", \"00000000-0000-0000-1000-000000000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-100000000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-001000000000\"],
    [\"uuid\", \"00000000-0000-0000-0000-000000100000\"],
    [\"uuid\", \"00000000-0000-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0010-0000-0000-000000000000\"],
    [\"uuid\", \"00100000-0000-0000-0000-000000000000\"],
    [\"uuid\", \"00000000-0001-0000-0000-000000000000\"],
    [\"uuid\", \"00000001-0000-0000-0000-000000000000\"],
    [\"uuid\", \"00001000-0000-0000-0000-000000000000\"]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:191"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py sort-atoms '["uuid"]' '[
    ["uuid", "00000000-0000-0000-0000-000000000001"],
    ["uuid", "00000000-1000-0000-0000-000000000000"],
    ["uuid", "00000000-0000-1000-0000-000000000000"],
    ["uuid", "00010000-0000-0000-0000-000000000000"],
    ["uuid", "00000000-0000-0000-0000-000000000100"],
    ["uuid", "00000000-0000-0000-0000-000100000000"],
    ["uuid", "00000000-0000-0010-0000-000000000000"],
    ["uuid", "00000100-0000-0000-0000-000000000000"],
    ["uuid", "00000000-0000-0001-0000-000000000000"],
    ["uuid", "00000000-0000-0000-0000-000001000000"],
    ["uuid", "01000000-0000-0000-0000-000000000000"],
    ["uuid", "00000000-0000-0000-0000-000000001000"],
    ["uuid", "00000000-0000-0000-0000-000010000000"],
    ["uuid", "00000000-0000-0000-0000-010000000000"],
    ["uuid", "00000000-0000-0100-0000-000000000000"],
    ["uuid", "10000000-0000-0000-0000-000000000000"],
    ["uuid", "00000000-0000-0000-0000-000000000010"],
    ["uuid", "00000000-0100-0000-0000-000000000000"],
    ["uuid", "00000000-0000-0000-0100-000000000000"],
    ["uuid", "00000000-0000-0000-0001-000000000000"],
    ["uuid", "00000010-0000-0000-0000-000000000000"],
    ["uuid", "00000000-0000-0000-0010-000000000000"],
    ["uuid", "00000000-0000-0000-0000-000000010000"],
    ["uuid", "00000000-0000-0000-1000-000000000000"],
    ["uuid", "00000000-0000-0000-0000-100000000000"],
    ["uuid", "00000000-0000-0000-0000-001000000000"],
    ["uuid", "00000000-0000-0000-0000-000000100000"],
    ["uuid", "00000000-0000-0000-0000-000000000000"],
    ["uuid", "00000000-0010-0000-0000-000000000000"],
    ["uuid", "00100000-0000-0000-0000-000000000000"],
    ["uuid", "00000000-0001-0000-0000-000000000000"],
    ["uuid", "00000001-0000-0000-0000-000000000000"],
    ["uuid", "00001000-0000-0000-0000-000000000000"]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],[\"uuid\",\"00000000-0000-0000-0000-000000000001\"],[\"uuid\",\"00000000-0000-0000-0000-000000000010\"],[\"uuid\",\"00000000-0000-0000-0000-000000000100\"],[\"uuid\",\"00000000-0000-0000-0000-000000001000\"],[\"uuid\",\"00000000-0000-0000-0000-000000010000\"],[\"uuid\",\"00000000-0000-0000-0000-000000100000\"],[\"uuid\",\"00000000-0000-0000-0000-000001000000\"],[\"uuid\",\"00000000-0000-0000-0000-000010000000\"],[\"uuid\",\"00000000-0000-0000-0000-000100000000\"],[\"uuid\",\"00000000-0000-0000-0000-001000000000\"],[\"uuid\",\"00000000-0000-0000-0000-010000000000\"],[\"uuid\",\"00000000-0000-0000-0000-100000000000\"],[\"uuid\",\"00000000-0000-0000-0001-000000000000\"],[\"uuid\",\"00000000-0000-0000-0010-000000000000\"],[\"uuid\",\"00000000-0000-0000-0100-000000000000\"],[\"uuid\",\"00000000-0000-0000-1000-000000000000\"],[\"uuid\",\"00000000-0000-0001-0000-000000000000\"],[\"uuid\",\"00000000-0000-0010-0000-000000000000\"],[\"uuid\",\"00000000-0000-0100-0000-000000000000\"],[\"uuid\",\"00000000-0000-1000-0000-000000000000\"],[\"uuid\",\"00000000-0001-0000-0000-000000000000\"],[\"uuid\",\"00000000-0010-0000-0000-000000000000\"],[\"uuid\",\"00000000-0100-0000-0000-000000000000\"],[\"uuid\",\"00000000-1000-0000-0000-000000000000\"],[\"uuid\",\"00000001-0000-0000-0000-000000000000\"],[\"uuid\",\"00000010-0000-0000-0000-000000000000\"],[\"uuid\",\"00000100-0000-0000-0000-000000000000\"],[\"uuid\",\"00001000-0000-0000-0000-000000000000\"],[\"uuid\",\"00010000-0000-0000-0000-000000000000\"],[\"uuid\",\"00100000-0000-0000-0000-000000000000\"],[\"uuid\",\"01000000-0000-0000-0000-000000000000\"],[\"uuid\",\"10000000-0000-0000-0000-000000000000\"]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:191"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_825
#AT_START_826
at_fn_group_banner 826 'ovsdb-data.at:228' \
  "real not acceptable integer JSON atom - C" "      " 54
at_xfail=no
(
  $as_echo "826. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:228: test-ovsdb parse-atoms '[\"integer\"]' '[0.5]' "
at_fn_check_prepare_trace "ovsdb-data.at:228"
( $at_check_trace; test-ovsdb parse-atoms '["integer"]' '[0.5]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "syntax \"0.5\": syntax error: expected integer
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:228"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_826
#AT_START_827
at_fn_group_banner 827 'ovsdb-data.at:228' \
  "real not acceptable integer JSON atom - Python" " " 54
at_xfail=no
(
  $as_echo "827. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:228" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:228"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:228: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[\"integer\"]' '[0.5]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-atoms '[\"integer\"]' '[0.5]' " "ovsdb-data.at:228"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '["integer"]' '[0.5]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "syntax \"0.5\": syntax error: expected integer
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:228"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_827
#AT_START_828
at_fn_group_banner 828 'ovsdb-data.at:234' \
  "no invalid UTF-8 sequences in strings" "          " 54
at_xfail=no
(
  $as_echo "828. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:234: test-ovsdb parse-atoms '[\"string\"]' \\
     '[\"\"]' \\
     '[\"\"]' \\
"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:234"
( $at_check_trace; test-ovsdb parse-atoms '["string"]' \
     '[""]' \
     '[""]' \

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: not a valid UTF-8 string: invalid UTF-8 sequence 0xc0
constraint violation: not a valid UTF-8 string: invalid UTF-8 sequence 0xed 0xa0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:234"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_828
#AT_START_829
at_fn_group_banner 829 'ovsdb-data.at:249' \
  "no invalid UTF-8 sequences in strings - Python" " " 54
at_xfail=no
(
  $as_echo "829. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:249" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:249"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:249: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[\"string\"]' \\
     '[\"\"]' \\
     '[\"\"]' \\
"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:249"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '["string"]' \
     '[""]' \
     '[""]' \

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"not a valid UTF-8 string: invalid UTF-8 sequence 0xc0\"
\"not a valid UTF-8 string: invalid UTF-8 sequence 0xed 0x80\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:249"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_829
#AT_START_830
at_fn_group_banner 830 'ovsdb-data.at:257' \
  "real not acceptable integer string atom" "        " 54
at_xfail=no
(
  $as_echo "830. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:257: test-ovsdb parse-atom-strings '[\"integer\"]' '0.5' "
at_fn_check_prepare_trace "ovsdb-data.at:257"
( $at_check_trace; test-ovsdb parse-atom-strings '["integer"]' '0.5'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:257"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:257: if grep -F -e \"\\\"0.5\\\" is not a valid integer\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:257"
( $at_check_trace; if grep -F -e "\"0.5\" is not a valid integer" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:257"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_830
#AT_START_831
at_fn_group_banner 831 'ovsdb-data.at:261' \
  "string \"true\" not acceptable boolean JSON atom - C" "" 54
at_xfail=no
(
  $as_echo "831. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:261: test-ovsdb parse-atoms '[\"boolean\"]' '[\"true\"]' "
at_fn_check_prepare_trace "ovsdb-data.at:261"
( $at_check_trace; test-ovsdb parse-atoms '["boolean"]' '["true"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "syntax \"\"true\"\": syntax error: expected boolean
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:261"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_831
#AT_START_832
at_fn_group_banner 832 'ovsdb-data.at:261' \
  "string \"true\" not acceptable boolean JSON atom - Python" "" 54
at_xfail=no
(
  $as_echo "832. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:261" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:261"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:261: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[\"boolean\"]' '[\"true\"]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-atoms '[\"boolean\"]' '[\"true\"]' " "ovsdb-data.at:261"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '["boolean"]' '["true"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "syntax \"\"true\"\": syntax error: expected boolean
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:261"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_832
#AT_START_833
at_fn_group_banner 833 'ovsdb-data.at:265' \
  "string \"true\" not acceptable boolean string atom" "" 54
at_xfail=no
(
  $as_echo "833. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:265: test-ovsdb parse-atom-strings '[\"boolean\"]' '\"true\"' "
at_fn_check_prepare_trace "ovsdb-data.at:265"
( $at_check_trace; test-ovsdb parse-atom-strings '["boolean"]' '"true"'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:265"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:265: if grep -F -e \"\\\"\\\"true\\\"\\\" is not a valid boolean (use \\\"true\\\" or \\\"false\\\")\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:265"
( $at_check_trace; if grep -F -e "\"\"true\"\" is not a valid boolean (use \"true\" or \"false\")" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:265"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_833
#AT_START_834
at_fn_group_banner 834 'ovsdb-data.at:269' \
  "integer not acceptable string JSON atom - C" "    " 54
at_xfail=no
(
  $as_echo "834. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:269: test-ovsdb parse-atoms '[\"string\"]' '[1]'"
at_fn_check_prepare_trace "ovsdb-data.at:269"
( $at_check_trace; test-ovsdb parse-atoms '["string"]' '[1]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "syntax \"1\": syntax error: expected string
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:269"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_834
#AT_START_835
at_fn_group_banner 835 'ovsdb-data.at:269' \
  "integer not acceptable string JSON atom - Python" "" 54
at_xfail=no
(
  $as_echo "835. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:269" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:269"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:269: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[\"string\"]' '[1]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-atoms '[\"string\"]' '[1]'" "ovsdb-data.at:269"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '["string"]' '[1]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "syntax \"1\": syntax error: expected string
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:269"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_835
#AT_START_836
at_fn_group_banner 836 'ovsdb-data.at:273' \
  "uuid atom must be expressed as JSON array - C" "  " 54
at_xfail=no
(
  $as_echo "836. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:273: test-ovsdb parse-atoms '[\"uuid\"]' '[\"550e8400-e29b-41d4-a716-446655440000\"]'"
at_fn_check_prepare_trace "ovsdb-data.at:273"
( $at_check_trace; test-ovsdb parse-atoms '["uuid"]' '["550e8400-e29b-41d4-a716-446655440000"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "syntax \"\"550e8400-e29b-41d4-a716-446655440000\"\": syntax error: expected [\"uuid\", <string>]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:273"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_836
#AT_START_837
at_fn_group_banner 837 'ovsdb-data.at:273' \
  "uuid atom must be expressed as JSON array - Python" "" 54
at_xfail=no
(
  $as_echo "837. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:273" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:273"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:273: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[\"uuid\"]' '[\"550e8400-e29b-41d4-a716-446655440000\"]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-atoms '[\"uuid\"]' '[\"550e8400-e29b-41d4-a716-446655440000\"]'" "ovsdb-data.at:273"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '["uuid"]' '["550e8400-e29b-41d4-a716-446655440000"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "syntax \"\"550e8400-e29b-41d4-a716-446655440000\"\": syntax error: expected [\"uuid\", <string>]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:273"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_837
#AT_START_838
at_fn_group_banner 838 'ovsdb-data.at:277' \
  "named-uuid requires symbol table - C" "           " 54
at_xfail=no
(
  $as_echo "838. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:277: test-ovsdb parse-atoms '[\"uuid\"]' '[\"named-uuid\", \"x\"]'"
at_fn_check_prepare_trace "ovsdb-data.at:277"
( $at_check_trace; test-ovsdb parse-atoms '["uuid"]' '["named-uuid", "x"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "syntax \"[\"named-uuid\",\"x\"]\": syntax error: expected [\"uuid\", <string>]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:277"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_838
#AT_START_839
at_fn_group_banner 839 'ovsdb-data.at:277' \
  "named-uuid requires symbol table - Python" "      " 54
at_xfail=no
(
  $as_echo "839. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:277" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:277"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:277: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[\"uuid\"]' '[\"named-uuid\", \"x\"]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-atoms '[\"uuid\"]' '[\"named-uuid\", \"x\"]'" "ovsdb-data.at:277"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '["uuid"]' '["named-uuid", "x"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "syntax \"[\"named-uuid\",\"x\"]\": syntax error: expected [\"uuid\", <string>]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:277"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_839
#AT_START_840
at_fn_group_banner 840 'ovsdb-data.at:281' \
  "empty string atom must be quoted" "               " 54
at_xfail=no
(
  $as_echo "840. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:281: test-ovsdb parse-atom-strings '[\"string\"]' ''"
at_fn_check_prepare_trace "ovsdb-data.at:281"
( $at_check_trace; test-ovsdb parse-atom-strings '["string"]' ''
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:281"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:281: if grep -F -e \"An empty string is not valid as input; use \\\"\\\" to represent the empty string\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:281"
( $at_check_trace; if grep -F -e "An empty string is not valid as input; use \"\" to represent the empty string" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:281"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_840
#AT_START_841
at_fn_group_banner 841 'ovsdb-data.at:285' \
  "quotes must be balanced" "                        " 54
at_xfail=no
(
  $as_echo "841. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:285: test-ovsdb parse-atom-strings '[\"string\"]' '\"asdf'"
at_fn_check_prepare_trace "ovsdb-data.at:285"
( $at_check_trace; test-ovsdb parse-atom-strings '["string"]' '"asdf'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:285"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:285: if grep -F -e \"\\\"asdf: missing quote at end of quoted string\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:285"
( $at_check_trace; if grep -F -e "\"asdf: missing quote at end of quoted string" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:285"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_841
#AT_START_842
at_fn_group_banner 842 'ovsdb-data.at:289' \
  "uuids must be valid" "                            " 54
at_xfail=no
(
  $as_echo "842. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:289: test-ovsdb parse-atom-strings '[\"uuid\"]' '1234-5678'"
at_fn_check_prepare_trace "ovsdb-data.at:289"
( $at_check_trace; test-ovsdb parse-atom-strings '["uuid"]' '1234-5678'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:289"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:289: if grep -F -e \"\\\"1234-5678\\\" is not a valid UUID\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:289"
( $at_check_trace; if grep -F -e "\"1234-5678\" is not a valid UUID" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:289"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_842
#AT_START_843
at_fn_group_banner 843 'ovsdb-data.at:295' \
  "integer atom enum - C" "                          " 55
at_xfail=no
(
  $as_echo "843. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:295: test-ovsdb parse-atoms '[{\"type\": \"integer\", \"enum\": [\"set\", [1, 6, 8, 10]]}]' \\
    '[0]' \\
    '[1]' \\
    '[2]' \\
    '[3]' \\
    '[6]' \\
    '[7]' \\
    '[8]' \\
    '[9]' \\
    '[10]' \\
    '[11]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:295"
( $at_check_trace; test-ovsdb parse-atoms '[{"type": "integer", "enum": ["set", [1, 6, 8, 10]]}]' \
    '[0]' \
    '[1]' \
    '[2]' \
    '[3]' \
    '[6]' \
    '[7]' \
    '[8]' \
    '[9]' \
    '[10]' \
    '[11]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: 0 is not one of the allowed values ([1, 6, 8, 10])
1
constraint violation: 2 is not one of the allowed values ([1, 6, 8, 10])
constraint violation: 3 is not one of the allowed values ([1, 6, 8, 10])
6
constraint violation: 7 is not one of the allowed values ([1, 6, 8, 10])
8
constraint violation: 9 is not one of the allowed values ([1, 6, 8, 10])
10
constraint violation: 11 is not one of the allowed values ([1, 6, 8, 10])
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:295"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_843
#AT_START_844
at_fn_group_banner 844 'ovsdb-data.at:295' \
  "integer atom enum - Python" "                     " 55
at_xfail=no
(
  $as_echo "844. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:295" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:295"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:295: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[{\"type\": \"integer\", \"enum\": [\"set\", [1, 6, 8, 10]]}]' \\
    '[0]' \\
    '[1]' \\
    '[2]' \\
    '[3]' \\
    '[6]' \\
    '[7]' \\
    '[8]' \\
    '[9]' \\
    '[10]' \\
    '[11]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:295"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '[{"type": "integer", "enum": ["set", [1, 6, 8, 10]]}]' \
    '[0]' \
    '[1]' \
    '[2]' \
    '[3]' \
    '[6]' \
    '[7]' \
    '[8]' \
    '[9]' \
    '[10]' \
    '[11]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: 0 is not one of the allowed values ([1, 6, 8, 10])
1
constraint violation: 2 is not one of the allowed values ([1, 6, 8, 10])
constraint violation: 3 is not one of the allowed values ([1, 6, 8, 10])
6
constraint violation: 7 is not one of the allowed values ([1, 6, 8, 10])
8
constraint violation: 9 is not one of the allowed values ([1, 6, 8, 10])
10
constraint violation: 11 is not one of the allowed values ([1, 6, 8, 10])
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:295"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_844
#AT_START_845
at_fn_group_banner 845 'ovsdb-data.at:318' \
  "real atom enum - C" "                             " 55
at_xfail=no
(
  $as_echo "845. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:318: test-ovsdb parse-atoms '[{\"type\": \"real\", \"enum\": [\"set\", [-1.5, 1.5]]}]' \\
    '[-2]' \\
    '[-1]' \\
    '[-1.5]' \\
    '[0]' \\
    '[1]' \\
    '[1.5]' \\
    '[2]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:318"
( $at_check_trace; test-ovsdb parse-atoms '[{"type": "real", "enum": ["set", [-1.5, 1.5]]}]' \
    '[-2]' \
    '[-1]' \
    '[-1.5]' \
    '[0]' \
    '[1]' \
    '[1.5]' \
    '[2]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: -2 is not one of the allowed values ([-1.5, 1.5])
constraint violation: -1 is not one of the allowed values ([-1.5, 1.5])
-1.5
constraint violation: 0 is not one of the allowed values ([-1.5, 1.5])
constraint violation: 1 is not one of the allowed values ([-1.5, 1.5])
1.5
constraint violation: 2 is not one of the allowed values ([-1.5, 1.5])
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:318"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_845
#AT_START_846
at_fn_group_banner 846 'ovsdb-data.at:318' \
  "real atom enum - Python" "                        " 55
at_xfail=no
(
  $as_echo "846. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:318" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:318"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:318: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[{\"type\": \"real\", \"enum\": [\"set\", [-1.5, 1.5]]}]' \\
    '[-2]' \\
    '[-1]' \\
    '[-1.5]' \\
    '[0]' \\
    '[1]' \\
    '[1.5]' \\
    '[2]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:318"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '[{"type": "real", "enum": ["set", [-1.5, 1.5]]}]' \
    '[-2]' \
    '[-1]' \
    '[-1.5]' \
    '[0]' \
    '[1]' \
    '[1.5]' \
    '[2]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: -2 is not one of the allowed values ([-1.5, 1.5])
constraint violation: -1 is not one of the allowed values ([-1.5, 1.5])
-1.5
constraint violation: 0 is not one of the allowed values ([-1.5, 1.5])
constraint violation: 1 is not one of the allowed values ([-1.5, 1.5])
1.5
constraint violation: 2 is not one of the allowed values ([-1.5, 1.5])
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:318"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_846
#AT_START_847
at_fn_group_banner 847 'ovsdb-data.at:335' \
  "boolean atom enum - C" "                          " 55
at_xfail=no
(
  $as_echo "847. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:335: test-ovsdb parse-atoms '[{\"type\": \"boolean\", \"enum\": false}]' \\
    '[false]' \\
    '[true]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:335"
( $at_check_trace; test-ovsdb parse-atoms '[{"type": "boolean", "enum": false}]' \
    '[false]' \
    '[true]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "false
constraint violation: true is not one of the allowed values ([false])
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:335"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_847
#AT_START_848
at_fn_group_banner 848 'ovsdb-data.at:335' \
  "boolean atom enum - Python" "                     " 55
at_xfail=no
(
  $as_echo "848. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:335" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:335"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:335: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[{\"type\": \"boolean\", \"enum\": false}]' \\
    '[false]' \\
    '[true]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:335"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '[{"type": "boolean", "enum": false}]' \
    '[false]' \
    '[true]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "false
constraint violation: true is not one of the allowed values ([false])
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:335"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_848
#AT_START_849
at_fn_group_banner 849 'ovsdb-data.at:342' \
  "string atom enum - C" "                           " 55
at_xfail=no
(
  $as_echo "849. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:342: test-ovsdb parse-atoms '[{\"type\": \"string\", \"enum\": [\"set\", [\"abc\", \"def\"]]}]' \\
    '[\"\"]' \\
    '[\"ab\"]' \\
    '[\"abc\"]' \\
    '[\"def\"]' \\
    '[\"defg\"]' \\
    '[\"DEF\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:342"
( $at_check_trace; test-ovsdb parse-atoms '[{"type": "string", "enum": ["set", ["abc", "def"]]}]' \
    '[""]' \
    '["ab"]' \
    '["abc"]' \
    '["def"]' \
    '["defg"]' \
    '["DEF"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: \"\" is not one of the allowed values ([abc, def])
constraint violation: ab is not one of the allowed values ([abc, def])
\"abc\"
\"def\"
constraint violation: defg is not one of the allowed values ([abc, def])
constraint violation: DEF is not one of the allowed values ([abc, def])
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:342"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_849
#AT_START_850
at_fn_group_banner 850 'ovsdb-data.at:342' \
  "string atom enum - Python" "                      " 55
at_xfail=no
(
  $as_echo "850. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:342" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:342"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:342: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[{\"type\": \"string\", \"enum\": [\"set\", [\"abc\", \"def\"]]}]' \\
    '[\"\"]' \\
    '[\"ab\"]' \\
    '[\"abc\"]' \\
    '[\"def\"]' \\
    '[\"defg\"]' \\
    '[\"DEF\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:342"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '[{"type": "string", "enum": ["set", ["abc", "def"]]}]' \
    '[""]' \
    '["ab"]' \
    '["abc"]' \
    '["def"]' \
    '["defg"]' \
    '["DEF"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: \"\" is not one of the allowed values ([abc, def])
constraint violation: ab is not one of the allowed values ([abc, def])
\"abc\"
\"def\"
constraint violation: defg is not one of the allowed values ([abc, def])
constraint violation: DEF is not one of the allowed values ([abc, def])
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:342"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_850
#AT_START_851
at_fn_group_banner 851 'ovsdb-data.at:357' \
  "uuid atom enum - C" "                             " 55
at_xfail=no
(
  $as_echo "851. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:357: test-ovsdb parse-atoms '[{\"type\": \"uuid\", \"enum\": [\"set\", [[\"uuid\", \"6d53a6dd-2da7-4924-9927-97f613812382\"], [\"uuid\", \"52cbc842-137a-4db5-804f-9f34106a0ba3\"]]]}]' \\
    '[\"uuid\", \"6d53a6dd-2da7-4924-9927-97f613812382\"]' \\
    '[\"uuid\", \"52cbc842-137a-4db5-804f-9f34106a0ba3\"]' \\
    '[\"uuid\", \"dab2a6b2-6094-4f43-a7ef-4c0f0608f176\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:357"
( $at_check_trace; test-ovsdb parse-atoms '[{"type": "uuid", "enum": ["set", [["uuid", "6d53a6dd-2da7-4924-9927-97f613812382"], ["uuid", "52cbc842-137a-4db5-804f-9f34106a0ba3"]]]}]' \
    '["uuid", "6d53a6dd-2da7-4924-9927-97f613812382"]' \
    '["uuid", "52cbc842-137a-4db5-804f-9f34106a0ba3"]' \
    '["uuid", "dab2a6b2-6094-4f43-a7ef-4c0f0608f176"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"uuid\",\"6d53a6dd-2da7-4924-9927-97f613812382\"]
[\"uuid\",\"52cbc842-137a-4db5-804f-9f34106a0ba3\"]
constraint violation: dab2a6b2-6094-4f43-a7ef-4c0f0608f176 is not one of the allowed values ([52cbc842-137a-4db5-804f-9f34106a0ba3, 6d53a6dd-2da7-4924-9927-97f613812382])
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:357"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_851
#AT_START_852
at_fn_group_banner 852 'ovsdb-data.at:357' \
  "uuid atom enum - Python" "                        " 55
at_xfail=no
(
  $as_echo "852. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:357" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:357"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:357: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[{\"type\": \"uuid\", \"enum\": [\"set\", [[\"uuid\", \"6d53a6dd-2da7-4924-9927-97f613812382\"], [\"uuid\", \"52cbc842-137a-4db5-804f-9f34106a0ba3\"]]]}]' \\
    '[\"uuid\", \"6d53a6dd-2da7-4924-9927-97f613812382\"]' \\
    '[\"uuid\", \"52cbc842-137a-4db5-804f-9f34106a0ba3\"]' \\
    '[\"uuid\", \"dab2a6b2-6094-4f43-a7ef-4c0f0608f176\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:357"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '[{"type": "uuid", "enum": ["set", [["uuid", "6d53a6dd-2da7-4924-9927-97f613812382"], ["uuid", "52cbc842-137a-4db5-804f-9f34106a0ba3"]]]}]' \
    '["uuid", "6d53a6dd-2da7-4924-9927-97f613812382"]' \
    '["uuid", "52cbc842-137a-4db5-804f-9f34106a0ba3"]' \
    '["uuid", "dab2a6b2-6094-4f43-a7ef-4c0f0608f176"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"uuid\",\"6d53a6dd-2da7-4924-9927-97f613812382\"]
[\"uuid\",\"52cbc842-137a-4db5-804f-9f34106a0ba3\"]
constraint violation: dab2a6b2-6094-4f43-a7ef-4c0f0608f176 is not one of the allowed values ([52cbc842-137a-4db5-804f-9f34106a0ba3, 6d53a6dd-2da7-4924-9927-97f613812382])
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:357"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_852
#AT_START_853
at_fn_group_banner 853 'ovsdb-data.at:368' \
  "integers >= 5 - C" "                              " 56
at_xfail=no
(
  $as_echo "853. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:368: test-ovsdb parse-atoms '[{\"type\": \"integer\", \"minInteger\": 5}]' \\
    '[0]' \\
    '[4]' \\
    '[5]' \\
    '[6]' \\
    '[12345]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:368"
( $at_check_trace; test-ovsdb parse-atoms '[{"type": "integer", "minInteger": 5}]' \
    '[0]' \
    '[4]' \
    '[5]' \
    '[6]' \
    '[12345]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: 0 is less than minimum allowed value 5
constraint violation: 4 is less than minimum allowed value 5
5
6
12345
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:368"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_853
#AT_START_854
at_fn_group_banner 854 'ovsdb-data.at:368' \
  "integers >= 5 - Python" "                         " 56
at_xfail=no
(
  $as_echo "854. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:368" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:368"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:368: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[{\"type\": \"integer\", \"minInteger\": 5}]' \\
    '[0]' \\
    '[4]' \\
    '[5]' \\
    '[6]' \\
    '[12345]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:368"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '[{"type": "integer", "minInteger": 5}]' \
    '[0]' \
    '[4]' \
    '[5]' \
    '[6]' \
    '[12345]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: 0 is less than minimum allowed value 5
constraint violation: 4 is less than minimum allowed value 5
5
6
12345
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:368"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_854
#AT_START_855
at_fn_group_banner 855 'ovsdb-data.at:381' \
  "integers <= -1 - C" "                             " 56
at_xfail=no
(
  $as_echo "855. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:381: test-ovsdb parse-atoms '[{\"type\": \"integer\", \"maxInteger\": -1}]' \\
    '[0]' \\
    '[-1]' \\
    '[-2]' \\
    '[-123]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:381"
( $at_check_trace; test-ovsdb parse-atoms '[{"type": "integer", "maxInteger": -1}]' \
    '[0]' \
    '[-1]' \
    '[-2]' \
    '[-123]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: 0 is greater than maximum allowed value -1
-1
-2
-123
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:381"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_855
#AT_START_856
at_fn_group_banner 856 'ovsdb-data.at:381' \
  "integers <= -1 - Python" "                        " 56
at_xfail=no
(
  $as_echo "856. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:381" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:381"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:381: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[{\"type\": \"integer\", \"maxInteger\": -1}]' \\
    '[0]' \\
    '[-1]' \\
    '[-2]' \\
    '[-123]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:381"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '[{"type": "integer", "maxInteger": -1}]' \
    '[0]' \
    '[-1]' \
    '[-2]' \
    '[-123]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: 0 is greater than maximum allowed value -1
-1
-2
-123
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:381"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_856
#AT_START_857
at_fn_group_banner 857 'ovsdb-data.at:392' \
  "integers in range -10 to 10 - C" "                " 56
at_xfail=no
(
  $as_echo "857. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:392: test-ovsdb parse-atoms '[{\"type\": \"integer\", \"minInteger\": -10, \"maxInteger\": 10}]' \\
    '[-20]' \\
    '[-11]' \\
    '[-10]' \\
    '[-9]' \\
    '[1]' \\
    '[9]' \\
    '[10]' \\
    '[11]' \\
    '[123576]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:392"
( $at_check_trace; test-ovsdb parse-atoms '[{"type": "integer", "minInteger": -10, "maxInteger": 10}]' \
    '[-20]' \
    '[-11]' \
    '[-10]' \
    '[-9]' \
    '[1]' \
    '[9]' \
    '[10]' \
    '[11]' \
    '[123576]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: -20 is not in the valid range -10 to 10 (inclusive)
constraint violation: -11 is not in the valid range -10 to 10 (inclusive)
-10
-9
1
9
10
constraint violation: 11 is not in the valid range -10 to 10 (inclusive)
constraint violation: 123576 is not in the valid range -10 to 10 (inclusive)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:392"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_857
#AT_START_858
at_fn_group_banner 858 'ovsdb-data.at:392' \
  "integers in range -10 to 10 - Python" "           " 56
at_xfail=no
(
  $as_echo "858. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:392" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:392"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:392: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[{\"type\": \"integer\", \"minInteger\": -10, \"maxInteger\": 10}]' \\
    '[-20]' \\
    '[-11]' \\
    '[-10]' \\
    '[-9]' \\
    '[1]' \\
    '[9]' \\
    '[10]' \\
    '[11]' \\
    '[123576]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:392"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '[{"type": "integer", "minInteger": -10, "maxInteger": 10}]' \
    '[-20]' \
    '[-11]' \
    '[-10]' \
    '[-9]' \
    '[1]' \
    '[9]' \
    '[10]' \
    '[11]' \
    '[123576]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: -20 is not in the valid range -10 to 10 (inclusive)
constraint violation: -11 is not in the valid range -10 to 10 (inclusive)
-10
-9
1
9
10
constraint violation: 11 is not in the valid range -10 to 10 (inclusive)
constraint violation: 123576 is not in the valid range -10 to 10 (inclusive)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:392"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_858
#AT_START_859
at_fn_group_banner 859 'ovsdb-data.at:413' \
  "reals >= 5 - C" "                                 " 56
at_xfail=no
(
  $as_echo "859. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:413: test-ovsdb parse-atoms '[{\"type\": \"real\", \"minReal\": 5}]' \\
    '[0]' \\
    '[4]' \\
    '[5]' \\
    '[6]' \\
    '[12345]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:413"
( $at_check_trace; test-ovsdb parse-atoms '[{"type": "real", "minReal": 5}]' \
    '[0]' \
    '[4]' \
    '[5]' \
    '[6]' \
    '[12345]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: 0 is less than minimum allowed value 5
constraint violation: 4 is less than minimum allowed value 5
5
6
12345
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:413"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_859
#AT_START_860
at_fn_group_banner 860 'ovsdb-data.at:413' \
  "reals >= 5 - Python" "                            " 56
at_xfail=no
(
  $as_echo "860. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:413" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:413"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:413: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[{\"type\": \"real\", \"minReal\": 5}]' \\
    '[0]' \\
    '[4]' \\
    '[5]' \\
    '[6]' \\
    '[12345]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:413"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '[{"type": "real", "minReal": 5}]' \
    '[0]' \
    '[4]' \
    '[5]' \
    '[6]' \
    '[12345]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: 0 is less than minimum allowed value 5
constraint violation: 4 is less than minimum allowed value 5
5
6
12345
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:413"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_860
#AT_START_861
at_fn_group_banner 861 'ovsdb-data.at:426' \
  "reals <= -1 - C" "                                " 56
at_xfail=no
(
  $as_echo "861. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:426: test-ovsdb parse-atoms '[{\"type\": \"real\", \"maxReal\": -1}]' \\
    '[0]' \\
    '[-1]' \\
    '[-2]' \\
    '[-123]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:426"
( $at_check_trace; test-ovsdb parse-atoms '[{"type": "real", "maxReal": -1}]' \
    '[0]' \
    '[-1]' \
    '[-2]' \
    '[-123]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: 0 is greater than maximum allowed value -1
-1
-2
-123
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:426"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_861
#AT_START_862
at_fn_group_banner 862 'ovsdb-data.at:426' \
  "reals <= -1 - Python" "                           " 56
at_xfail=no
(
  $as_echo "862. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:426" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:426"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:426: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[{\"type\": \"real\", \"maxReal\": -1}]' \\
    '[0]' \\
    '[-1]' \\
    '[-2]' \\
    '[-123]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:426"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '[{"type": "real", "maxReal": -1}]' \
    '[0]' \
    '[-1]' \
    '[-2]' \
    '[-123]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: 0 is greater than maximum allowed value -1
-1
-2
-123
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:426"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_862
#AT_START_863
at_fn_group_banner 863 'ovsdb-data.at:437' \
  "reals in range -10 to 10 - C" "                   " 56
at_xfail=no
(
  $as_echo "863. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:437: test-ovsdb parse-atoms '[{\"type\": \"real\", \"minReal\": -10, \"maxReal\": 10}]' \\
    '[-20]' \\
    '[-11]' \\
    '[-10]' \\
    '[-9]' \\
    '[1]' \\
    '[9]' \\
    '[10]' \\
    '[11]' \\
    '[123576]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:437"
( $at_check_trace; test-ovsdb parse-atoms '[{"type": "real", "minReal": -10, "maxReal": 10}]' \
    '[-20]' \
    '[-11]' \
    '[-10]' \
    '[-9]' \
    '[1]' \
    '[9]' \
    '[10]' \
    '[11]' \
    '[123576]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: -20 is not in the valid range -10 to 10 (inclusive)
constraint violation: -11 is not in the valid range -10 to 10 (inclusive)
-10
-9
1
9
10
constraint violation: 11 is not in the valid range -10 to 10 (inclusive)
constraint violation: 123576 is not in the valid range -10 to 10 (inclusive)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:437"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_863
#AT_START_864
at_fn_group_banner 864 'ovsdb-data.at:437' \
  "reals in range -10 to 10 - Python" "              " 56
at_xfail=no
(
  $as_echo "864. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:437" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:437"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:437: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '[{\"type\": \"real\", \"minReal\": -10, \"maxReal\": 10}]' \\
    '[-20]' \\
    '[-11]' \\
    '[-10]' \\
    '[-9]' \\
    '[1]' \\
    '[9]' \\
    '[10]' \\
    '[11]' \\
    '[123576]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:437"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '[{"type": "real", "minReal": -10, "maxReal": 10}]' \
    '[-20]' \
    '[-11]' \
    '[-10]' \
    '[-9]' \
    '[1]' \
    '[9]' \
    '[10]' \
    '[11]' \
    '[123576]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: -20 is not in the valid range -10 to 10 (inclusive)
constraint violation: -11 is not in the valid range -10 to 10 (inclusive)
-10
-9
1
9
10
constraint violation: 11 is not in the valid range -10 to 10 (inclusive)
constraint violation: 123576 is not in the valid range -10 to 10 (inclusive)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:437"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_864
#AT_START_865
at_fn_group_banner 865 'ovsdb-data.at:458' \
  "strings at least 2 characters long - C" "         " 56
at_xfail=no
(
  $as_echo "865. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:458: test-ovsdb parse-atoms '{\"type\": \"string\", \"minLength\": 2}' \\
    '[\"\"]' \\
    '[\"a\"]' \\
    '[\"ab\"]' \\
    '[\"abc\"]' \\
    '[\"\\ud834\\udd1e\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:458"
( $at_check_trace; test-ovsdb parse-atoms '{"type": "string", "minLength": 2}' \
    '[""]' \
    '["a"]' \
    '["ab"]' \
    '["abc"]' \
    '["\ud834\udd1e"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: \"\" length 0 is less than minimum allowed length 2
constraint violation: \"a\" length 1 is less than minimum allowed length 2
\"ab\"
\"abc\"
constraint violation: \"𝄞\" length 1 is less than minimum allowed length 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:458"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_865
#AT_START_866
at_fn_group_banner 866 'ovsdb-data.at:458' \
  "strings at least 2 characters long - Python" "    " 56
at_xfail=no
(
  $as_echo "866. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:458" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:458"
      { set +x
$as_echo "$at_srcdir/ovsdb-data.at:458: \$PYTHON -c 'unichr(0x10000)' || exit 77"
at_fn_check_prepare_dynamic "$PYTHON -c 'unichr(0x10000)' || exit 77" "ovsdb-data.at:458"
( $at_check_trace; $PYTHON -c 'unichr(0x10000)' || exit 77
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:458"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:458: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '{\"type\": \"string\", \"minLength\": 2}' \\
    '[\"\"]' \\
    '[\"a\"]' \\
    '[\"ab\"]' \\
    '[\"abc\"]' \\
    '[\"\\ud834\\udd1e\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:458"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '{"type": "string", "minLength": 2}' \
    '[""]' \
    '["a"]' \
    '["ab"]' \
    '["abc"]' \
    '["\ud834\udd1e"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraint violation: \"\" length 0 is less than minimum allowed length 2
constraint violation: \"a\" length 1 is less than minimum allowed length 2
\"ab\"
\"abc\"
constraint violation: \"𝄞\" length 1 is less than minimum allowed length 2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:458"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_866
#AT_START_867
at_fn_group_banner 867 'ovsdb-data.at:476' \
  "strings no more than 2 characters long - C" "     " 56
at_xfail=no
(
  $as_echo "867. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:476: test-ovsdb parse-atoms '{\"type\": \"string\", \"maxLength\": 2}' \\
    '[\"\"]' \\
    '[\"a\"]' \\
    '[\"ab\"]' \\
    '[\"abc\"]' \\
    '[\"de\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:476"
( $at_check_trace; test-ovsdb parse-atoms '{"type": "string", "maxLength": 2}' \
    '[""]' \
    '["a"]' \
    '["ab"]' \
    '["abc"]' \
    '["de"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"\"
\"a\"
\"ab\"
constraint violation: \"abc\" length 3 is greater than maximum allowed length 2
\"de\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:476"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_867
#AT_START_868
at_fn_group_banner 868 'ovsdb-data.at:476' \
  "strings no more than 2 characters long - Python" "" 56
at_xfail=no
(
  $as_echo "868. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:476" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:476"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:476: \$PYTHON \$srcdir/test-ovsdb.py parse-atoms '{\"type\": \"string\", \"maxLength\": 2}' \\
    '[\"\"]' \\
    '[\"a\"]' \\
    '[\"ab\"]' \\
    '[\"abc\"]' \\
    '[\"de\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:476"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-atoms '{"type": "string", "maxLength": 2}' \
    '[""]' \
    '["a"]' \
    '["ab"]' \
    '["abc"]' \
    '["de"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"\"
\"a\"
\"ab\"
constraint violation: \"abc\" length 3 is greater than maximum allowed length 2
\"de\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:476"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_868
#AT_START_869
at_fn_group_banner 869 'ovsdb-data.at:491' \
  "integer JSON datum - C" "                         " 57
at_xfail=no
(
  $as_echo "869. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:491: test-ovsdb parse-data '[\"integer\"]' '[0]' '[\"set\",[1]]' '[-1]'"
at_fn_check_prepare_trace "ovsdb-data.at:491"
( $at_check_trace; test-ovsdb parse-data '["integer"]' '[0]' '["set",[1]]' '[-1]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
1
-1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:491"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_869
#AT_START_870
at_fn_group_banner 870 'ovsdb-data.at:491' \
  "integer JSON datum - Python" "                    " 57
at_xfail=no
(
  $as_echo "870. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:491" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:491"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:491: \$PYTHON \$srcdir/test-ovsdb.py parse-data '[\"integer\"]' '[0]' '[\"set\",[1]]' '[-1]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-data '[\"integer\"]' '[0]' '[\"set\",[1]]' '[-1]'" "ovsdb-data.at:491"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '["integer"]' '[0]' '["set",[1]]' '[-1]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
1
-1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:491"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_870
#AT_START_871
at_fn_group_banner 871 'ovsdb-data.at:497' \
  "integer string datum" "                           " 57
at_xfail=no
(
  $as_echo "871. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:497: test-ovsdb parse-data-strings -- '[\"integer\"]' '0' '1' '-1' '+1'"
at_fn_check_prepare_trace "ovsdb-data.at:497"
( $at_check_trace; test-ovsdb parse-data-strings -- '["integer"]' '0' '1' '-1' '+1'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
1
-1
1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:497"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_871
#AT_START_872
at_fn_group_banner 872 'ovsdb-data.at:504' \
  "real JSON datum - C" "                            " 57
at_xfail=no
(
  $as_echo "872. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:504: test-ovsdb parse-data '[\"real\"]' '[0]' '[\"set\",[1.0]]' '[-1.25]'"
at_fn_check_prepare_trace "ovsdb-data.at:504"
( $at_check_trace; test-ovsdb parse-data '["real"]' '[0]' '["set",[1.0]]' '[-1.25]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
1
-1.25
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:504"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_872
#AT_START_873
at_fn_group_banner 873 'ovsdb-data.at:504' \
  "real JSON datum - Python" "                       " 57
at_xfail=no
(
  $as_echo "873. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:504" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:504"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:504: \$PYTHON \$srcdir/test-ovsdb.py parse-data '[\"real\"]' '[0]' '[\"set\",[1.0]]' '[-1.25]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-data '[\"real\"]' '[0]' '[\"set\",[1.0]]' '[-1.25]'" "ovsdb-data.at:504"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '["real"]' '[0]' '["set",[1.0]]' '[-1.25]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
1
-1.25
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:504"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_873
#AT_START_874
at_fn_group_banner 874 'ovsdb-data.at:510' \
  "real string datum" "                              " 57
at_xfail=no
(
  $as_echo "874. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:510: test-ovsdb parse-data-strings -- '[\"real\"]' '0' '1.0' '-1.25'"
at_fn_check_prepare_trace "ovsdb-data.at:510"
( $at_check_trace; test-ovsdb parse-data-strings -- '["real"]' '0' '1.0' '-1.25'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
1
-1.25
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:510"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_874
#AT_START_875
at_fn_group_banner 875 'ovsdb-data.at:516' \
  "boolean JSON datum - C" "                         " 57
at_xfail=no
(
  $as_echo "875. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:516: test-ovsdb parse-data '[\"boolean\"]' '[\"set\", [true]]' '[false]' "
at_fn_check_prepare_trace "ovsdb-data.at:516"
( $at_check_trace; test-ovsdb parse-data '["boolean"]' '["set", [true]]' '[false]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "true
false
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:516"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_875
#AT_START_876
at_fn_group_banner 876 'ovsdb-data.at:516' \
  "boolean JSON datum - Python" "                    " 57
at_xfail=no
(
  $as_echo "876. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:516" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:516"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:516: \$PYTHON \$srcdir/test-ovsdb.py parse-data '[\"boolean\"]' '[\"set\", [true]]' '[false]' "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-data '[\"boolean\"]' '[\"set\", [true]]' '[false]' " "ovsdb-data.at:516"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '["boolean"]' '["set", [true]]' '[false]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "true
false
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:516"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_876
#AT_START_877
at_fn_group_banner 877 'ovsdb-data.at:521' \
  "boolean string datum" "                           " 57
at_xfail=no
(
  $as_echo "877. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:521: test-ovsdb parse-data-strings '[\"boolean\"]' 'true' 'false' "
at_fn_check_prepare_trace "ovsdb-data.at:521"
( $at_check_trace; test-ovsdb parse-data-strings '["boolean"]' 'true' 'false'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "true
false
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:521"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_877
#AT_START_878
at_fn_group_banner 878 'ovsdb-data.at:526' \
  "string JSON datum - C" "                          " 57
at_xfail=no
(
  $as_echo "878. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:526: test-ovsdb parse-data '[\"string\"]' '[\"set\",[\"\"]]' '[\"true\"]' '[\"\\\"\\\\\\/\\b\\f\\n\\r\\t\"]'"
at_fn_check_prepare_trace "ovsdb-data.at:526"
( $at_check_trace; test-ovsdb parse-data '["string"]' '["set",[""]]' '["true"]' '["\"\\\/\b\f\n\r\t"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"\"
\"true\"
\"\\\"\\\\/\\b\\f\\n\\r\\t\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:526"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_878
#AT_START_879
at_fn_group_banner 879 'ovsdb-data.at:526' \
  "string JSON datum - Python" "                     " 57
at_xfail=no
(
  $as_echo "879. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:526" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:526"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:526: \$PYTHON \$srcdir/test-ovsdb.py parse-data '[\"string\"]' '[\"set\",[\"\"]]' '[\"true\"]' '[\"\\\"\\\\\\/\\b\\f\\n\\r\\t\"]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-data '[\"string\"]' '[\"set\",[\"\"]]' '[\"true\"]' '[\"\\\"\\\\\\/\\b\\f\\n\\r\\t\"]'" "ovsdb-data.at:526"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '["string"]' '["set",[""]]' '["true"]' '["\"\\\/\b\f\n\r\t"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"\"
\"true\"
\"\\\"\\\\/\\b\\f\\n\\r\\t\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:526"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_879
#AT_START_880
at_fn_group_banner 880 'ovsdb-data.at:532' \
  "string string datum" "                            " 57
at_xfail=no
(
  $as_echo "880. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:532: test-ovsdb parse-data-strings '[\"string\"]' '\"x\"' '\"\"' '\"true\"' '\"\\\"\\\\\\/\\b\\f\\n\\r\\t\"'"
at_fn_check_prepare_trace "ovsdb-data.at:532"
( $at_check_trace; test-ovsdb parse-data-strings '["string"]' '"x"' '""' '"true"' '"\"\\\/\b\f\n\r\t"'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "x
\"\"
\"true\"
\"\\\"\\\\/\\b\\f\\n\\r\\t\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:532"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_880
#AT_START_881
at_fn_group_banner 881 'ovsdb-data.at:541' \
  "JSON optional boolean - C" "                      " 58
at_xfail=no
(
  $as_echo "881. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:541: test-ovsdb parse-data '{\"key\": \"boolean\", \"min\": 0}' \\
    '[true]' \\
    '[\"set\", [false]]' \\
    '[\"set\", []]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:541"
( $at_check_trace; test-ovsdb parse-data '{"key": "boolean", "min": 0}' \
    '[true]' \
    '["set", [false]]' \
    '["set", []]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "true
false
[\"set\",[]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:541"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_881
#AT_START_882
at_fn_group_banner 882 'ovsdb-data.at:541' \
  "JSON optional boolean - Python" "                 " 58
at_xfail=no
(
  $as_echo "882. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:541" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:541"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:541: \$PYTHON \$srcdir/test-ovsdb.py parse-data '{\"key\": \"boolean\", \"min\": 0}' \\
    '[true]' \\
    '[\"set\", [false]]' \\
    '[\"set\", []]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:541"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '{"key": "boolean", "min": 0}' \
    '[true]' \
    '["set", [false]]' \
    '["set", []]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "true
false
[\"set\",[]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:541"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_882
#AT_START_883
at_fn_group_banner 883 'ovsdb-data.at:551' \
  "string optional boolean" "                        " 58
at_xfail=no
(
  $as_echo "883. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:551: test-ovsdb parse-data-strings '{\"key\": \"boolean\", \"min\": 0}' \\
    'true' \\
    'false' \\
    '[]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:551"
( $at_check_trace; test-ovsdb parse-data-strings '{"key": "boolean", "min": 0}' \
    'true' \
    'false' \
    '[]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "true
false
[]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:551"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_883
#AT_START_884
at_fn_group_banner 884 'ovsdb-data.at:561' \
  "JSON set of 0 or more integers - C" "             " 58
at_xfail=no
(
  $as_echo "884. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:561: test-ovsdb parse-data '{\"key\": \"integer\", \"min\": 0, \"max\": \"unlimited\"}' \\
    '[\"set\", [0]]' \\
    '[1]' \\
    '[\"set\", [0, 1]]' \\
    '[\"set\", [0, 1, 2]]' \\
    '[\"set\", [0, 1, 2, 3, 4, 5]]' \\
    '[\"set\", [0, 1, 2, 3, 4, 5, 6, 7, 8]]' \\
    '[\"set\", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:561"
( $at_check_trace; test-ovsdb parse-data '{"key": "integer", "min": 0, "max": "unlimited"}' \
    '["set", [0]]' \
    '[1]' \
    '["set", [0, 1]]' \
    '["set", [0, 1, 2]]' \
    '["set", [0, 1, 2, 3, 4, 5]]' \
    '["set", [0, 1, 2, 3, 4, 5, 6, 7, 8]]' \
    '["set", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
1
[\"set\",[0,1]]
[\"set\",[0,1,2]]
[\"set\",[0,1,2,3,4,5]]
[\"set\",[0,1,2,3,4,5,6,7,8]]
[\"set\",[0,1,2,3,4,5,6,7,8,9,10]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_884
#AT_START_885
at_fn_group_banner 885 'ovsdb-data.at:561' \
  "JSON set of 0 or more integers - Python" "        " 58
at_xfail=no
(
  $as_echo "885. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:561" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:561"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:561: \$PYTHON \$srcdir/test-ovsdb.py parse-data '{\"key\": \"integer\", \"min\": 0, \"max\": \"unlimited\"}' \\
    '[\"set\", [0]]' \\
    '[1]' \\
    '[\"set\", [0, 1]]' \\
    '[\"set\", [0, 1, 2]]' \\
    '[\"set\", [0, 1, 2, 3, 4, 5]]' \\
    '[\"set\", [0, 1, 2, 3, 4, 5, 6, 7, 8]]' \\
    '[\"set\", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:561"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '{"key": "integer", "min": 0, "max": "unlimited"}' \
    '["set", [0]]' \
    '[1]' \
    '["set", [0, 1]]' \
    '["set", [0, 1, 2]]' \
    '["set", [0, 1, 2, 3, 4, 5]]' \
    '["set", [0, 1, 2, 3, 4, 5, 6, 7, 8]]' \
    '["set", [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
1
[\"set\",[0,1]]
[\"set\",[0,1,2]]
[\"set\",[0,1,2,3,4,5]]
[\"set\",[0,1,2,3,4,5,6,7,8]]
[\"set\",[0,1,2,3,4,5,6,7,8,9,10]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_885
#AT_START_886
at_fn_group_banner 886 'ovsdb-data.at:578' \
  "string set of 0 or more integers" "               " 58
at_xfail=no
(
  $as_echo "886. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:578: test-ovsdb parse-data-strings '{\"key\": \"integer\", \"min\": 0, \"max\": \"unlimited\"}' \\
    '0' \\
    '0,1' \\
    '0, 1, 2' \\
    '[0, 1,2, 3, 4, 5]' \\
    '0, 1,2, 3,4, 5, 6, 7, 8' \\
    '[0, 1, 2, 3, 4,5, 6,7, 8, 9, 10]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:578"
( $at_check_trace; test-ovsdb parse-data-strings '{"key": "integer", "min": 0, "max": "unlimited"}' \
    '0' \
    '0,1' \
    '0, 1, 2' \
    '[0, 1,2, 3, 4, 5]' \
    '0, 1,2, 3,4, 5, 6, 7, 8' \
    '[0, 1, 2, 3, 4,5, 6,7, 8, 9, 10]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[0]
[0, 1]
[0, 1, 2]
[0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5, 6, 7, 8]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:578"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_886
#AT_START_887
at_fn_group_banner 887 'ovsdb-data.at:593' \
  "JSON set of 1 to 3 uuids - C" "                   " 58
at_xfail=no
(
  $as_echo "887. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:593: test-ovsdb parse-data '{\"key\": \"uuid\", \"min\": 1, \"max\": 3}' \\
    '[\"set\", [[\"uuid\", \"550e8400-e29b-41d4-a716-446655440000\"]]]' \\
    '[\"uuid\", \"b5078be0-7664-4299-b836-8bcc03ef941f\"]' \\
    '[\"set\", [[\"uuid\", \"c5051240-30ff-43ed-b4b9-93cf3f050813\"],
              [\"uuid\", \"90558331-09af-4d2f-a572-509cad2e9088\"],
              [\"uuid\", \"550e8400-e29b-41d4-a716-446655440000\"]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:593"
( $at_check_trace; test-ovsdb parse-data '{"key": "uuid", "min": 1, "max": 3}' \
    '["set", [["uuid", "550e8400-e29b-41d4-a716-446655440000"]]]' \
    '["uuid", "b5078be0-7664-4299-b836-8bcc03ef941f"]' \
    '["set", [["uuid", "c5051240-30ff-43ed-b4b9-93cf3f050813"],
              ["uuid", "90558331-09af-4d2f-a572-509cad2e9088"],
              ["uuid", "550e8400-e29b-41d4-a716-446655440000"]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"uuid\",\"550e8400-e29b-41d4-a716-446655440000\"]
[\"uuid\",\"b5078be0-7664-4299-b836-8bcc03ef941f\"]
[\"set\",[[\"uuid\",\"550e8400-e29b-41d4-a716-446655440000\"],[\"uuid\",\"90558331-09af-4d2f-a572-509cad2e9088\"],[\"uuid\",\"c5051240-30ff-43ed-b4b9-93cf3f050813\"]]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:593"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_887
#AT_START_888
at_fn_group_banner 888 'ovsdb-data.at:593' \
  "JSON set of 1 to 3 uuids - Python" "              " 58
at_xfail=no
(
  $as_echo "888. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:593" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:593"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:593: \$PYTHON \$srcdir/test-ovsdb.py parse-data '{\"key\": \"uuid\", \"min\": 1, \"max\": 3}' \\
    '[\"set\", [[\"uuid\", \"550e8400-e29b-41d4-a716-446655440000\"]]]' \\
    '[\"uuid\", \"b5078be0-7664-4299-b836-8bcc03ef941f\"]' \\
    '[\"set\", [[\"uuid\", \"c5051240-30ff-43ed-b4b9-93cf3f050813\"],
              [\"uuid\", \"90558331-09af-4d2f-a572-509cad2e9088\"],
              [\"uuid\", \"550e8400-e29b-41d4-a716-446655440000\"]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:593"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '{"key": "uuid", "min": 1, "max": 3}' \
    '["set", [["uuid", "550e8400-e29b-41d4-a716-446655440000"]]]' \
    '["uuid", "b5078be0-7664-4299-b836-8bcc03ef941f"]' \
    '["set", [["uuid", "c5051240-30ff-43ed-b4b9-93cf3f050813"],
              ["uuid", "90558331-09af-4d2f-a572-509cad2e9088"],
              ["uuid", "550e8400-e29b-41d4-a716-446655440000"]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"uuid\",\"550e8400-e29b-41d4-a716-446655440000\"]
[\"uuid\",\"b5078be0-7664-4299-b836-8bcc03ef941f\"]
[\"set\",[[\"uuid\",\"550e8400-e29b-41d4-a716-446655440000\"],[\"uuid\",\"90558331-09af-4d2f-a572-509cad2e9088\"],[\"uuid\",\"c5051240-30ff-43ed-b4b9-93cf3f050813\"]]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:593"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_888
#AT_START_889
at_fn_group_banner 889 'ovsdb-data.at:604' \
  "string set of 1 to 3 uuids" "                     " 58
at_xfail=no
(
  $as_echo "889. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:604: test-ovsdb parse-data-strings '{\"key\": \"uuid\", \"min\": 1, \"max\": 3}' \\
    '[550e8400-e29b-41d4-a716-446655440000]' \\
    '[c5051240-30ff-43ed-b4b9-93cf3f050813,
      90558331-09af-4d2f-a572-509cad2e9088,
      550e8400-e29b-41d4-a716-446655440000]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:604"
( $at_check_trace; test-ovsdb parse-data-strings '{"key": "uuid", "min": 1, "max": 3}' \
    '[550e8400-e29b-41d4-a716-446655440000]' \
    '[c5051240-30ff-43ed-b4b9-93cf3f050813,
      90558331-09af-4d2f-a572-509cad2e9088,
      550e8400-e29b-41d4-a716-446655440000]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[550e8400-e29b-41d4-a716-446655440000]
[550e8400-e29b-41d4-a716-446655440000, 90558331-09af-4d2f-a572-509cad2e9088, c5051240-30ff-43ed-b4b9-93cf3f050813]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:604"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_889
#AT_START_890
at_fn_group_banner 890 'ovsdb-data.at:613' \
  "JSON set of 0 to 3 strings - C" "                 " 58
at_xfail=no
(
  $as_echo "890. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:613: test-ovsdb parse-data '{\"key\": \"string\", \"min\": 0, \"max\": 3}' \\
    '[\"set\", []]' \\
    '[\"a longer string\"]' \\
    '[\"set\", [\"a relatively long string\"]]' \\
    '[\"set\", [\"short string\", \"a relatively long string\"]]' \\
    '[\"set\", [\"zzz\", \"short string\", \"a relatively long string\"]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:613"
( $at_check_trace; test-ovsdb parse-data '{"key": "string", "min": 0, "max": 3}' \
    '["set", []]' \
    '["a longer string"]' \
    '["set", ["a relatively long string"]]' \
    '["set", ["short string", "a relatively long string"]]' \
    '["set", ["zzz", "short string", "a relatively long string"]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"set\",[]]
\"a longer string\"
\"a relatively long string\"
[\"set\",[\"a relatively long string\",\"short string\"]]
[\"set\",[\"a relatively long string\",\"short string\",\"zzz\"]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:613"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_890
#AT_START_891
at_fn_group_banner 891 'ovsdb-data.at:613' \
  "JSON set of 0 to 3 strings - Python" "            " 58
at_xfail=no
(
  $as_echo "891. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:613" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:613"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:613: \$PYTHON \$srcdir/test-ovsdb.py parse-data '{\"key\": \"string\", \"min\": 0, \"max\": 3}' \\
    '[\"set\", []]' \\
    '[\"a longer string\"]' \\
    '[\"set\", [\"a relatively long string\"]]' \\
    '[\"set\", [\"short string\", \"a relatively long string\"]]' \\
    '[\"set\", [\"zzz\", \"short string\", \"a relatively long string\"]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:613"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '{"key": "string", "min": 0, "max": 3}' \
    '["set", []]' \
    '["a longer string"]' \
    '["set", ["a relatively long string"]]' \
    '["set", ["short string", "a relatively long string"]]' \
    '["set", ["zzz", "short string", "a relatively long string"]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"set\",[]]
\"a longer string\"
\"a relatively long string\"
[\"set\",[\"a relatively long string\",\"short string\"]]
[\"set\",[\"a relatively long string\",\"short string\",\"zzz\"]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:613"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_891
#AT_START_892
at_fn_group_banner 892 'ovsdb-data.at:626' \
  "string set of 0 to 3 strings" "                   " 58
at_xfail=no
(
  $as_echo "892. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:626: test-ovsdb parse-data-strings '{\"key\": \"string\", \"min\": 0, \"max\": 3}' \\
    '[]' \\
    '\"a relatively long string\"' \\
    '[\"short string\", \"a relatively long string\"]' \\
    '\"zzz\",\"short string\",\"a relatively long string\"'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:626"
( $at_check_trace; test-ovsdb parse-data-strings '{"key": "string", "min": 0, "max": 3}' \
    '[]' \
    '"a relatively long string"' \
    '["short string", "a relatively long string"]' \
    '"zzz","short string","a relatively long string"'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[]
[\"a relatively long string\"]
[\"a relatively long string\", \"short string\"]
[\"a relatively long string\", \"short string\", zzz]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:626"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_892
#AT_START_893
at_fn_group_banner 893 'ovsdb-data.at:637' \
  "duplicate boolean not allowed in JSON set - C" "  " 58
at_xfail=no
(
  $as_echo "893. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:637: test-ovsdb parse-data '{\"key\": \"boolean\", \"max\": 5}' '[\"set\", [true, true]]'"
at_fn_check_prepare_trace "ovsdb-data.at:637"
( $at_check_trace; test-ovsdb parse-data '{"key": "boolean", "max": 5}' '["set", [true, true]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:637"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:637: if grep -F -e \"ovsdb error: set contains duplicate\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:637"
( $at_check_trace; if grep -F -e "ovsdb error: set contains duplicate" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:637"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_893
#AT_START_894
at_fn_group_banner 894 'ovsdb-data.at:637' \
  "duplicate boolean not allowed in JSON set - Python" "" 58
at_xfail=no
(
  $as_echo "894. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:637" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:637"

   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:637: \$PYTHON \$srcdir/test-ovsdb.py parse-data '{\"key\": \"boolean\", \"max\": 5}' '[\"set\", [true, true]]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-data '{\"key\": \"boolean\", \"max\": 5}' '[\"set\", [true, true]]'" "ovsdb-data.at:637"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '{"key": "boolean", "max": 5}' '["set", [true, true]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:637"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:637: if grep -F -e \"ovsdb error: set contains duplicate\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:637"
( $at_check_trace; if grep -F -e "ovsdb error: set contains duplicate" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:637"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_894
#AT_START_895
at_fn_group_banner 895 'ovsdb-data.at:641' \
  "duplicate boolean not allowed in string set" "    " 58
at_xfail=no
(
  $as_echo "895. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:641: test-ovsdb parse-data-strings '{\"key\": \"boolean\", \"max\": 5}' 'true, true'"
at_fn_check_prepare_trace "ovsdb-data.at:641"
( $at_check_trace; test-ovsdb parse-data-strings '{"key": "boolean", "max": 5}' 'true, true'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:641"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:641: if grep -F -e \"set contains duplicate value\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:641"
( $at_check_trace; if grep -F -e "set contains duplicate value" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:641"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_895
#AT_START_896
at_fn_group_banner 896 'ovsdb-data.at:645' \
  "duplicate integer not allowed in JSON set - C" "  " 58
at_xfail=no
(
  $as_echo "896. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:645: test-ovsdb parse-data '{\"key\": \"integer\", \"max\": 5}' '[\"set\", [1, 2, 3, 1]]'"
at_fn_check_prepare_trace "ovsdb-data.at:645"
( $at_check_trace; test-ovsdb parse-data '{"key": "integer", "max": 5}' '["set", [1, 2, 3, 1]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:645"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:645: if grep -F -e \"ovsdb error: set contains duplicate\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:645"
( $at_check_trace; if grep -F -e "ovsdb error: set contains duplicate" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:645"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_896
#AT_START_897
at_fn_group_banner 897 'ovsdb-data.at:645' \
  "duplicate integer not allowed in JSON set - Python" "" 58
at_xfail=no
(
  $as_echo "897. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:645" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:645"

   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:645: \$PYTHON \$srcdir/test-ovsdb.py parse-data '{\"key\": \"integer\", \"max\": 5}' '[\"set\", [1, 2, 3, 1]]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-data '{\"key\": \"integer\", \"max\": 5}' '[\"set\", [1, 2, 3, 1]]'" "ovsdb-data.at:645"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '{"key": "integer", "max": 5}' '["set", [1, 2, 3, 1]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:645"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:645: if grep -F -e \"ovsdb error: set contains duplicate\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:645"
( $at_check_trace; if grep -F -e "ovsdb error: set contains duplicate" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:645"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_897
#AT_START_898
at_fn_group_banner 898 'ovsdb-data.at:649' \
  "duplicate integer not allowed in string set" "    " 58
at_xfail=no
(
  $as_echo "898. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:649: test-ovsdb parse-data-strings '{\"key\": \"integer\", \"max\": 5}' '[1, 2, 3, 1]'"
at_fn_check_prepare_trace "ovsdb-data.at:649"
( $at_check_trace; test-ovsdb parse-data-strings '{"key": "integer", "max": 5}' '[1, 2, 3, 1]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:649"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:649: if grep -F -e \"set contains duplicate value\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:649"
( $at_check_trace; if grep -F -e "set contains duplicate value" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:649"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_898
#AT_START_899
at_fn_group_banner 899 'ovsdb-data.at:653' \
  "duplicate real not allowed in JSON set - C" "     " 58
at_xfail=no
(
  $as_echo "899. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:653: test-ovsdb parse-data '{\"key\": \"real\", \"max\": 5}' '[\"set\", [0.0, -0.0]]'"
at_fn_check_prepare_trace "ovsdb-data.at:653"
( $at_check_trace; test-ovsdb parse-data '{"key": "real", "max": 5}' '["set", [0.0, -0.0]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:653"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:653: if grep -F -e \"ovsdb error: set contains duplicate\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:653"
( $at_check_trace; if grep -F -e "ovsdb error: set contains duplicate" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:653"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_899
#AT_START_900
at_fn_group_banner 900 'ovsdb-data.at:653' \
  "duplicate real not allowed in JSON set - Python" "" 58
at_xfail=no
(
  $as_echo "900. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:653" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:653"

   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:653: \$PYTHON \$srcdir/test-ovsdb.py parse-data '{\"key\": \"real\", \"max\": 5}' '[\"set\", [0.0, -0.0]]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-data '{\"key\": \"real\", \"max\": 5}' '[\"set\", [0.0, -0.0]]'" "ovsdb-data.at:653"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '{"key": "real", "max": 5}' '["set", [0.0, -0.0]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:653"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:653: if grep -F -e \"ovsdb error: set contains duplicate\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:653"
( $at_check_trace; if grep -F -e "ovsdb error: set contains duplicate" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:653"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_900
#AT_START_901
at_fn_group_banner 901 'ovsdb-data.at:657' \
  "duplicate real not allowed in string set" "       " 58
at_xfail=no
(
  $as_echo "901. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:657: test-ovsdb parse-data-strings '{\"key\": \"real\", \"max\": 5}' '0.0, -0.0'"
at_fn_check_prepare_trace "ovsdb-data.at:657"
( $at_check_trace; test-ovsdb parse-data-strings '{"key": "real", "max": 5}' '0.0, -0.0'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:657"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:657: if grep -F -e \"set contains duplicate value\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:657"
( $at_check_trace; if grep -F -e "set contains duplicate value" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:657"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_901
#AT_START_902
at_fn_group_banner 902 'ovsdb-data.at:661' \
  "duplicate string not allowed in JSON set - C" "   " 58
at_xfail=no
(
  $as_echo "902. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:661: test-ovsdb parse-data '{\"key\": \"string\", \"max\": 5}' '[\"set\", [\"asdf\", \"ASDF\", \"asdf\"]]'"
at_fn_check_prepare_trace "ovsdb-data.at:661"
( $at_check_trace; test-ovsdb parse-data '{"key": "string", "max": 5}' '["set", ["asdf", "ASDF", "asdf"]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:661"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:661: if grep -F -e \"ovsdb error: set contains duplicate\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:661"
( $at_check_trace; if grep -F -e "ovsdb error: set contains duplicate" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:661"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_902
#AT_START_903
at_fn_group_banner 903 'ovsdb-data.at:661' \
  "duplicate string not allowed in JSON set - Python" "" 58
at_xfail=no
(
  $as_echo "903. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:661" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:661"

   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:661: \$PYTHON \$srcdir/test-ovsdb.py parse-data '{\"key\": \"string\", \"max\": 5}' '[\"set\", [\"asdf\", \"ASDF\", \"asdf\"]]'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-data '{\"key\": \"string\", \"max\": 5}' '[\"set\", [\"asdf\", \"ASDF\", \"asdf\"]]'" "ovsdb-data.at:661"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '{"key": "string", "max": 5}' '["set", ["asdf", "ASDF", "asdf"]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:661"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:661: if grep -F -e \"ovsdb error: set contains duplicate\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:661"
( $at_check_trace; if grep -F -e "ovsdb error: set contains duplicate" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:661"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_903
#AT_START_904
at_fn_group_banner 904 'ovsdb-data.at:665' \
  "duplicate string not allowed in string set" "     " 58
at_xfail=no
(
  $as_echo "904. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:665: test-ovsdb parse-data-strings '{\"key\": \"string\", \"max\": 5}' 'asdf, ASDF, \"asdf\"'"
at_fn_check_prepare_trace "ovsdb-data.at:665"
( $at_check_trace; test-ovsdb parse-data-strings '{"key": "string", "max": 5}' 'asdf, ASDF, "asdf"'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:665"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:665: if grep -F -e \"set contains duplicate value\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:665"
( $at_check_trace; if grep -F -e "set contains duplicate value" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:665"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_904
#AT_START_905
at_fn_group_banner 905 'ovsdb-data.at:669' \
  "duplicate uuid not allowed in JSON set - C" "     " 58
at_xfail=no
(
  $as_echo "905. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:669: test-ovsdb parse-data '{\"key\": \"uuid\", \"max\": 5}' \\
    '[\"set\", [[\"uuid\", \"7ef21525-0088-4a28-a418-5518413e43ea\"],
              [\"uuid\", \"355ad037-f1da-40aa-b47c-ff9c7e8c6a38\"],
              [\"uuid\", \"7ef21525-0088-4a28-a418-5518413e43ea\"]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:669"
( $at_check_trace; test-ovsdb parse-data '{"key": "uuid", "max": 5}' \
    '["set", [["uuid", "7ef21525-0088-4a28-a418-5518413e43ea"],
              ["uuid", "355ad037-f1da-40aa-b47c-ff9c7e8c6a38"],
              ["uuid", "7ef21525-0088-4a28-a418-5518413e43ea"]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:669"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:669: if grep -F -e \"ovsdb error: set contains duplicate\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:669"
( $at_check_trace; if grep -F -e "ovsdb error: set contains duplicate" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:669"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_905
#AT_START_906
at_fn_group_banner 906 'ovsdb-data.at:669' \
  "duplicate uuid not allowed in JSON set - Python" "" 58
at_xfail=no
(
  $as_echo "906. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:669" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:669"

   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:669: \$PYTHON \$srcdir/test-ovsdb.py parse-data '{\"key\": \"uuid\", \"max\": 5}' \\
    '[\"set\", [[\"uuid\", \"7ef21525-0088-4a28-a418-5518413e43ea\"],
              [\"uuid\", \"355ad037-f1da-40aa-b47c-ff9c7e8c6a38\"],
              [\"uuid\", \"7ef21525-0088-4a28-a418-5518413e43ea\"]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:669"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '{"key": "uuid", "max": 5}' \
    '["set", [["uuid", "7ef21525-0088-4a28-a418-5518413e43ea"],
              ["uuid", "355ad037-f1da-40aa-b47c-ff9c7e8c6a38"],
              ["uuid", "7ef21525-0088-4a28-a418-5518413e43ea"]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:669"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:669: if grep -F -e \"ovsdb error: set contains duplicate\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:669"
( $at_check_trace; if grep -F -e "ovsdb error: set contains duplicate" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:669"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_906
#AT_START_907
at_fn_group_banner 907 'ovsdb-data.at:676' \
  "duplicate uuid not allowed in string set" "       " 58
at_xfail=no
(
  $as_echo "907. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:676: test-ovsdb parse-data-strings '{\"key\": \"uuid\", \"max\": 5}' \\
    '7ef21525-0088-4a28-a418-5518413e43ea,
     355ad037-f1da-40aa-b47c-ff9c7e8c6a38,
     7ef21525-0088-4a28-a418-5518413e43ea'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:676"
( $at_check_trace; test-ovsdb parse-data-strings '{"key": "uuid", "max": 5}' \
    '7ef21525-0088-4a28-a418-5518413e43ea,
     355ad037-f1da-40aa-b47c-ff9c7e8c6a38,
     7ef21525-0088-4a28-a418-5518413e43ea'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:676"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:676: if grep -F -e \"set contains duplicate value\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:676"
( $at_check_trace; if grep -F -e "set contains duplicate value" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:676"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_907
#AT_START_908
at_fn_group_banner 908 'ovsdb-data.at:685' \
  "JSON map of 1 integer to boolean - C" "           " 59
at_xfail=no
(
  $as_echo "908. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:685: test-ovsdb parse-data '{\"key\": \"integer\", \"value\": \"boolean\"}' \\
    '[\"map\", [[1, true]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:685"
( $at_check_trace; test-ovsdb parse-data '{"key": "integer", "value": "boolean"}' \
    '["map", [[1, true]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"map\",[[1,true]]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:685"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_908
#AT_START_909
at_fn_group_banner 909 'ovsdb-data.at:685' \
  "JSON map of 1 integer to boolean - Python" "      " 59
at_xfail=no
(
  $as_echo "909. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:685" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:685"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:685: \$PYTHON \$srcdir/test-ovsdb.py parse-data '{\"key\": \"integer\", \"value\": \"boolean\"}' \\
    '[\"map\", [[1, true]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:685"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '{"key": "integer", "value": "boolean"}' \
    '["map", [[1, true]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"map\",[[1,true]]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:685"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_909
#AT_START_910
at_fn_group_banner 910 'ovsdb-data.at:690' \
  "string map of 1 integer to boolean" "             " 59
at_xfail=no
(
  $as_echo "910. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:690: test-ovsdb parse-data-strings '{\"key\": \"integer\", \"value\": \"boolean\"}' \\
    '1=true'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:690"
( $at_check_trace; test-ovsdb parse-data-strings '{"key": "integer", "value": "boolean"}' \
    '1=true'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1=true
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:690"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_910
#AT_START_911
at_fn_group_banner 911 'ovsdb-data.at:695' \
  "JSON map of at least 1 integer to boolean - C" "  " 59
at_xfail=no
(
  $as_echo "911. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:695: test-ovsdb parse-data '{\"key\": \"integer\", \"value\": \"boolean\", \"max\": \"unlimited\"}' \\
    '[\"map\", [[1, true]]]' \\
    '[\"map\", [[0, true], [1, false], [2, true], [3, true], [4, true]]]' \\
    '[\"map\", [[3, false], [0, true], [4, false]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:695"
( $at_check_trace; test-ovsdb parse-data '{"key": "integer", "value": "boolean", "max": "unlimited"}' \
    '["map", [[1, true]]]' \
    '["map", [[0, true], [1, false], [2, true], [3, true], [4, true]]]' \
    '["map", [[3, false], [0, true], [4, false]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"map\",[[1,true]]]
[\"map\",[[0,true],[1,false],[2,true],[3,true],[4,true]]]
[\"map\",[[0,true],[3,false],[4,false]]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:695"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_911
#AT_START_912
at_fn_group_banner 912 'ovsdb-data.at:695' \
  "JSON map of at least 1 integer to boolean - Python" "" 59
at_xfail=no
(
  $as_echo "912. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:695" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:695"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:695: \$PYTHON \$srcdir/test-ovsdb.py parse-data '{\"key\": \"integer\", \"value\": \"boolean\", \"max\": \"unlimited\"}' \\
    '[\"map\", [[1, true]]]' \\
    '[\"map\", [[0, true], [1, false], [2, true], [3, true], [4, true]]]' \\
    '[\"map\", [[3, false], [0, true], [4, false]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:695"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '{"key": "integer", "value": "boolean", "max": "unlimited"}' \
    '["map", [[1, true]]]' \
    '["map", [[0, true], [1, false], [2, true], [3, true], [4, true]]]' \
    '["map", [[3, false], [0, true], [4, false]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"map\",[[1,true]]]
[\"map\",[[0,true],[1,false],[2,true],[3,true],[4,true]]]
[\"map\",[[0,true],[3,false],[4,false]]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:695"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_912
#AT_START_913
at_fn_group_banner 913 'ovsdb-data.at:704' \
  "string map of at least 1 integer to boolean" "    " 59
at_xfail=no
(
  $as_echo "913. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:704: test-ovsdb parse-data-strings '{\"key\": \"integer\", \"value\": \"boolean\", \"max\": \"unlimited\"}' \\
    '1=true' \\
    '0=true 1=false 2=true, 3=true 4=true,' \\
    '3=false,0=true ,4=false'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:704"
( $at_check_trace; test-ovsdb parse-data-strings '{"key": "integer", "value": "boolean", "max": "unlimited"}' \
    '1=true' \
    '0=true 1=false 2=true, 3=true 4=true,' \
    '3=false,0=true ,4=false'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{1=true}
{0=true, 1=false, 2=true, 3=true, 4=true}
{0=true, 3=false, 4=false}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:704"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_913
#AT_START_914
at_fn_group_banner 914 'ovsdb-data.at:713' \
  "JSON map of 1 boolean to integer - C" "           " 59
at_xfail=no
(
  $as_echo "914. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:713: test-ovsdb parse-data '{\"key\": \"boolean\", \"value\": \"integer\"}' \\
   '[\"map\", [[true, 1]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:713"
( $at_check_trace; test-ovsdb parse-data '{"key": "boolean", "value": "integer"}' \
   '["map", [[true, 1]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"map\",[[true,1]]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:713"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_914
#AT_START_915
at_fn_group_banner 915 'ovsdb-data.at:713' \
  "JSON map of 1 boolean to integer - Python" "      " 59
at_xfail=no
(
  $as_echo "915. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:713" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:713"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:713: \$PYTHON \$srcdir/test-ovsdb.py parse-data '{\"key\": \"boolean\", \"value\": \"integer\"}' \\
   '[\"map\", [[true, 1]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:713"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '{"key": "boolean", "value": "integer"}' \
   '["map", [[true, 1]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"map\",[[true,1]]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:713"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_915
#AT_START_916
at_fn_group_banner 916 'ovsdb-data.at:718' \
  "string map of 1 boolean to integer" "             " 59
at_xfail=no
(
  $as_echo "916. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:718: test-ovsdb parse-data-strings '{\"key\": \"boolean\", \"value\": \"integer\"}' \\
   'true=1'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:718"
( $at_check_trace; test-ovsdb parse-data-strings '{"key": "boolean", "value": "integer"}' \
   'true=1'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "true=1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:718"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_916
#AT_START_917
at_fn_group_banner 917 'ovsdb-data.at:723' \
  "JSON map of 1 uuid to real - C" "                 " 59
at_xfail=no
(
  $as_echo "917. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:723: test-ovsdb parse-data '{\"key\": \"uuid\", \"value\": \"real\", \"min\": 1, \"max\": 5}' \\
    '[\"map\", [[[\"uuid\", \"cad8542b-6ee1-486b-971b-7dcbf6e14979\"], 1.0],
	      [[\"uuid\", \"6b94b968-2702-4f64-9457-314a34d69b8c\"], 2.0],
	      [[\"uuid\", \"d2c4a168-24de-47eb-a8a3-c1abfc814979\"], 3.0],
	      [[\"uuid\", \"25bfa475-d072-4f60-8be1-00f48643e9cb\"], 4.0],
	      [[\"uuid\", \"1c92b8ca-d5e4-4628-a85d-1dc2d099a99a\"], 5.0]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:723"
( $at_check_trace; test-ovsdb parse-data '{"key": "uuid", "value": "real", "min": 1, "max": 5}' \
    '["map", [[["uuid", "cad8542b-6ee1-486b-971b-7dcbf6e14979"], 1.0],
	      [["uuid", "6b94b968-2702-4f64-9457-314a34d69b8c"], 2.0],
	      [["uuid", "d2c4a168-24de-47eb-a8a3-c1abfc814979"], 3.0],
	      [["uuid", "25bfa475-d072-4f60-8be1-00f48643e9cb"], 4.0],
	      [["uuid", "1c92b8ca-d5e4-4628-a85d-1dc2d099a99a"], 5.0]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"map\",[[[\"uuid\",\"1c92b8ca-d5e4-4628-a85d-1dc2d099a99a\"],5],[[\"uuid\",\"25bfa475-d072-4f60-8be1-00f48643e9cb\"],4],[[\"uuid\",\"6b94b968-2702-4f64-9457-314a34d69b8c\"],2],[[\"uuid\",\"cad8542b-6ee1-486b-971b-7dcbf6e14979\"],1],[[\"uuid\",\"d2c4a168-24de-47eb-a8a3-c1abfc814979\"],3]]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:723"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_917
#AT_START_918
at_fn_group_banner 918 'ovsdb-data.at:723' \
  "JSON map of 1 uuid to real - Python" "            " 59
at_xfail=no
(
  $as_echo "918. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:723" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:723"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:723: \$PYTHON \$srcdir/test-ovsdb.py parse-data '{\"key\": \"uuid\", \"value\": \"real\", \"min\": 1, \"max\": 5}' \\
    '[\"map\", [[[\"uuid\", \"cad8542b-6ee1-486b-971b-7dcbf6e14979\"], 1.0],
	      [[\"uuid\", \"6b94b968-2702-4f64-9457-314a34d69b8c\"], 2.0],
	      [[\"uuid\", \"d2c4a168-24de-47eb-a8a3-c1abfc814979\"], 3.0],
	      [[\"uuid\", \"25bfa475-d072-4f60-8be1-00f48643e9cb\"], 4.0],
	      [[\"uuid\", \"1c92b8ca-d5e4-4628-a85d-1dc2d099a99a\"], 5.0]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:723"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '{"key": "uuid", "value": "real", "min": 1, "max": 5}' \
    '["map", [[["uuid", "cad8542b-6ee1-486b-971b-7dcbf6e14979"], 1.0],
	      [["uuid", "6b94b968-2702-4f64-9457-314a34d69b8c"], 2.0],
	      [["uuid", "d2c4a168-24de-47eb-a8a3-c1abfc814979"], 3.0],
	      [["uuid", "25bfa475-d072-4f60-8be1-00f48643e9cb"], 4.0],
	      [["uuid", "1c92b8ca-d5e4-4628-a85d-1dc2d099a99a"], 5.0]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"map\",[[[\"uuid\",\"1c92b8ca-d5e4-4628-a85d-1dc2d099a99a\"],5],[[\"uuid\",\"25bfa475-d072-4f60-8be1-00f48643e9cb\"],4],[[\"uuid\",\"6b94b968-2702-4f64-9457-314a34d69b8c\"],2],[[\"uuid\",\"cad8542b-6ee1-486b-971b-7dcbf6e14979\"],1],[[\"uuid\",\"d2c4a168-24de-47eb-a8a3-c1abfc814979\"],3]]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:723"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_918
#AT_START_919
at_fn_group_banner 919 'ovsdb-data.at:732' \
  "string map of 1 uuid to real" "                   " 59
at_xfail=no
(
  $as_echo "919. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:732: test-ovsdb parse-data-strings '{\"key\": \"uuid\", \"value\": \"real\", \"min\": 1, \"max\": 5}' \\
    'cad8542b-6ee1-486b-971b-7dcbf6e14979=1.0,
     6b94b968-2702-4f64-9457-314a34d69b8c=2.0,
     d2c4a168-24de-47eb-a8a3-c1abfc814979=3.0,
     25bfa475-d072-4f60-8be1-00f48643e9cb=4.0,
     1c92b8ca-d5e4-4628-a85d-1dc2d099a99a=5.0'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:732"
( $at_check_trace; test-ovsdb parse-data-strings '{"key": "uuid", "value": "real", "min": 1, "max": 5}' \
    'cad8542b-6ee1-486b-971b-7dcbf6e14979=1.0,
     6b94b968-2702-4f64-9457-314a34d69b8c=2.0,
     d2c4a168-24de-47eb-a8a3-c1abfc814979=3.0,
     25bfa475-d072-4f60-8be1-00f48643e9cb=4.0,
     1c92b8ca-d5e4-4628-a85d-1dc2d099a99a=5.0'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{1c92b8ca-d5e4-4628-a85d-1dc2d099a99a=5, 25bfa475-d072-4f60-8be1-00f48643e9cb=4, 6b94b968-2702-4f64-9457-314a34d69b8c=2, cad8542b-6ee1-486b-971b-7dcbf6e14979=1, d2c4a168-24de-47eb-a8a3-c1abfc814979=3}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:732"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_919
#AT_START_920
at_fn_group_banner 920 'ovsdb-data.at:741' \
  "JSON map of 10 string to string - C" "            " 59
at_xfail=no
(
  $as_echo "920. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:741: test-ovsdb parse-data '{\"key\": \"string\", \"value\": \"string\", \"min\": 1, \"max\": 10}' \\
    '[\"map\", [[\"2 gills\", \"1 chopin\"],
	      [\"2 chopins\", \"1 pint\"],
	      [\"2 pints\", \"1 quart\"],
	      [\"2 quarts\", \"1 pottle\"],
	      [\"2 pottles\", \"1 gallon\"],
	      [\"2 gallons\", \"1 peck\"],
	      [\"2 pecks\", \"1 demibushel\"],
	      [\"2 demibushel\", \"1 firkin\"],
	      [\"2 firkins\", \"1 kilderkin\"],
	      [\"2 kilderkins\", \"1 barrel\"]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:741"
( $at_check_trace; test-ovsdb parse-data '{"key": "string", "value": "string", "min": 1, "max": 10}' \
    '["map", [["2 gills", "1 chopin"],
	      ["2 chopins", "1 pint"],
	      ["2 pints", "1 quart"],
	      ["2 quarts", "1 pottle"],
	      ["2 pottles", "1 gallon"],
	      ["2 gallons", "1 peck"],
	      ["2 pecks", "1 demibushel"],
	      ["2 demibushel", "1 firkin"],
	      ["2 firkins", "1 kilderkin"],
	      ["2 kilderkins", "1 barrel"]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"map\",[[\"2 chopins\",\"1 pint\"],[\"2 demibushel\",\"1 firkin\"],[\"2 firkins\",\"1 kilderkin\"],[\"2 gallons\",\"1 peck\"],[\"2 gills\",\"1 chopin\"],[\"2 kilderkins\",\"1 barrel\"],[\"2 pecks\",\"1 demibushel\"],[\"2 pints\",\"1 quart\"],[\"2 pottles\",\"1 gallon\"],[\"2 quarts\",\"1 pottle\"]]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:741"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_920
#AT_START_921
at_fn_group_banner 921 'ovsdb-data.at:741' \
  "JSON map of 10 string to string - Python" "       " 59
at_xfail=no
(
  $as_echo "921. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:741" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:741"


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:741: \$PYTHON \$srcdir/test-ovsdb.py parse-data '{\"key\": \"string\", \"value\": \"string\", \"min\": 1, \"max\": 10}' \\
    '[\"map\", [[\"2 gills\", \"1 chopin\"],
	      [\"2 chopins\", \"1 pint\"],
	      [\"2 pints\", \"1 quart\"],
	      [\"2 quarts\", \"1 pottle\"],
	      [\"2 pottles\", \"1 gallon\"],
	      [\"2 gallons\", \"1 peck\"],
	      [\"2 pecks\", \"1 demibushel\"],
	      [\"2 demibushel\", \"1 firkin\"],
	      [\"2 firkins\", \"1 kilderkin\"],
	      [\"2 kilderkins\", \"1 barrel\"]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:741"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '{"key": "string", "value": "string", "min": 1, "max": 10}' \
    '["map", [["2 gills", "1 chopin"],
	      ["2 chopins", "1 pint"],
	      ["2 pints", "1 quart"],
	      ["2 quarts", "1 pottle"],
	      ["2 pottles", "1 gallon"],
	      ["2 gallons", "1 peck"],
	      ["2 pecks", "1 demibushel"],
	      ["2 demibushel", "1 firkin"],
	      ["2 firkins", "1 kilderkin"],
	      ["2 kilderkins", "1 barrel"]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[\"map\",[[\"2 chopins\",\"1 pint\"],[\"2 demibushel\",\"1 firkin\"],[\"2 firkins\",\"1 kilderkin\"],[\"2 gallons\",\"1 peck\"],[\"2 gills\",\"1 chopin\"],[\"2 kilderkins\",\"1 barrel\"],[\"2 pecks\",\"1 demibushel\"],[\"2 pints\",\"1 quart\"],[\"2 pottles\",\"1 gallon\"],[\"2 quarts\",\"1 pottle\"]]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:741"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_921
#AT_START_922
at_fn_group_banner 922 'ovsdb-data.at:755' \
  "string map of 10 string to string" "              " 59
at_xfail=no
(
  $as_echo "922. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:755: test-ovsdb parse-data-strings '{\"key\": \"string\", \"value\": \"string\", \"min\": 1, \"max\": 10}' \\
    '{\"2 gills\"=\"1 chopin\",
      \"2 chopins\"= \"1 pint\",
      \"2 pints\"= \"1 quart\",
      \"2 quarts\"= \"1 pottle\",
      \"2 pottles\"= \"1 gallon\",
      \"2 gallons\"= \"1 peck\",
      \"2 pecks\"= \"1 demibushel\",
      \"2 demibushel\"= \"1 firkin\",
      \"2 firkins\"= \"1 kilderkin\",
      \"2 kilderkins\"= \"1 barrel\"}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:755"
( $at_check_trace; test-ovsdb parse-data-strings '{"key": "string", "value": "string", "min": 1, "max": 10}' \
    '{"2 gills"="1 chopin",
      "2 chopins"= "1 pint",
      "2 pints"= "1 quart",
      "2 quarts"= "1 pottle",
      "2 pottles"= "1 gallon",
      "2 gallons"= "1 peck",
      "2 pecks"= "1 demibushel",
      "2 demibushel"= "1 firkin",
      "2 firkins"= "1 kilderkin",
      "2 kilderkins"= "1 barrel"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"2 chopins\"=\"1 pint\", \"2 demibushel\"=\"1 firkin\", \"2 firkins\"=\"1 kilderkin\", \"2 gallons\"=\"1 peck\", \"2 gills\"=\"1 chopin\", \"2 kilderkins\"=\"1 barrel\", \"2 pecks\"=\"1 demibushel\", \"2 pints\"=\"1 quart\", \"2 pottles\"=\"1 gallon\", \"2 quarts\"=\"1 pottle\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:755"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_922
#AT_START_923
at_fn_group_banner 923 'ovsdb-data.at:769' \
  "duplicate integer key not allowed in JSON map - C" "" 59
at_xfail=no
(
  $as_echo "923. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:769: test-ovsdb parse-data '{\"key\": \"integer\", \"value\": \"boolean\", \"max\": 5}' \\
    '[\"map\", [[1, true], [2, false], [1, false]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:769"
( $at_check_trace; test-ovsdb parse-data '{"key": "integer", "value": "boolean", "max": 5}' \
    '["map", [[1, true], [2, false], [1, false]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:769"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:769: if grep -F -e \"ovsdb error: map contains duplicate key\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:769"
( $at_check_trace; if grep -F -e "ovsdb error: map contains duplicate key" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:769"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_923
#AT_START_924
at_fn_group_banner 924 'ovsdb-data.at:769' \
  "duplicate integer key not allowed in JSON map - Python" "" 59
at_xfail=no
(
  $as_echo "924. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-data.at:769" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-data.at:769"

   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:769: \$PYTHON \$srcdir/test-ovsdb.py parse-data '{\"key\": \"integer\", \"value\": \"boolean\", \"max\": 5}' \\
    '[\"map\", [[1, true], [2, false], [1, false]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:769"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-data '{"key": "integer", "value": "boolean", "max": 5}' \
    '["map", [[1, true], [2, false], [1, false]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:769"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:769: if grep -F -e \"ovsdb error: map contains duplicate key\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:769"
( $at_check_trace; if grep -F -e "ovsdb error: map contains duplicate key" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:769"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_924
#AT_START_925
at_fn_group_banner 925 'ovsdb-data.at:774' \
  "duplicate integer key not allowed in string map" "" 59
at_xfail=no
(
  $as_echo "925. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:774: test-ovsdb parse-data-strings '{\"key\": \"integer\", \"value\": \"boolean\", \"max\": 5}' \\
    '1=true 2=false 1=false'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:774"
( $at_check_trace; test-ovsdb parse-data-strings '{"key": "integer", "value": "boolean", "max": 5}' \
    '1=true 2=false 1=false'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-data.at:774"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-data.at:774: if grep -F -e \"map contains duplicate key\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-data.at:774"
( $at_check_trace; if grep -F -e "map contains duplicate key" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-data.at:774"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_925
#AT_START_926
at_fn_group_banner 926 'ovsdb-column.at:3' \
  "ordinary column - C" "                            " 60
at_xfail=no
(
  $as_echo "926. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-column.at:3: test-ovsdb parse-column mycol '{\"type\": \"integer\"}'"
at_fn_check_prepare_trace "ovsdb-column.at:3"
( $at_check_trace; test-ovsdb parse-column mycol '{"type": "integer"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"type\":\"integer\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-column.at:3"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_926
#AT_START_927
at_fn_group_banner 927 'ovsdb-column.at:3' \
  "ordinary column - Python" "                       " 60
at_xfail=no
(
  $as_echo "927. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-column.at:3" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-column.at:3"


   { set +x
$as_echo "$at_srcdir/ovsdb-column.at:3: \$PYTHON \$srcdir/test-ovsdb.py parse-column mycol '{\"type\": \"integer\"}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-column mycol '{\"type\": \"integer\"}'" "ovsdb-column.at:3"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-column mycol '{"type": "integer"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"type\":\"integer\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-column.at:3"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_927
#AT_START_928
at_fn_group_banner 928 'ovsdb-column.at:7' \
  "immutable column - C" "                           " 60
at_xfail=no
(
  $as_echo "928. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-column.at:7: test-ovsdb parse-column mycol '{\"type\": \"real\", \"mutable\": false}'"
at_fn_check_prepare_trace "ovsdb-column.at:7"
( $at_check_trace; test-ovsdb parse-column mycol '{"type": "real", "mutable": false}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"mutable\":false,\"type\":\"real\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-column.at:7"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_928
#AT_START_929
at_fn_group_banner 929 'ovsdb-column.at:7' \
  "immutable column - Python" "                      " 60
at_xfail=no
(
  $as_echo "929. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-column.at:7" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-column.at:7"


   { set +x
$as_echo "$at_srcdir/ovsdb-column.at:7: \$PYTHON \$srcdir/test-ovsdb.py parse-column mycol '{\"type\": \"real\", \"mutable\": false}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-column mycol '{\"type\": \"real\", \"mutable\": false}'" "ovsdb-column.at:7"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-column mycol '{"type": "real", "mutable": false}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"mutable\":false,\"type\":\"real\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-column.at:7"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_929
#AT_START_930
at_fn_group_banner 930 'ovsdb-column.at:11' \
  "ephemeral column - C" "                           " 60
at_xfail=no
(
  $as_echo "930. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-column.at:11: test-ovsdb parse-column mycol '{\"type\": \"uuid\", \"ephemeral\": true}'"
at_fn_check_prepare_trace "ovsdb-column.at:11"
( $at_check_trace; test-ovsdb parse-column mycol '{"type": "uuid", "ephemeral": true}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"ephemeral\":true,\"type\":\"uuid\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-column.at:11"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_930
#AT_START_931
at_fn_group_banner 931 'ovsdb-column.at:11' \
  "ephemeral column - Python" "                      " 60
at_xfail=no
(
  $as_echo "931. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-column.at:11" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-column.at:11"


   { set +x
$as_echo "$at_srcdir/ovsdb-column.at:11: \$PYTHON \$srcdir/test-ovsdb.py parse-column mycol '{\"type\": \"uuid\", \"ephemeral\": true}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-column mycol '{\"type\": \"uuid\", \"ephemeral\": true}'" "ovsdb-column.at:11"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-column mycol '{"type": "uuid", "ephemeral": true}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"ephemeral\":true,\"type\":\"uuid\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-column.at:11"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_931
#AT_START_932
at_fn_group_banner 932 'ovsdb-table.at:3' \
  "non-root table with one column - C" "             " 61
at_xfail=no
(
  $as_echo "932. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:3: test-ovsdb parse-table mytable '{\"columns\": {\"name\": {\"type\": \"string\"}}}'"
at_fn_check_prepare_trace "ovsdb-table.at:3"
( $at_check_trace; test-ovsdb parse-table mytable '{"columns": {"name": {"type": "string"}}}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"columns\":{\"name\":{\"type\":\"string\"}}}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:3"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_932
#AT_START_933
at_fn_group_banner 933 'ovsdb-table.at:3' \
  "non-root table with one column - Python" "        " 61
at_xfail=no
(
  $as_echo "933. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-table.at:3" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-table.at:3"


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:3: \$PYTHON \$srcdir/test-ovsdb.py parse-table mytable '{\"columns\": {\"name\": {\"type\": \"string\"}}}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-table mytable '{\"columns\": {\"name\": {\"type\": \"string\"}}}'" "ovsdb-table.at:3"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-table mytable '{"columns": {"name": {"type": "string"}}}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"columns\":{\"name\":{\"type\":\"string\"}}}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:3"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_933
#AT_START_934
at_fn_group_banner 934 'ovsdb-table.at:7' \
  "immutable table with one column - C" "            " 61
at_xfail=no
(
  $as_echo "934. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:7: test-ovsdb parse-table mytable \\
    '{\"columns\": {\"name\": {\"type\": \"string\"}},
      \"mutable\": false}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:7"
( $at_check_trace; test-ovsdb parse-table mytable \
    '{"columns": {"name": {"type": "string"}},
      "mutable": false}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"columns\":{\"name\":{\"type\":\"string\"}},\"mutable\":false}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:7"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_934
#AT_START_935
at_fn_group_banner 935 'ovsdb-table.at:7' \
  "immutable table with one column - Python" "       " 61
at_xfail=no
(
  $as_echo "935. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-table.at:7" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-table.at:7"


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:7: \$PYTHON \$srcdir/test-ovsdb.py parse-table mytable \\
    '{\"columns\": {\"name\": {\"type\": \"string\"}},
      \"mutable\": false}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:7"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-table mytable \
    '{"columns": {"name": {"type": "string"}},
      "mutable": false}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"columns\":{\"name\":{\"type\":\"string\"}},\"mutable\":false}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:7"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_935
#AT_START_936
at_fn_group_banner 936 'ovsdb-table.at:13' \
  "root table with one column - C" "                 " 61
at_xfail=no
(
  $as_echo "936. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:13: test-ovsdb parse-table mytable \\
    '{\"columns\": {\"name\": {\"type\": \"string\"}},
      \"isRoot\": true}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:13"
( $at_check_trace; test-ovsdb parse-table mytable \
    '{"columns": {"name": {"type": "string"}},
      "isRoot": true}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"columns\":{\"name\":{\"type\":\"string\"}},\"isRoot\":true}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:13"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_936
#AT_START_937
at_fn_group_banner 937 'ovsdb-table.at:13' \
  "root table with one column - Python" "            " 61
at_xfail=no
(
  $as_echo "937. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-table.at:13" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-table.at:13"


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:13: \$PYTHON \$srcdir/test-ovsdb.py parse-table mytable \\
    '{\"columns\": {\"name\": {\"type\": \"string\"}},
      \"isRoot\": true}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:13"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-table mytable \
    '{"columns": {"name": {"type": "string"}},
      "isRoot": true}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"columns\":{\"name\":{\"type\":\"string\"}},\"isRoot\":true}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:13"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_937
#AT_START_938
at_fn_group_banner 938 'ovsdb-table.at:19' \
  "non-root table with default_is_root=true - C" "   " 61
at_xfail=no
(
  $as_echo "938. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:19: test-ovsdb parse-table mytable '{\"columns\": {\"name\": {\"type\": \"string\"}}}' true"
at_fn_check_prepare_trace "ovsdb-table.at:19"
( $at_check_trace; test-ovsdb parse-table mytable '{"columns": {"name": {"type": "string"}}}' true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"columns\":{\"name\":{\"type\":\"string\"}},\"isRoot\":false}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:19"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_938
#AT_START_939
at_fn_group_banner 939 'ovsdb-table.at:19' \
  "non-root table with default_is_root=true - Python" "" 61
at_xfail=no
(
  $as_echo "939. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-table.at:19" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-table.at:19"


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:19: \$PYTHON \$srcdir/test-ovsdb.py parse-table mytable '{\"columns\": {\"name\": {\"type\": \"string\"}}}' true"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-table mytable '{\"columns\": {\"name\": {\"type\": \"string\"}}}' true" "ovsdb-table.at:19"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-table mytable '{"columns": {"name": {"type": "string"}}}' true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"columns\":{\"name\":{\"type\":\"string\"}},\"isRoot\":false}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:19"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_939
#AT_START_940
at_fn_group_banner 940 'ovsdb-table.at:23' \
  "root table with default_is_root=true - C" "       " 61
at_xfail=no
(
  $as_echo "940. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:23: test-ovsdb parse-table mytable \\
    '{\"columns\": {\"name\": {\"type\": \"string\"}},
      \"isRoot\": true}' true"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:23"
( $at_check_trace; test-ovsdb parse-table mytable \
    '{"columns": {"name": {"type": "string"}},
      "isRoot": true}' true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"columns\":{\"name\":{\"type\":\"string\"}}}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_940
#AT_START_941
at_fn_group_banner 941 'ovsdb-table.at:23' \
  "root table with default_is_root=true - Python" "  " 61
at_xfail=no
(
  $as_echo "941. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-table.at:23" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-table.at:23"


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:23: \$PYTHON \$srcdir/test-ovsdb.py parse-table mytable \\
    '{\"columns\": {\"name\": {\"type\": \"string\"}},
      \"isRoot\": true}' true"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:23"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-table mytable \
    '{"columns": {"name": {"type": "string"}},
      "isRoot": true}' true
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"columns\":{\"name\":{\"type\":\"string\"}}}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:23"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_941
#AT_START_942
at_fn_group_banner 942 'ovsdb-table.at:29' \
  "table with maxRows of 2 - C" "                    " 61
at_xfail=no
(
  $as_echo "942. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:29: test-ovsdb parse-table mytable '{\"columns\": {\"name\": {\"type\": \"string\"}},
                          \"maxRows\": 2}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:29"
( $at_check_trace; test-ovsdb parse-table mytable '{"columns": {"name": {"type": "string"}},
                          "maxRows": 2}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"columns\":{\"name\":{\"type\":\"string\"}},\"maxRows\":2}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:29"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_942
#AT_START_943
at_fn_group_banner 943 'ovsdb-table.at:29' \
  "table with maxRows of 2 - Python" "               " 61
at_xfail=no
(
  $as_echo "943. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-table.at:29" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-table.at:29"


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:29: \$PYTHON \$srcdir/test-ovsdb.py parse-table mytable '{\"columns\": {\"name\": {\"type\": \"string\"}},
                          \"maxRows\": 2}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:29"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-table mytable '{"columns": {"name": {"type": "string"}},
                          "maxRows": 2}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"columns\":{\"name\":{\"type\":\"string\"}},\"maxRows\":2}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:29"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_943
#AT_START_944
at_fn_group_banner 944 'ovsdb-table.at:34' \
  "table with index - C" "                           " 61
at_xfail=no
(
  $as_echo "944. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:34: test-ovsdb parse-table mytable '{\"columns\": {\"a\": {\"type\": \"integer\"},
                                      \"b\": {\"type\": \"string\"}},
                          \"indexes\": [[\"b\", \"a\"]]}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:34"
( $at_check_trace; test-ovsdb parse-table mytable '{"columns": {"a": {"type": "integer"},
                                      "b": {"type": "string"}},
                          "indexes": [["b", "a"]]}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"columns\":{\"a\":{\"type\":\"integer\"},\"b\":{\"type\":\"string\"}},\"indexes\":[[\"b\",\"a\"]]}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:34"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_944
#AT_START_945
at_fn_group_banner 945 'ovsdb-table.at:34' \
  "table with index - Python" "                      " 61
at_xfail=no
(
  $as_echo "945. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-table.at:34" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-table.at:34"


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:34: \$PYTHON \$srcdir/test-ovsdb.py parse-table mytable '{\"columns\": {\"a\": {\"type\": \"integer\"},
                                      \"b\": {\"type\": \"string\"}},
                          \"indexes\": [[\"b\", \"a\"]]}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:34"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-table mytable '{"columns": {"a": {"type": "integer"},
                                      "b": {"type": "string"}},
                          "indexes": [["b", "a"]]}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"columns\":{\"a\":{\"type\":\"integer\"},\"b\":{\"type\":\"string\"}},\"indexes\":[[\"b\",\"a\"]]}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:34"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_945
#AT_START_946
at_fn_group_banner 946 'ovsdb-table.at:40' \
  "table with syntax error in index - C" "           " 61
at_xfail=no
(
  $as_echo "946. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:40: test-ovsdb parse-table mytable '{\"columns\": {\"a\": {\"type\": \"integer\"},
                                      \"b\": {\"type\": \"string\"}},
                          \"indexes\": [[\"b\", \"a\"], [0]]}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:40"
( $at_check_trace; test-ovsdb parse-table mytable '{"columns": {"a": {"type": "integer"},
                                      "b": {"type": "string"}},
                          "indexes": [["b", "a"], [0]]}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-table.at:40"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:40: if grep -F -e \"array of distinct column names expected\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:40"
( $at_check_trace; if grep -F -e "array of distinct column names expected" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:40"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_946
#AT_START_947
at_fn_group_banner 947 'ovsdb-table.at:40' \
  "table with syntax error in index - Python" "      " 61
at_xfail=no
(
  $as_echo "947. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-table.at:40" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-table.at:40"

   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:40: \$PYTHON \$srcdir/test-ovsdb.py parse-table mytable '{\"columns\": {\"a\": {\"type\": \"integer\"},
                                      \"b\": {\"type\": \"string\"}},
                          \"indexes\": [[\"b\", \"a\"], [0]]}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:40"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-table mytable '{"columns": {"a": {"type": "integer"},
                                      "b": {"type": "string"}},
                          "indexes": [["b", "a"], [0]]}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-table.at:40"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:40: if grep -F -e \"array of distinct column names expected\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:40"
( $at_check_trace; if grep -F -e "array of distinct column names expected" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:40"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_947
#AT_START_948
at_fn_group_banner 948 'ovsdb-table.at:46' \
  "table with empty index - C" "                     " 61
at_xfail=no
(
  $as_echo "948. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:46: test-ovsdb parse-table mytable '{\"columns\": {\"a\": {\"type\": \"integer\"},
                                      \"b\": {\"type\": \"string\"}},
                          \"indexes\": [[]]}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:46"
( $at_check_trace; test-ovsdb parse-table mytable '{"columns": {"a": {"type": "integer"},
                                      "b": {"type": "string"}},
                          "indexes": [[]]}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-table.at:46"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:46: if grep -F -e \"index must have at least one column\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:46"
( $at_check_trace; if grep -F -e "index must have at least one column" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:46"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_948
#AT_START_949
at_fn_group_banner 949 'ovsdb-table.at:46' \
  "table with empty index - Python" "                " 61
at_xfail=no
(
  $as_echo "949. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-table.at:46" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-table.at:46"

   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:46: \$PYTHON \$srcdir/test-ovsdb.py parse-table mytable '{\"columns\": {\"a\": {\"type\": \"integer\"},
                                      \"b\": {\"type\": \"string\"}},
                          \"indexes\": [[]]}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:46"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-table mytable '{"columns": {"a": {"type": "integer"},
                                      "b": {"type": "string"}},
                          "indexes": [[]]}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-table.at:46"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:46: if grep -F -e \"index must have at least one column\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:46"
( $at_check_trace; if grep -F -e "index must have at least one column" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:46"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_949
#AT_START_950
at_fn_group_banner 950 'ovsdb-table.at:52' \
  "table with index of ephemeral column - C" "       " 61
at_xfail=no
(
  $as_echo "950. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:52: test-ovsdb parse-table mytable '{\"columns\": {\"a\": {\"type\": \"integer\",
                                            \"ephemeral\": true},
                                      \"b\": {\"type\": \"string\"}},
                          \"indexes\": [[\"b\", \"a\"]]}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:52"
( $at_check_trace; test-ovsdb parse-table mytable '{"columns": {"a": {"type": "integer",
                                            "ephemeral": true},
                                      "b": {"type": "string"}},
                          "indexes": [["b", "a"]]}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-table.at:52"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:52: if grep -F -e \"ephemeral columns (such as a) may not be indexed\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:52"
( $at_check_trace; if grep -F -e "ephemeral columns (such as a) may not be indexed" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:52"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_950
#AT_START_951
at_fn_group_banner 951 'ovsdb-table.at:52' \
  "table with index of ephemeral column - Python" "  " 61
at_xfail=no
(
  $as_echo "951. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-table.at:52" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-table.at:52"

   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:52: \$PYTHON \$srcdir/test-ovsdb.py parse-table mytable '{\"columns\": {\"a\": {\"type\": \"integer\",
                                            \"ephemeral\": true},
                                      \"b\": {\"type\": \"string\"}},
                          \"indexes\": [[\"b\", \"a\"]]}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:52"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-table mytable '{"columns": {"a": {"type": "integer",
                                            "ephemeral": true},
                                      "b": {"type": "string"}},
                          "indexes": [["b", "a"]]}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-table.at:52"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:52: if grep -F -e \"ephemeral columns (such as a) may not be indexed\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:52"
( $at_check_trace; if grep -F -e "ephemeral columns (such as a) may not be indexed" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:52"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_951
#AT_START_952
at_fn_group_banner 952 'ovsdb-table.at:59' \
  "column names may not begin with _ - C" "          " 61
at_xfail=no
(
  $as_echo "952. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:59: test-ovsdb parse-table mytable \\
    '{\"columns\": {\"_column\": {\"type\": \"integer\"}}}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:59"
( $at_check_trace; test-ovsdb parse-table mytable \
    '{"columns": {"_column": {"type": "integer"}}}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-table.at:59"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:59: if grep -F -e \"names beginning with \\\"_\\\" are reserved\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:59"
( $at_check_trace; if grep -F -e "names beginning with \"_\" are reserved" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:59"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_952
#AT_START_953
at_fn_group_banner 953 'ovsdb-table.at:59' \
  "column names may not begin with _ - Python" "     " 61
at_xfail=no
(
  $as_echo "953. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-table.at:59" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-table.at:59"

   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:59: \$PYTHON \$srcdir/test-ovsdb.py parse-table mytable \\
    '{\"columns\": {\"_column\": {\"type\": \"integer\"}}}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:59"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-table mytable \
    '{"columns": {"_column": {"type": "integer"}}}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-table.at:59"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:59: if grep -F -e \"names beginning with \\\"_\\\" are reserved\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:59"
( $at_check_trace; if grep -F -e "names beginning with \"_\" are reserved" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:59"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_953
#AT_START_954
at_fn_group_banner 954 'ovsdb-table.at:65' \
  "table must have at least one column (1) - C" "    " 61
at_xfail=no
(
  $as_echo "954. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:65: test-ovsdb parse-table mytable '{}'"
at_fn_check_prepare_trace "ovsdb-table.at:65"
( $at_check_trace; test-ovsdb parse-table mytable '{}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-table.at:65"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:65: if grep -F -e \"Parsing table schema for table mytable failed: Required 'columns' member is missing.\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:65"
( $at_check_trace; if grep -F -e "Parsing table schema for table mytable failed: Required 'columns' member is missing." stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:65"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_954
#AT_START_955
at_fn_group_banner 955 'ovsdb-table.at:65' \
  "table must have at least one column (1) - Python" "" 61
at_xfail=no
(
  $as_echo "955. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-table.at:65" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-table.at:65"

   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:65: \$PYTHON \$srcdir/test-ovsdb.py parse-table mytable '{}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-table mytable '{}'" "ovsdb-table.at:65"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-table mytable '{}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-table.at:65"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:65: if grep -F -e \"Parsing table schema for table mytable failed: Required 'columns' member is missing.\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:65"
( $at_check_trace; if grep -F -e "Parsing table schema for table mytable failed: Required 'columns' member is missing." stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:65"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_955
#AT_START_956
at_fn_group_banner 956 'ovsdb-table.at:69' \
  "table must have at least one column (2) - C" "    " 61
at_xfail=no
(
  $as_echo "956. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:69: test-ovsdb parse-table mytable '{\"columns\": {}}'"
at_fn_check_prepare_trace "ovsdb-table.at:69"
( $at_check_trace; test-ovsdb parse-table mytable '{"columns": {}}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-table.at:69"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:69: if grep -F -e \"table must have at least one column\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:69"
( $at_check_trace; if grep -F -e "table must have at least one column" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:69"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_956
#AT_START_957
at_fn_group_banner 957 'ovsdb-table.at:69' \
  "table must have at least one column (2) - Python" "" 61
at_xfail=no
(
  $as_echo "957. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-table.at:69" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-table.at:69"

   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:69: \$PYTHON \$srcdir/test-ovsdb.py parse-table mytable '{\"columns\": {}}'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py parse-table mytable '{\"columns\": {}}'" "ovsdb-table.at:69"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-table mytable '{"columns": {}}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-table.at:69"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:69: if grep -F -e \"table must have at least one column\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:69"
( $at_check_trace; if grep -F -e "table must have at least one column" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:69"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_957
#AT_START_958
at_fn_group_banner 958 'ovsdb-table.at:73' \
  "table maxRows must be positive - C" "             " 61
at_xfail=no
(
  $as_echo "958. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:73: test-ovsdb parse-table mytable '{\"columns\": {\"name\": {\"type\": \"string\"}},
                          \"maxRows\": 0}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:73"
( $at_check_trace; test-ovsdb parse-table mytable '{"columns": {"name": {"type": "string"}},
                          "maxRows": 0}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-table.at:73"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:73: if grep -F -e \"syntax \\\"{\\\"columns\\\":{\\\"name\\\":{\\\"type\\\":\\\"string\\\"}},\\\"maxRows\\\":0}\\\": syntax error: maxRows must be at least 1\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:73"
( $at_check_trace; if grep -F -e "syntax \"{\"columns\":{\"name\":{\"type\":\"string\"}},\"maxRows\":0}\": syntax error: maxRows must be at least 1" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:73"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_958
#AT_START_959
at_fn_group_banner 959 'ovsdb-table.at:73' \
  "table maxRows must be positive - Python" "        " 61
at_xfail=no
(
  $as_echo "959. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-table.at:73" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-table.at:73"

   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:73: \$PYTHON \$srcdir/test-ovsdb.py parse-table mytable '{\"columns\": {\"name\": {\"type\": \"string\"}},
                          \"maxRows\": 0}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:73"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-table mytable '{"columns": {"name": {"type": "string"}},
                          "maxRows": 0}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-table.at:73"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-table.at:73: if grep -F -e \"syntax \\\"{\\\"columns\\\":{\\\"name\\\":{\\\"type\\\":\\\"string\\\"}},\\\"maxRows\\\":0}\\\": syntax error: maxRows must be at least 1\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-table.at:73"
( $at_check_trace; if grep -F -e "syntax \"{\"columns\":{\"name\":{\"type\":\"string\"}},\"maxRows\":0}\": syntax error: maxRows must be at least 1" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-table.at:73"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_959
#AT_START_960
at_fn_group_banner 960 'ovsdb-row.at:5' \
  "row with one string column" "                     " 62
at_xfail=no
(
  $as_echo "960. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-row.at:5: test-ovsdb parse-rows \\
    '{\"columns\": {\"name\": {\"type\": \"string\"}}}' \\
    '{\"name\": \"value\"}' \\
    '{\"name\": \"\"}' \\
    '{\"name\": \"longer string with spaces\"}' \\
    '{}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-row.at:5"
( $at_check_trace; test-ovsdb parse-rows \
    '{"columns": {"name": {"type": "string"}}}' \
    '{"name": "value"}' \
    '{"name": ""}' \
    '{"name": "longer string with spaces"}' \
    '{}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"name\":\"value\"}
name
{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"name\":\"\"}
name
{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"name\":\"longer string with spaces\"}
name
{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"name\":\"\"}
<none>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-row.at:5"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_960
#AT_START_961
at_fn_group_banner 961 'ovsdb-row.at:21' \
  "row with one integer column" "                    " 62
at_xfail=no
(
  $as_echo "961. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-row.at:21: test-ovsdb parse-rows \\
    '{\"columns\": {\"count\": {\"type\": \"integer\"}}}' \\
    '{\"count\": 1}' \\
    '{\"count\": -1}' \\
    '{\"count\": 2e10}' \\
    '{}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-row.at:21"
( $at_check_trace; test-ovsdb parse-rows \
    '{"columns": {"count": {"type": "integer"}}}' \
    '{"count": 1}' \
    '{"count": -1}' \
    '{"count": 2e10}' \
    '{}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"count\":1}
count
{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"count\":-1}
count
{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"count\":20000000000}
count
{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"count\":0}
<none>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-row.at:21"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_961
#AT_START_962
at_fn_group_banner 962 'ovsdb-row.at:37' \
  "row with one real column" "                       " 62
at_xfail=no
(
  $as_echo "962. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-row.at:37: test-ovsdb parse-rows \\
    '{\"columns\": {\"cost\": {\"type\": \"real\"}}}' \\
    '{\"cost\": 1.0}' \\
    '{\"cost\": -2.0}' \\
    '{\"cost\": 123000}' \\
    '{}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-row.at:37"
( $at_check_trace; test-ovsdb parse-rows \
    '{"columns": {"cost": {"type": "real"}}}' \
    '{"cost": 1.0}' \
    '{"cost": -2.0}' \
    '{"cost": 123000}' \
    '{}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"cost\":1}
cost
{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"cost\":-2}
cost
{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"cost\":123000}
cost
{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"cost\":0}
<none>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-row.at:37"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_962
#AT_START_963
at_fn_group_banner 963 'ovsdb-row.at:53' \
  "row with one boolean column" "                    " 62
at_xfail=no
(
  $as_echo "963. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-row.at:53: test-ovsdb parse-rows \\
    '{\"columns\": {\"feasible\": {\"type\": \"boolean\"}}}' \\
    '{\"feasible\": true}' \\
    '{\"feasible\": false}' \\
    '{}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-row.at:53"
( $at_check_trace; test-ovsdb parse-rows \
    '{"columns": {"feasible": {"type": "boolean"}}}' \
    '{"feasible": true}' \
    '{"feasible": false}' \
    '{}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"feasible\":true}
feasible
{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"feasible\":false}
feasible
{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"feasible\":false}
<none>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-row.at:53"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_963
#AT_START_964
at_fn_group_banner 964 'ovsdb-row.at:66' \
  "row with one uuid column" "                       " 62
at_xfail=no
(
  $as_echo "964. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-row.at:66: test-ovsdb parse-rows \\
    '{\"columns\": {\"ref\": {\"type\": \"uuid\"}}}' \\
    '{\"ref\": [\"uuid\", \"f707423d-bf5b-48b5-b6c0-797c900ba4b6\"]}' \\
    '{\"ref\": [\"uuid\", \"33583cc5-d2f4-43de-b1ca-8aac14071b51\"]}' \\
    '{}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-row.at:66"
( $at_check_trace; test-ovsdb parse-rows \
    '{"columns": {"ref": {"type": "uuid"}}}' \
    '{"ref": ["uuid", "f707423d-bf5b-48b5-b6c0-797c900ba4b6"]}' \
    '{"ref": ["uuid", "33583cc5-d2f4-43de-b1ca-8aac14071b51"]}' \
    '{}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"ref\":[\"uuid\",\"f707423d-bf5b-48b5-b6c0-797c900ba4b6\"]}
ref
{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"ref\":[\"uuid\",\"33583cc5-d2f4-43de-b1ca-8aac14071b51\"]}
ref
{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"ref\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"]}
<none>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-row.at:66"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_964
#AT_START_965
at_fn_group_banner 965 'ovsdb-row.at:79' \
  "row with set of 1 to 2 elements" "                " 62
at_xfail=no
(
  $as_echo "965. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-row.at:79: test-ovsdb parse-rows \\
    '{\"columns\": {\"myset\": {\"type\": {\"key\": \"integer\", \"min\": 1, \"max\": 2}}}}' \\
    '{}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-row.at:79"
( $at_check_trace; test-ovsdb parse-rows \
    '{"columns": {"myset": {"type": {"key": "integer", "min": 1, "max": 2}}}}' \
    '{}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"myset\":0}
<none>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-row.at:79"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_965
#AT_START_966
at_fn_group_banner 966 'ovsdb-row.at:86' \
  "row with map of 1 to 2 elements" "                " 62
at_xfail=no
(
  $as_echo "966. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-row.at:86: test-ovsdb parse-rows \\
    '{\"columns\": {\"mymap\": {\"type\": {\"key\": \"integer\", \"value\": \"uuid\", \"min\": 1, \"max\": 2}}}}' \\
    '{}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-row.at:86"
( $at_check_trace; test-ovsdb parse-rows \
    '{"columns": {"mymap": {"type": {"key": "integer", "value": "uuid", "min": 1, "max": 2}}}}' \
    '{}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"mymap\":[\"map\",[[0,[\"uuid\",\"00000000-0000-0000-0000-000000000000\"]]]]}
<none>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-row.at:86"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_966
#AT_START_967
at_fn_group_banner 967 'ovsdb-row.at:93' \
  "row with several columns" "                       " 62
at_xfail=no
(
  $as_echo "967. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-row.at:93: test-ovsdb parse-rows \\
    '{\"columns\":
        {\"vswitch\": {\"type\": \"uuid\"},
         \"name\": {\"type\": \"string\"},
         \"datapath_id\": {\"type\": {\"key\": \"string\", \"min\": 0}},
         \"hwaddr\": {\"type\": \"string\"},
         \"mirrors\": {\"type\": {\"key\": \"uuid\", \"min\": 0, \"max\": \"unlimited\"}},
         \"netflows\": {\"type\": {\"key\": \"uuid\", \"min\": 0, \"max\": \"unlimited\"}},
         \"controller\": {\"type\": {\"key\": \"uuid\", \"min\": 0}},
         \"listeners\": {\"type\": {\"key\": \"uuid\", \"min\": 0, \"max\": \"unlimited\"}},
         \"snoops\": {\"type\": {\"key\": \"uuid\", \"min\": 0, \"max\": \"unlimited\"}}}}' \\
    '{\"vswitch\": [\"uuid\", \"1a5c7280-0d4c-4e34-9ec7-c772339f7774\"],
      \"name\": \"br0\",
      \"datapath_id\": \"000ae4256bb0\",
      \"hwaddr\": \"00:0a:e4:25:6b:b0\"}' \\
    '{}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-row.at:93"
( $at_check_trace; test-ovsdb parse-rows \
    '{"columns":
        {"vswitch": {"type": "uuid"},
         "name": {"type": "string"},
         "datapath_id": {"type": {"key": "string", "min": 0}},
         "hwaddr": {"type": "string"},
         "mirrors": {"type": {"key": "uuid", "min": 0, "max": "unlimited"}},
         "netflows": {"type": {"key": "uuid", "min": 0, "max": "unlimited"}},
         "controller": {"type": {"key": "uuid", "min": 0}},
         "listeners": {"type": {"key": "uuid", "min": 0, "max": "unlimited"}},
         "snoops": {"type": {"key": "uuid", "min": 0, "max": "unlimited"}}}}' \
    '{"vswitch": ["uuid", "1a5c7280-0d4c-4e34-9ec7-c772339f7774"],
      "name": "br0",
      "datapath_id": "000ae4256bb0",
      "hwaddr": "00:0a:e4:25:6b:b0"}' \
    '{}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"controller\":[\"set\",[]],\"datapath_id\":\"000ae4256bb0\",\"hwaddr\":\"00:0a:e4:25:6b:b0\",\"listeners\":[\"set\",[]],\"mirrors\":[\"set\",[]],\"name\":\"br0\",\"netflows\":[\"set\",[]],\"snoops\":[\"set\",[]],\"vswitch\":[\"uuid\",\"1a5c7280-0d4c-4e34-9ec7-c772339f7774\"]}
datapath_id, hwaddr, name, vswitch
{\"_uuid\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"_version\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"],\"controller\":[\"set\",[]],\"datapath_id\":[\"set\",[]],\"hwaddr\":\"\",\"listeners\":[\"set\",[]],\"mirrors\":[\"set\",[]],\"name\":\"\",\"netflows\":[\"set\",[]],\"snoops\":[\"set\",[]],\"vswitch\":[\"uuid\",\"00000000-0000-0000-0000-000000000000\"]}
<none>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-row.at:93"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_967
#AT_START_968
at_fn_group_banner 968 'ovsdb-row.at:115' \
  "row hashing (scalars)" "                          " 62
at_xfail=no
(
  $as_echo "968. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-row.at:115: test-ovsdb compare-rows \\
    '{\"columns\":
        {\"i\": {\"type\": \"integer\"},
         \"r\": {\"type\": \"real\"},
         \"b\": {\"type\": \"boolean\"},
	 \"s\": {\"type\": \"string\"},
         \"u\": {\"type\": \"uuid\"}}}' \\
     '[\"null\", {}]' \\
     '[\"i1\", {\"i\": 1}]' \\
     '[\"i2\", {\"i\": 2}]' \\
     '[\"i4\", {\"i\": 4}]' \\
     '[\"i8\", {\"i\": 8}]' \\
     '[\"i16\", {\"i\": 16}]' \\
     '[\"i32\", {\"i\": 32}]' \\
     '[\"i64\", {\"i\": 64}]' \\
     '[\"i128\", {\"i\": 128}]' \\
     '[\"i256\", {\"i\": 256}]' \\
     '[\"null2\", {\"r\": -0}]' \\
     '[\"r123\", {\"r\": 123}]' \\
     '[\"r0.0625\", {\"r\": 0.0625}]' \\
     '[\"r0.125\", {\"r\": 0.125}]' \\
     '[\"r0.25\", {\"r\": 0.25}]' \\
     '[\"r0.5\", {\"r\": 0.5}]' \\
     '[\"r1\", {\"r\": 1}]' \\
     '[\"r2\", {\"r\": 2}]' \\
     '[\"r4\", {\"r\": 4}]' \\
     '[\"r8\", {\"r\": 8}]' \\
     '[\"r16\", {\"r\": 16}]' \\
     '[\"r32\", {\"r\": 32}]' \\
     '[\"null3\", {\"b\": false}]' \\
     '[\"b1\", {\"b\": true}]' \\
     '[\"null4\", {\"s\": \"\"}]' \\
     '[\"s0\", {\"s\": \"a\"}]' \\
     '[\"s1\", {\"s\": \"b\"}]' \\
     '[\"s2\", {\"s\": \"c\"}]' \\
     '[\"s3\", {\"s\": \"d\"}]' \\
     '[\"s4\", {\"s\": \"e\"}]' \\
     '[\"s5\", {\"s\": \"f\"}]' \\
     '[\"s6\", {\"s\": \"g\"}]' \\
     '[\"s7\", {\"s\": \"h\"}]' \\
     '[\"s8\", {\"s\": \"i\"}]' \\
     '[\"s9\", {\"s\": \"j\"}]' \\
     '[\"null5\", {\"u\": [\"uuid\",\"00000000-0000-0000-0000-000000000000\"]}]' \\
     '[\"u1\", {\"u\": [\"uuid\",\"10000000-0000-0000-0000-000000000000\"]}]' \\
     '[\"u2\", {\"u\": [\"uuid\",\"01000000-0000-0000-0000-000000000000\"]}]' \\
     '[\"u3\", {\"u\": [\"uuid\",\"00100000-0000-0000-0000-000000000000\"]}]' \\
     '[\"u4\", {\"u\": [\"uuid\",\"00010000-0000-0000-0000-000000000000\"]}]' \\
     '[\"u5\", {\"u\": [\"uuid\",\"00001000-0000-0000-0000-000000000000\"]}]' \\
     '[\"u6\", {\"u\": [\"uuid\",\"00000100-0000-0000-0000-000000000000\"]}]' \\
     '[\"u7\", {\"u\": [\"uuid\",\"00000010-0000-0000-0000-000000000000\"]}]' \\
     '[\"u8\", {\"u\": [\"uuid\",\"00000001-0000-0000-0000-000000000000\"]}]' \\
     '[\"null6\", {\"u\": [\"uuid\",\"00000000-c6db-4d22-970f-b41fabd20c4b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-row.at:115"
( $at_check_trace; test-ovsdb compare-rows \
    '{"columns":
        {"i": {"type": "integer"},
         "r": {"type": "real"},
         "b": {"type": "boolean"},
	 "s": {"type": "string"},
         "u": {"type": "uuid"}}}' \
     '["null", {}]' \
     '["i1", {"i": 1}]' \
     '["i2", {"i": 2}]' \
     '["i4", {"i": 4}]' \
     '["i8", {"i": 8}]' \
     '["i16", {"i": 16}]' \
     '["i32", {"i": 32}]' \
     '["i64", {"i": 64}]' \
     '["i128", {"i": 128}]' \
     '["i256", {"i": 256}]' \
     '["null2", {"r": -0}]' \
     '["r123", {"r": 123}]' \
     '["r0.0625", {"r": 0.0625}]' \
     '["r0.125", {"r": 0.125}]' \
     '["r0.25", {"r": 0.25}]' \
     '["r0.5", {"r": 0.5}]' \
     '["r1", {"r": 1}]' \
     '["r2", {"r": 2}]' \
     '["r4", {"r": 4}]' \
     '["r8", {"r": 8}]' \
     '["r16", {"r": 16}]' \
     '["r32", {"r": 32}]' \
     '["null3", {"b": false}]' \
     '["b1", {"b": true}]' \
     '["null4", {"s": ""}]' \
     '["s0", {"s": "a"}]' \
     '["s1", {"s": "b"}]' \
     '["s2", {"s": "c"}]' \
     '["s3", {"s": "d"}]' \
     '["s4", {"s": "e"}]' \
     '["s5", {"s": "f"}]' \
     '["s6", {"s": "g"}]' \
     '["s7", {"s": "h"}]' \
     '["s8", {"s": "i"}]' \
     '["s9", {"s": "j"}]' \
     '["null5", {"u": ["uuid","00000000-0000-0000-0000-000000000000"]}]' \
     '["u1", {"u": ["uuid","10000000-0000-0000-0000-000000000000"]}]' \
     '["u2", {"u": ["uuid","01000000-0000-0000-0000-000000000000"]}]' \
     '["u3", {"u": ["uuid","00100000-0000-0000-0000-000000000000"]}]' \
     '["u4", {"u": ["uuid","00010000-0000-0000-0000-000000000000"]}]' \
     '["u5", {"u": ["uuid","00001000-0000-0000-0000-000000000000"]}]' \
     '["u6", {"u": ["uuid","00000100-0000-0000-0000-000000000000"]}]' \
     '["u7", {"u": ["uuid","00000010-0000-0000-0000-000000000000"]}]' \
     '["u8", {"u": ["uuid","00000001-0000-0000-0000-000000000000"]}]' \
     '["null6", {"u": ["uuid","00000000-c6db-4d22-970f-b41fabd20c4b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "null == null2
null == null3
null == null4
null == null5
hash(null) == hash(null6)
null2 == null3
null2 == null4
null2 == null5
hash(null2) == hash(null6)
null3 == null4
null3 == null5
hash(null3) == hash(null6)
null4 == null5
hash(null4) == hash(null6)
hash(null5) == hash(null6)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-row.at:115"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_968
#AT_START_969
at_fn_group_banner 969 'ovsdb-row.at:184' \
  "row hashing (sets)" "                             " 62
at_xfail=no
(
  $as_echo "969. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-row.at:184: test-ovsdb compare-rows \\
    '{\"columns\":
        {\"i\": {\"type\": {\"key\": \"integer\", \"min\": 0, \"max\": \"unlimited\"}},
         \"r\": {\"type\": {\"key\": \"real\", \"min\": 0, \"max\": \"unlimited\"}},
         \"b\": {\"type\": {\"key\": \"boolean\", \"min\": 0, \"max\": \"unlimited\"}},
	 \"s\": {\"type\": {\"key\": \"string\", \"min\": 0, \"max\": \"unlimited\"}},
         \"u\": {\"type\": {\"key\": \"uuid\", \"min\": 0, \"max\": \"unlimited\"}}}}' \\
    '[\"null0\", {\"i\": [\"set\", []]}]' \\
    '[\"i0\", {\"i\": [\"set\", [0]]}]' \\
    '[\"i01\", {\"i\": [\"set\", [0, 1]]}]' \\
    '[\"i012\", {\"i\": [\"set\", [0, 1, 2]]}]' \\
    '[\"i021\", {\"i\": [\"set\", [0, 2, 1]]}]' \\
    '[\"i201\", {\"i\": [\"set\", [2, 0, 1]]}]' \\
    '[\"i102\", {\"i\": [\"set\", [1, 0, 2]]}]' \\
    '[\"i120\", {\"i\": [\"set\", [1, 2, 0]]}]' \\
    '[\"i210\", {\"i\": [\"set\", [2, 1, 0]]}]' \\
    '[\"r0\", {\"r\": [\"set\", [0]]}]' \\
    '[\"r01\", {\"r\": [\"set\", [0, 1]]}]' \\
    '[\"r012\", {\"r\": [\"set\", [0, 1, 2]]}]' \\
    '[\"r201\", {\"r\": [\"set\", [2, 0, 1]]}]' \\
    '[\"null1\", {\"b\": [\"set\", []]}]' \\
    '[\"b0\", {\"b\": [\"set\", [false]]}]' \\
    '[\"b1\", {\"b\": [\"set\", [true]]}]' \\
    '[\"b01\", {\"b\": [\"set\", [false, true]]}]' \\
    '[\"b10\", {\"b\": [\"set\", [true, false]]}]' \\
    '[\"null2\", {\"s\": [\"set\", []]}]' \\
    '[\"sa\", {\"s\": [\"set\", [\"a\"]]}]' \\
    '[\"sb\", {\"s\": [\"set\", [\"b\"]]}]' \\
    '[\"sab\", {\"s\": [\"set\", [\"a\", \"b\"]]}]' \\
    '[\"sba\", {\"s\": [\"set\", [\"b\", \"a\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-row.at:184"
( $at_check_trace; test-ovsdb compare-rows \
    '{"columns":
        {"i": {"type": {"key": "integer", "min": 0, "max": "unlimited"}},
         "r": {"type": {"key": "real", "min": 0, "max": "unlimited"}},
         "b": {"type": {"key": "boolean", "min": 0, "max": "unlimited"}},
	 "s": {"type": {"key": "string", "min": 0, "max": "unlimited"}},
         "u": {"type": {"key": "uuid", "min": 0, "max": "unlimited"}}}}' \
    '["null0", {"i": ["set", []]}]' \
    '["i0", {"i": ["set", [0]]}]' \
    '["i01", {"i": ["set", [0, 1]]}]' \
    '["i012", {"i": ["set", [0, 1, 2]]}]' \
    '["i021", {"i": ["set", [0, 2, 1]]}]' \
    '["i201", {"i": ["set", [2, 0, 1]]}]' \
    '["i102", {"i": ["set", [1, 0, 2]]}]' \
    '["i120", {"i": ["set", [1, 2, 0]]}]' \
    '["i210", {"i": ["set", [2, 1, 0]]}]' \
    '["r0", {"r": ["set", [0]]}]' \
    '["r01", {"r": ["set", [0, 1]]}]' \
    '["r012", {"r": ["set", [0, 1, 2]]}]' \
    '["r201", {"r": ["set", [2, 0, 1]]}]' \
    '["null1", {"b": ["set", []]}]' \
    '["b0", {"b": ["set", [false]]}]' \
    '["b1", {"b": ["set", [true]]}]' \
    '["b01", {"b": ["set", [false, true]]}]' \
    '["b10", {"b": ["set", [true, false]]}]' \
    '["null2", {"s": ["set", []]}]' \
    '["sa", {"s": ["set", ["a"]]}]' \
    '["sb", {"s": ["set", ["b"]]}]' \
    '["sab", {"s": ["set", ["a", "b"]]}]' \
    '["sba", {"s": ["set", ["b", "a"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "null0 == null1
null0 == null2
i012 == i021
i012 == i201
i012 == i102
i012 == i120
i012 == i210
i021 == i201
i021 == i102
i021 == i120
i021 == i210
i201 == i102
i201 == i120
i201 == i210
i102 == i120
i102 == i210
i120 == i210
r012 == r201
null1 == null2
b01 == b10
sab == sba
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-row.at:184"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_969
#AT_START_970
at_fn_group_banner 970 'ovsdb-row.at:237' \
  "row hashing (maps)" "                             " 62
at_xfail=no
(
  $as_echo "970. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-row.at:237: test-ovsdb compare-rows \\
    '{\"columns\":
        {\"ii\": {\"type\": {\"key\": \"integer\", \"value\": \"integer\",
                         \"min\": 0, \"max\": \"unlimited\"}},
         \"rr\": {\"type\": {\"key\": \"real\", \"value\": \"real\",
                         \"min\": 0, \"max\": \"unlimited\"}},
         \"bb\": {\"type\": {\"key\": \"boolean\", \"value\": \"boolean\",
                         \"min\": 0, \"max\": \"unlimited\"}},
	 \"ss\": {\"type\": {\"key\": \"string\", \"value\": \"string\",
                         \"min\": 0, \"max\": \"unlimited\"}}}}' \\
    '[\"null\", {}]' \\
    '[\"ii0\", {\"ii\": [\"map\", [[0, 0]]]}]' \\
    '[\"ii1\", {\"ii\": [\"map\", [[0, 1]]]}]' \\
    '[\"ii00\", {\"ii\": [\"map\", [[0, 0], [1, 0]]]}]' \\
    '[\"ii01\", {\"ii\": [\"map\", [[0, 0], [1, 1]]]}]' \\
    '[\"ii10\", {\"ii\": [\"map\", [[0, 1], [1, 0]]]}]' \\
    '[\"ii11\", {\"ii\": [\"map\", [[0, 1], [1, 1]]]}]' \\
    '[\"rr0\", {\"rr\": [\"map\", [[0, 0]]]}]' \\
    '[\"rr0\", {\"rr\": [\"map\", [[0, 1]]]}]' \\
    '[\"rr00\", {\"rr\": [\"map\", [[0, 0], [1, 0]]]}]' \\
    '[\"rr01\", {\"rr\": [\"map\", [[0, 0], [1, 1]]]}]' \\
    '[\"rr10\", {\"rr\": [\"map\", [[0, 1], [1, 0]]]}]' \\
    '[\"rr11\", {\"rr\": [\"map\", [[0, 1], [1, 1]]]}]' \\
    '[\"bb0\", {\"bb\": [\"map\", [[false, false]]]}]' \\
    '[\"bb1\", {\"bb\": [\"map\", [[false, true]]]}]' \\
    '[\"bb00\", {\"bb\": [\"map\", [[false, false], [true, false]]]}]' \\
    '[\"bb01\", {\"bb\": [\"map\", [[false, false], [true, true]]]}]' \\
    '[\"bb10\", {\"bb\": [\"map\", [[false, true], [true, false]]]}]' \\
    '[\"bb11\", {\"bb\": [\"map\", [[false, true], [true, true]]]}]' \\
    '[\"ss0\", {\"ss\": [\"map\", [[\"a\", \"a\"]]]}]' \\
    '[\"ss1\", {\"ss\": [\"map\", [[\"a\", \"b\"]]]}]' \\
    '[\"ss00\", {\"ss\": [\"map\", [[\"a\", \"a\"], [\"b\", \"a\"]]]}]' \\
    '[\"ss01\", {\"ss\": [\"map\", [[\"a\", \"a\"], [\"b\", \"b\"]]]}]' \\
    '[\"ss10\", {\"ss\": [\"map\", [[\"a\", \"b\"], [\"b\", \"a\"]]]}]' \\
    '[\"ss11\", {\"ss\": [\"map\", [[\"a\", \"b\"], [\"b\", \"b\"]]]}]'; echo
"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-row.at:237"
( $at_check_trace; test-ovsdb compare-rows \
    '{"columns":
        {"ii": {"type": {"key": "integer", "value": "integer",
                         "min": 0, "max": "unlimited"}},
         "rr": {"type": {"key": "real", "value": "real",
                         "min": 0, "max": "unlimited"}},
         "bb": {"type": {"key": "boolean", "value": "boolean",
                         "min": 0, "max": "unlimited"}},
	 "ss": {"type": {"key": "string", "value": "string",
                         "min": 0, "max": "unlimited"}}}}' \
    '["null", {}]' \
    '["ii0", {"ii": ["map", [[0, 0]]]}]' \
    '["ii1", {"ii": ["map", [[0, 1]]]}]' \
    '["ii00", {"ii": ["map", [[0, 0], [1, 0]]]}]' \
    '["ii01", {"ii": ["map", [[0, 0], [1, 1]]]}]' \
    '["ii10", {"ii": ["map", [[0, 1], [1, 0]]]}]' \
    '["ii11", {"ii": ["map", [[0, 1], [1, 1]]]}]' \
    '["rr0", {"rr": ["map", [[0, 0]]]}]' \
    '["rr0", {"rr": ["map", [[0, 1]]]}]' \
    '["rr00", {"rr": ["map", [[0, 0], [1, 0]]]}]' \
    '["rr01", {"rr": ["map", [[0, 0], [1, 1]]]}]' \
    '["rr10", {"rr": ["map", [[0, 1], [1, 0]]]}]' \
    '["rr11", {"rr": ["map", [[0, 1], [1, 1]]]}]' \
    '["bb0", {"bb": ["map", [[false, false]]]}]' \
    '["bb1", {"bb": ["map", [[false, true]]]}]' \
    '["bb00", {"bb": ["map", [[false, false], [true, false]]]}]' \
    '["bb01", {"bb": ["map", [[false, false], [true, true]]]}]' \
    '["bb10", {"bb": ["map", [[false, true], [true, false]]]}]' \
    '["bb11", {"bb": ["map", [[false, true], [true, true]]]}]' \
    '["ss0", {"ss": ["map", [["a", "a"]]]}]' \
    '["ss1", {"ss": ["map", [["a", "b"]]]}]' \
    '["ss00", {"ss": ["map", [["a", "a"], ["b", "a"]]]}]' \
    '["ss01", {"ss": ["map", [["a", "a"], ["b", "b"]]]}]' \
    '["ss10", {"ss": ["map", [["a", "b"], ["b", "a"]]]}]' \
    '["ss11", {"ss": ["map", [["a", "b"], ["b", "b"]]]}]'; echo

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-row.at:237"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_970
#AT_START_971
at_fn_group_banner 971 'ovsdb-schema.at:3' \
  "schema with valid refTables - C" "                " 63
at_xfail=no
(
  $as_echo "971. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-schema.at:3: test-ovsdb parse-schema \\
      '{\"name\": \"mydb\",
        \"version\": \"4.2.1\",
        \"tables\": {
          \"a\": {
            \"columns\": {
              \"map\": {
                \"type\": {
                  \"key\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"b\"},
                  \"value\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"a\"}}}}},
          \"b\": {
            \"columns\": {
              \"aRef\": {
                \"type\": {
                  \"key\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"a\"}}}}}}}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-schema.at:3"
( $at_check_trace; test-ovsdb parse-schema \
      '{"name": "mydb",
        "version": "4.2.1",
        "tables": {
          "a": {
            "columns": {
              "map": {
                "type": {
                  "key": {
                    "type": "uuid",
                    "refTable": "b"},
                  "value": {
                    "type": "uuid",
                    "refTable": "a"}}}}},
          "b": {
            "columns": {
              "aRef": {
                "type": {
                  "key": {
                    "type": "uuid",
                    "refTable": "a"}}}}}}}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"name\":\"mydb\",\"tables\":{\"a\":{\"columns\":{\"map\":{\"type\":{\"key\":{\"refTable\":\"b\",\"type\":\"uuid\"},\"value\":{\"refTable\":\"a\",\"type\":\"uuid\"}}}}},\"b\":{\"columns\":{\"aRef\":{\"type\":{\"key\":{\"refTable\":\"a\",\"type\":\"uuid\"}}}}}},\"version\":\"4.2.1\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-schema.at:3"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_971
#AT_START_972
at_fn_group_banner 972 'ovsdb-schema.at:3' \
  "schema with valid refTables - Python" "           " 63
at_xfail=no
(
  $as_echo "972. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-schema.at:3" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-schema.at:3"


   { set +x
$as_echo "$at_srcdir/ovsdb-schema.at:3: \$PYTHON \$srcdir/test-ovsdb.py parse-schema \\
      '{\"name\": \"mydb\",
        \"version\": \"4.2.1\",
        \"tables\": {
          \"a\": {
            \"columns\": {
              \"map\": {
                \"type\": {
                  \"key\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"b\"},
                  \"value\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"a\"}}}}},
          \"b\": {
            \"columns\": {
              \"aRef\": {
                \"type\": {
                  \"key\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"a\"}}}}}}}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-schema.at:3"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-schema \
      '{"name": "mydb",
        "version": "4.2.1",
        "tables": {
          "a": {
            "columns": {
              "map": {
                "type": {
                  "key": {
                    "type": "uuid",
                    "refTable": "b"},
                  "value": {
                    "type": "uuid",
                    "refTable": "a"}}}}},
          "b": {
            "columns": {
              "aRef": {
                "type": {
                  "key": {
                    "type": "uuid",
                    "refTable": "a"}}}}}}}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"name\":\"mydb\",\"tables\":{\"a\":{\"columns\":{\"map\":{\"type\":{\"key\":{\"refTable\":\"b\",\"type\":\"uuid\"},\"value\":{\"refTable\":\"a\",\"type\":\"uuid\"}}}}},\"b\":{\"columns\":{\"aRef\":{\"type\":{\"key\":{\"refTable\":\"a\",\"type\":\"uuid\"}}}}}},\"version\":\"4.2.1\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-schema.at:3"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_972
#AT_START_973
at_fn_group_banner 973 'ovsdb-schema.at:30' \
  "schema with ephemeral strong references - C" "    " 63
at_xfail=no
(
  $as_echo "973. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-schema.at:30: test-ovsdb parse-schema \\
      '{\"name\": \"mydb\",
        \"version\": \"4.2.1\",
        \"tables\": {
          \"a\": {
            \"columns\": {
              \"x\": {
                \"type\": {
                  \"key\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"b\"}},
                \"ephemeral\": true},
              \"y\": {
                \"type\": {
                  \"key\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"a\"}},
                \"ephemeral\": true}}},
          \"b\": {
            \"columns\": {
              \"aRef\": {
                \"type\": {
                  \"key\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"a\"}}}},
              \"isRoot\": true}}}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-schema.at:30"
( $at_check_trace; test-ovsdb parse-schema \
      '{"name": "mydb",
        "version": "4.2.1",
        "tables": {
          "a": {
            "columns": {
              "x": {
                "type": {
                  "key": {
                    "type": "uuid",
                    "refTable": "b"}},
                "ephemeral": true},
              "y": {
                "type": {
                  "key": {
                    "type": "uuid",
                    "refTable": "a"}},
                "ephemeral": true}}},
          "b": {
            "columns": {
              "aRef": {
                "type": {
                  "key": {
                    "type": "uuid",
                    "refTable": "a"}}}},
              "isRoot": true}}}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"name\":\"mydb\",\"tables\":{\"a\":{\"columns\":{\"x\":{\"ephemeral\":true,\"type\":{\"key\":{\"refTable\":\"b\",\"type\":\"uuid\"}}},\"y\":{\"type\":{\"key\":{\"refTable\":\"a\",\"type\":\"uuid\"}}}}},\"b\":{\"columns\":{\"aRef\":{\"type\":{\"key\":{\"refTable\":\"a\",\"type\":\"uuid\"}}}},\"isRoot\":true}},\"version\":\"4.2.1\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-schema.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_973
#AT_START_974
at_fn_group_banner 974 'ovsdb-schema.at:30' \
  "schema with ephemeral strong references - Python" "" 63
at_xfail=no
(
  $as_echo "974. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-schema.at:30" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-schema.at:30"


   { set +x
$as_echo "$at_srcdir/ovsdb-schema.at:30: \$PYTHON \$srcdir/test-ovsdb.py parse-schema \\
      '{\"name\": \"mydb\",
        \"version\": \"4.2.1\",
        \"tables\": {
          \"a\": {
            \"columns\": {
              \"x\": {
                \"type\": {
                  \"key\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"b\"}},
                \"ephemeral\": true},
              \"y\": {
                \"type\": {
                  \"key\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"a\"}},
                \"ephemeral\": true}}},
          \"b\": {
            \"columns\": {
              \"aRef\": {
                \"type\": {
                  \"key\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"a\"}}}},
              \"isRoot\": true}}}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-schema.at:30"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-schema \
      '{"name": "mydb",
        "version": "4.2.1",
        "tables": {
          "a": {
            "columns": {
              "x": {
                "type": {
                  "key": {
                    "type": "uuid",
                    "refTable": "b"}},
                "ephemeral": true},
              "y": {
                "type": {
                  "key": {
                    "type": "uuid",
                    "refTable": "a"}},
                "ephemeral": true}}},
          "b": {
            "columns": {
              "aRef": {
                "type": {
                  "key": {
                    "type": "uuid",
                    "refTable": "a"}}}},
              "isRoot": true}}}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"name\":\"mydb\",\"tables\":{\"a\":{\"columns\":{\"x\":{\"ephemeral\":true,\"type\":{\"key\":{\"refTable\":\"b\",\"type\":\"uuid\"}}},\"y\":{\"type\":{\"key\":{\"refTable\":\"a\",\"type\":\"uuid\"}}}}},\"b\":{\"columns\":{\"aRef\":{\"type\":{\"key\":{\"refTable\":\"a\",\"type\":\"uuid\"}}}},\"isRoot\":true}},\"version\":\"4.2.1\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-schema.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_974
#AT_START_975
at_fn_group_banner 975 'ovsdb-schema.at:61' \
  "schema without version number - C" "              " 63
at_xfail=no
(
  $as_echo "975. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-schema.at:61: test-ovsdb parse-schema \\
      '{\"name\": \"mydb\",
        \"tables\": {
          \"x\": {
            \"columns\": {
              \"y\": {
                \"type\": \"integer\"}}}}}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-schema.at:61"
( $at_check_trace; test-ovsdb parse-schema \
      '{"name": "mydb",
        "tables": {
          "x": {
            "columns": {
              "y": {
                "type": "integer"}}}}}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"name\":\"mydb\",\"tables\":{\"x\":{\"columns\":{\"y\":{\"type\":\"integer\"}}}}}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-schema.at:61"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_975
#AT_START_976
at_fn_group_banner 976 'ovsdb-schema.at:61' \
  "schema without version number - Python" "         " 63
at_xfail=no
(
  $as_echo "976. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-schema.at:61" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-schema.at:61"


   { set +x
$as_echo "$at_srcdir/ovsdb-schema.at:61: \$PYTHON \$srcdir/test-ovsdb.py parse-schema \\
      '{\"name\": \"mydb\",
        \"tables\": {
          \"x\": {
            \"columns\": {
              \"y\": {
                \"type\": \"integer\"}}}}}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-schema.at:61"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-schema \
      '{"name": "mydb",
        "tables": {
          "x": {
            "columns": {
              "y": {
                "type": "integer"}}}}}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"name\":\"mydb\",\"tables\":{\"x\":{\"columns\":{\"y\":{\"type\":\"integer\"}}}}}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-schema.at:61"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_976
#AT_START_977
at_fn_group_banner 977 'ovsdb-schema.at:71' \
  "schema with invalid refTables - C" "              " 63
at_xfail=no
(
  $as_echo "977. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-schema.at:71: test-ovsdb parse-schema \\
      '{\"name\": \"mydb\",
        \"tables\": {
          \"a\": {
            \"columns\": {
              \"map\": {
                \"type\": {
                  \"key\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"c\"},
                  \"value\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"a\"}}}}},
          \"b\": {
            \"columns\": {
              \"aRef\": {
                \"type\": {
                  \"key\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"a\"}}}}}}}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-schema.at:71"
( $at_check_trace; test-ovsdb parse-schema \
      '{"name": "mydb",
        "tables": {
          "a": {
            "columns": {
              "map": {
                "type": {
                  "key": {
                    "type": "uuid",
                    "refTable": "c"},
                  "value": {
                    "type": "uuid",
                    "refTable": "a"}}}}},
          "b": {
            "columns": {
              "aRef": {
                "type": {
                  "key": {
                    "type": "uuid",
                    "refTable": "a"}}}}}}}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-schema.at:71"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-schema.at:71: if grep -F -e \"syntax error: column map key refers to undefined table c\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-schema.at:71"
( $at_check_trace; if grep -F -e "syntax error: column map key refers to undefined table c" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-schema.at:71"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_977
#AT_START_978
at_fn_group_banner 978 'ovsdb-schema.at:71' \
  "schema with invalid refTables - Python" "         " 63
at_xfail=no
(
  $as_echo "978. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-schema.at:71" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-schema.at:71"

   { set +x
$as_echo "$at_srcdir/ovsdb-schema.at:71: \$PYTHON \$srcdir/test-ovsdb.py parse-schema \\
      '{\"name\": \"mydb\",
        \"tables\": {
          \"a\": {
            \"columns\": {
              \"map\": {
                \"type\": {
                  \"key\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"c\"},
                  \"value\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"a\"}}}}},
          \"b\": {
            \"columns\": {
              \"aRef\": {
                \"type\": {
                  \"key\": {
                    \"type\": \"uuid\",
                    \"refTable\": \"a\"}}}}}}}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-schema.at:71"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-schema \
      '{"name": "mydb",
        "tables": {
          "a": {
            "columns": {
              "map": {
                "type": {
                  "key": {
                    "type": "uuid",
                    "refTable": "c"},
                  "value": {
                    "type": "uuid",
                    "refTable": "a"}}}}},
          "b": {
            "columns": {
              "aRef": {
                "type": {
                  "key": {
                    "type": "uuid",
                    "refTable": "a"}}}}}}}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-schema.at:71"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-schema.at:71: if grep -F -e \"syntax error: column map key refers to undefined table c\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-schema.at:71"
( $at_check_trace; if grep -F -e "syntax error: column map key refers to undefined table c" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-schema.at:71"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_978
#AT_START_979
at_fn_group_banner 979 'ovsdb-schema.at:94' \
  "schema with invalid version number - C" "         " 63
at_xfail=no
(
  $as_echo "979. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-schema.at:94: test-ovsdb parse-schema \\
      '{\"name\": \"mydb\",
        \"tables\": {
          \"x\": {
            \"columns\": {
              \"y\": {
                \"type\": \"integer\"}}}},
        \"version\": \"xxx\"}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-schema.at:94"
( $at_check_trace; test-ovsdb parse-schema \
      '{"name": "mydb",
        "tables": {
          "x": {
            "columns": {
              "y": {
                "type": "integer"}}}},
        "version": "xxx"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-schema.at:94"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-schema.at:94: if grep -F -e \"schema version \\\"xxx\\\" not in format x.y.z\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-schema.at:94"
( $at_check_trace; if grep -F -e "schema version \"xxx\" not in format x.y.z" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-schema.at:94"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_979
#AT_START_980
at_fn_group_banner 980 'ovsdb-schema.at:94' \
  "schema with invalid version number - Python" "    " 63
at_xfail=no
(
  $as_echo "980. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-schema.at:94" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-schema.at:94"

   { set +x
$as_echo "$at_srcdir/ovsdb-schema.at:94: \$PYTHON \$srcdir/test-ovsdb.py parse-schema \\
      '{\"name\": \"mydb\",
        \"tables\": {
          \"x\": {
            \"columns\": {
              \"y\": {
                \"type\": \"integer\"}}}},
        \"version\": \"xxx\"}'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-schema.at:94"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py parse-schema \
      '{"name": "mydb",
        "tables": {
          "x": {
            "columns": {
              "y": {
                "type": "integer"}}}},
        "version": "xxx"}'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-schema.at:94"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-schema.at:94: if grep -F -e \"schema version \\\"xxx\\\" not in format x.y.z\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-schema.at:94"
( $at_check_trace; if grep -F -e "schema version \"xxx\" not in format x.y.z" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-schema.at:94"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_980
#AT_START_981
at_fn_group_banner 981 'ovsdb-condition.at:3' \
  "null condition" "                                 " 64
at_xfail=no
(
  $as_echo "981. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-condition.at:3: test-ovsdb parse-conditions \\
    '{\"columns\": {\"name\": {\"type\": \"string\"}}}' \\
    '[]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-condition.at:3"
( $at_check_trace; test-ovsdb parse-conditions \
    '{"columns": {"name": {"type": "string"}}}' \
    '[]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-condition.at:3"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_981
#AT_START_982
at_fn_group_banner 982 'ovsdb-condition.at:9' \
  "conditions on scalars" "                          " 64
at_xfail=no
(
  $as_echo "982. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-condition.at:9: test-ovsdb parse-conditions \\
    '{\"columns\":
        {\"i\": {\"type\": \"integer\"},
         \"r\": {\"type\": \"real\"},
         \"b\": {\"type\": \"boolean\"},
	 \"s\": {\"type\": \"string\"},
         \"u\": {\"type\": \"uuid\"}}}' \\
    '[[\"i\", \"==\", 0]]' \\
    '[[\"i\", \"!=\", 1]]' \\
    '[[\"i\", \"<\", 2]]' \\
    '[[\"i\", \"<=\", 3]]' \\
    '[[\"i\", \">\", 4]]' \\
    '[[\"i\", \">=\", 5]]' \\
    '[[\"i\", \"includes\", 6]]' \\
    '[[\"i\", \"excludes\", 7]]' \\
    '[[\"r\", \"==\", 0.5]]' \\
    '[[\"r\", \"!=\", 1.5]]' \\
    '[[\"r\", \"<\", 2.5]]' \\
    '[[\"r\", \"<=\", 3.5]]' \\
    '[[\"r\", \">\", 4.5]]' \\
    '[[\"r\", \">=\", 5.5]]' \\
    '[[\"r\", \"includes\", 6.5]]' \\
    '[[\"r\", \"excludes\", 7.5]]' \\
    '[[\"b\", \"==\", true]]' \\
    '[[\"b\", \"!=\", false]]' \\
    '[[\"b\", \"includes\", false]]' \\
    '[[\"b\", \"excludes\", true]]' \\
    '[[\"s\", \"==\", \"a\"]]' \\
    '[[\"s\", \"!=\", \"b\"]]' \\
    '[[\"s\", \"includes\", \"c\"]]' \\
    '[[\"s\", \"excludes\", \"d\"]]' \\
    '[[\"u\", \"==\", [\"uuid\", \"b10d28f7-af18-4a67-9e78-2a6394516c59\"]]]' \\
    '[[\"u\", \"!=\", [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"]]]' \\
    '[[\"u\", \"includes\", [\"uuid\", \"ad0fa355-8b84-4a36-a4b5-b2c1bfd91758\"]]]' \\
    '[[\"u\", \"excludes\", [\"uuid\", \"62315898-64e0-40b9-b26f-ff74225303e6\"]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-condition.at:9"
( $at_check_trace; test-ovsdb parse-conditions \
    '{"columns":
        {"i": {"type": "integer"},
         "r": {"type": "real"},
         "b": {"type": "boolean"},
	 "s": {"type": "string"},
         "u": {"type": "uuid"}}}' \
    '[["i", "==", 0]]' \
    '[["i", "!=", 1]]' \
    '[["i", "<", 2]]' \
    '[["i", "<=", 3]]' \
    '[["i", ">", 4]]' \
    '[["i", ">=", 5]]' \
    '[["i", "includes", 6]]' \
    '[["i", "excludes", 7]]' \
    '[["r", "==", 0.5]]' \
    '[["r", "!=", 1.5]]' \
    '[["r", "<", 2.5]]' \
    '[["r", "<=", 3.5]]' \
    '[["r", ">", 4.5]]' \
    '[["r", ">=", 5.5]]' \
    '[["r", "includes", 6.5]]' \
    '[["r", "excludes", 7.5]]' \
    '[["b", "==", true]]' \
    '[["b", "!=", false]]' \
    '[["b", "includes", false]]' \
    '[["b", "excludes", true]]' \
    '[["s", "==", "a"]]' \
    '[["s", "!=", "b"]]' \
    '[["s", "includes", "c"]]' \
    '[["s", "excludes", "d"]]' \
    '[["u", "==", ["uuid", "b10d28f7-af18-4a67-9e78-2a6394516c59"]]]' \
    '[["u", "!=", ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"]]]' \
    '[["u", "includes", ["uuid", "ad0fa355-8b84-4a36-a4b5-b2c1bfd91758"]]]' \
    '[["u", "excludes", ["uuid", "62315898-64e0-40b9-b26f-ff74225303e6"]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[[\"i\",\"==\",0]]
[[\"i\",\"!=\",1]]
[[\"i\",\"<\",2]]
[[\"i\",\"<=\",3]]
[[\"i\",\">\",4]]
[[\"i\",\">=\",5]]
[[\"i\",\"includes\",6]]
[[\"i\",\"excludes\",7]]
[[\"r\",\"==\",0.5]]
[[\"r\",\"!=\",1.5]]
[[\"r\",\"<\",2.5]]
[[\"r\",\"<=\",3.5]]
[[\"r\",\">\",4.5]]
[[\"r\",\">=\",5.5]]
[[\"r\",\"includes\",6.5]]
[[\"r\",\"excludes\",7.5]]
[[\"b\",\"==\",true]]
[[\"b\",\"!=\",false]]
[[\"b\",\"includes\",false]]
[[\"b\",\"excludes\",true]]
[[\"s\",\"==\",\"a\"]]
[[\"s\",\"!=\",\"b\"]]
[[\"s\",\"includes\",\"c\"]]
[[\"s\",\"excludes\",\"d\"]]
[[\"u\",\"==\",[\"uuid\",\"b10d28f7-af18-4a67-9e78-2a6394516c59\"]]]
[[\"u\",\"!=\",[\"uuid\",\"9179ca6d-6d65-400a-b455-3ad92783a099\"]]]
[[\"u\",\"includes\",[\"uuid\",\"ad0fa355-8b84-4a36-a4b5-b2c1bfd91758\"]]]
[[\"u\",\"excludes\",[\"uuid\",\"62315898-64e0-40b9-b26f-ff74225303e6\"]]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-condition.at:9"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_982
#AT_START_983
at_fn_group_banner 983 'ovsdb-condition.at:75' \
  "disallowed conditions on scalars" "               " 64
at_xfail=no
(
  $as_echo "983. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ovsdb-condition.at:77: test-ovsdb parse-conditions \\
    '{\"columns\":
        {\"i\": {\"type\": \"integer\"},
         \"r\": {\"type\": \"real\"},
         \"b\": {\"type\": \"boolean\"},
	 \"s\": {\"type\": \"string\"},
         \"u\": {\"type\": \"uuid\"}}}' \\
    '[[\"b\", \">\", true]]' \\
    '[[\"b\", \">=\", false]]' \\
    '[[\"b\", \"<\", false]]' \\
    '[[\"b\", \"<=\", false]]' \\
    '[[\"s\", \">\", \"a\"]]' \\
    '[[\"s\", \">=\", \"b\"]]' \\
    '[[\"s\", \"<\", \"c\"]]' \\
    '[[\"s\", \"<=\", \"d\"]]' \\
    '[[\"u\", \">\", [\"uuid\", \"b10d28f7-af18-4a67-9e78-2a6394516c59\"]]]' \\
    '[[\"u\", \">=\", [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"]]]' \\
    '[[\"u\", \"<\", [\"uuid\", \"ad0fa355-8b84-4a36-a4b5-b2c1bfd91758\"]]]' \\
    '[[\"u\", \"<=\", [\"uuid\", \"62315898-64e0-40b9-b26f-ff74225303e6\"]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-condition.at:77"
( $at_check_trace; test-ovsdb parse-conditions \
    '{"columns":
        {"i": {"type": "integer"},
         "r": {"type": "real"},
         "b": {"type": "boolean"},
	 "s": {"type": "string"},
         "u": {"type": "uuid"}}}' \
    '[["b", ">", true]]' \
    '[["b", ">=", false]]' \
    '[["b", "<", false]]' \
    '[["b", "<=", false]]' \
    '[["s", ">", "a"]]' \
    '[["s", ">=", "b"]]' \
    '[["s", "<", "c"]]' \
    '[["s", "<=", "d"]]' \
    '[["u", ">", ["uuid", "b10d28f7-af18-4a67-9e78-2a6394516c59"]]]' \
    '[["u", ">=", ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"]]]' \
    '[["u", "<", ["uuid", "ad0fa355-8b84-4a36-a4b5-b2c1bfd91758"]]]' \
    '[["u", "<=", ["uuid", "62315898-64e0-40b9-b26f-ff74225303e6"]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "test-ovsdb: syntax \"[\"b\",\">\",true]\": syntax error: Type mismatch: \">\" operator may not be applied to column b of type boolean.
test-ovsdb: syntax \"[\"b\",\">=\",false]\": syntax error: Type mismatch: \">=\" operator may not be applied to column b of type boolean.
test-ovsdb: syntax \"[\"b\",\"<\",false]\": syntax error: Type mismatch: \"<\" operator may not be applied to column b of type boolean.
test-ovsdb: syntax \"[\"b\",\"<=\",false]\": syntax error: Type mismatch: \"<=\" operator may not be applied to column b of type boolean.
test-ovsdb: syntax \"[\"s\",\">\",\"a\"]\": syntax error: Type mismatch: \">\" operator may not be applied to column s of type string.
test-ovsdb: syntax \"[\"s\",\">=\",\"b\"]\": syntax error: Type mismatch: \">=\" operator may not be applied to column s of type string.
test-ovsdb: syntax \"[\"s\",\"<\",\"c\"]\": syntax error: Type mismatch: \"<\" operator may not be applied to column s of type string.
test-ovsdb: syntax \"[\"s\",\"<=\",\"d\"]\": syntax error: Type mismatch: \"<=\" operator may not be applied to column s of type string.
test-ovsdb: syntax \"[\"u\",\">\",[\"uuid\",\"b10d28f7-af18-4a67-9e78-2a6394516c59\"]]\": syntax error: Type mismatch: \">\" operator may not be applied to column u of type uuid.
test-ovsdb: syntax \"[\"u\",\">=\",[\"uuid\",\"9179ca6d-6d65-400a-b455-3ad92783a099\"]]\": syntax error: Type mismatch: \">=\" operator may not be applied to column u of type uuid.
test-ovsdb: syntax \"[\"u\",\"<\",[\"uuid\",\"ad0fa355-8b84-4a36-a4b5-b2c1bfd91758\"]]\": syntax error: Type mismatch: \"<\" operator may not be applied to column u of type uuid.
test-ovsdb: syntax \"[\"u\",\"<=\",[\"uuid\",\"62315898-64e0-40b9-b26f-ff74225303e6\"]]\": syntax error: Type mismatch: \"<=\" operator may not be applied to column u of type uuid.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-condition.at:77"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_983
#AT_START_984
at_fn_group_banner 984 'ovsdb-condition.at:112' \
  "conditions on sets" "                             " 64
at_xfail=no
(
  $as_echo "984. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-condition.at:112: test-ovsdb parse-conditions \\
    '{\"columns\":
        {\"i\": {\"type\": {\"key\": \"integer\", \"min\": 0, \"max\": \"unlimited\"}},
         \"r\": {\"type\": {\"key\": \"real\", \"min\": 0, \"max\": \"unlimited\"}},
         \"b\": {\"type\": {\"key\": \"boolean\", \"min\": 0, \"max\": \"unlimited\"}},
	 \"s\": {\"type\": {\"key\": \"string\", \"min\": 0, \"max\": \"unlimited\"}},
         \"u\": {\"type\": {\"key\": \"uuid\", \"min\": 0, \"max\": \"unlimited\"}}}}' \\
    '[[\"i\", \"==\", [\"set\", []]]]' \\
    '[[\"i\", \"!=\", [\"set\", [1]]]]' \\
    '[[\"i\", \"includes\", [\"set\", [1, 2]]]]' \\
    '[[\"i\", \"excludes\", [\"set\", [1, 2, 3]]]]' \\
    '[[\"r\", \"==\", [\"set\", []]]]' \\
    '[[\"r\", \"!=\", [\"set\", [1.5]]]]' \\
    '[[\"r\", \"includes\", [\"set\", [1.5, 2.5]]]]' \\
    '[[\"r\", \"excludes\", [\"set\", [1.5, 2.5, 3.5]]]]' \\
    '[[\"b\", \"==\", [\"set\", [true]]]]' \\
    '[[\"b\", \"!=\", [\"set\", [false]]]]' \\
    '[[\"b\", \"includes\", [\"set\", [false]]]]' \\
    '[[\"b\", \"excludes\", [\"set\", [true, false]]]]' \\
    '[[\"s\", \"==\", [\"set\", [\"a\"]]]]' \\
    '[[\"s\", \"!=\", [\"set\", [\"a\", \"b\"]]]]' \\
    '[[\"s\", \"includes\", [\"set\", [\"c\"]]]]' \\
    '[[\"s\", \"excludes\", [\"set\", [\"c\", \"d\"]]]]' \\
    '[[\"u\", \"==\",
       [\"set\", [[\"uuid\", \"b10d28f7-af18-4a67-9e78-2a6394516c59\"]]]]]' \\
    '[[\"u\", \"==\",
       [\"set\", [[\"uuid\", \"b10d28f7-af18-4a67-9e78-2a6394516c59\"],
                [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"]]]]]' \\
    '[[\"u\", \"includes\",
       [\"set\", [[\"uuid\", \"b10d28f7-af18-4a67-9e78-2a6394516c59\"],
                [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"],
                [\"uuid\", \"ad0fa355-8b84-4a36-a4b5-b2c1bfd91758\"]]]]]' \\
    '[[\"u\", \"excludes\",
       [\"set\", [[\"uuid\", \"b10d28f7-af18-4a67-9e78-2a6394516c59\"],
                [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"],
                [\"uuid\", \"ad0fa355-8b84-4a36-a4b5-b2c1bfd91758\"],
                [\"uuid\", \"62315898-64e0-40b9-b26f-ff74225303e6\"]]]]]' \\
"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-condition.at:112"
( $at_check_trace; test-ovsdb parse-conditions \
    '{"columns":
        {"i": {"type": {"key": "integer", "min": 0, "max": "unlimited"}},
         "r": {"type": {"key": "real", "min": 0, "max": "unlimited"}},
         "b": {"type": {"key": "boolean", "min": 0, "max": "unlimited"}},
	 "s": {"type": {"key": "string", "min": 0, "max": "unlimited"}},
         "u": {"type": {"key": "uuid", "min": 0, "max": "unlimited"}}}}' \
    '[["i", "==", ["set", []]]]' \
    '[["i", "!=", ["set", [1]]]]' \
    '[["i", "includes", ["set", [1, 2]]]]' \
    '[["i", "excludes", ["set", [1, 2, 3]]]]' \
    '[["r", "==", ["set", []]]]' \
    '[["r", "!=", ["set", [1.5]]]]' \
    '[["r", "includes", ["set", [1.5, 2.5]]]]' \
    '[["r", "excludes", ["set", [1.5, 2.5, 3.5]]]]' \
    '[["b", "==", ["set", [true]]]]' \
    '[["b", "!=", ["set", [false]]]]' \
    '[["b", "includes", ["set", [false]]]]' \
    '[["b", "excludes", ["set", [true, false]]]]' \
    '[["s", "==", ["set", ["a"]]]]' \
    '[["s", "!=", ["set", ["a", "b"]]]]' \
    '[["s", "includes", ["set", ["c"]]]]' \
    '[["s", "excludes", ["set", ["c", "d"]]]]' \
    '[["u", "==",
       ["set", [["uuid", "b10d28f7-af18-4a67-9e78-2a6394516c59"]]]]]' \
    '[["u", "==",
       ["set", [["uuid", "b10d28f7-af18-4a67-9e78-2a6394516c59"],
                ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"]]]]]' \
    '[["u", "includes",
       ["set", [["uuid", "b10d28f7-af18-4a67-9e78-2a6394516c59"],
                ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"],
                ["uuid", "ad0fa355-8b84-4a36-a4b5-b2c1bfd91758"]]]]]' \
    '[["u", "excludes",
       ["set", [["uuid", "b10d28f7-af18-4a67-9e78-2a6394516c59"],
                ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"],
                ["uuid", "ad0fa355-8b84-4a36-a4b5-b2c1bfd91758"],
                ["uuid", "62315898-64e0-40b9-b26f-ff74225303e6"]]]]]' \

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[[\"i\",\"==\",[\"set\",[]]]]
[[\"i\",\"!=\",1]]
[[\"i\",\"includes\",[\"set\",[1,2]]]]
[[\"i\",\"excludes\",[\"set\",[1,2,3]]]]
[[\"r\",\"==\",[\"set\",[]]]]
[[\"r\",\"!=\",1.5]]
[[\"r\",\"includes\",[\"set\",[1.5,2.5]]]]
[[\"r\",\"excludes\",[\"set\",[1.5,2.5,3.5]]]]
[[\"b\",\"==\",true]]
[[\"b\",\"!=\",false]]
[[\"b\",\"includes\",false]]
[[\"b\",\"excludes\",[\"set\",[false,true]]]]
[[\"s\",\"==\",\"a\"]]
[[\"s\",\"!=\",[\"set\",[\"a\",\"b\"]]]]
[[\"s\",\"includes\",\"c\"]]
[[\"s\",\"excludes\",[\"set\",[\"c\",\"d\"]]]]
[[\"u\",\"==\",[\"uuid\",\"b10d28f7-af18-4a67-9e78-2a6394516c59\"]]]
[[\"u\",\"==\",[\"set\",[[\"uuid\",\"9179ca6d-6d65-400a-b455-3ad92783a099\"],[\"uuid\",\"b10d28f7-af18-4a67-9e78-2a6394516c59\"]]]]]
[[\"u\",\"includes\",[\"set\",[[\"uuid\",\"9179ca6d-6d65-400a-b455-3ad92783a099\"],[\"uuid\",\"ad0fa355-8b84-4a36-a4b5-b2c1bfd91758\"],[\"uuid\",\"b10d28f7-af18-4a67-9e78-2a6394516c59\"]]]]]
[[\"u\",\"excludes\",[\"set\",[[\"uuid\",\"62315898-64e0-40b9-b26f-ff74225303e6\"],[\"uuid\",\"9179ca6d-6d65-400a-b455-3ad92783a099\"],[\"uuid\",\"ad0fa355-8b84-4a36-a4b5-b2c1bfd91758\"],[\"uuid\",\"b10d28f7-af18-4a67-9e78-2a6394516c59\"]]]]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-condition.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_984
#AT_START_985
at_fn_group_banner 985 'ovsdb-condition.at:173' \
  "condition sorting" "                              " 64
at_xfail=no
(
  $as_echo "985. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-condition.at:173: test-ovsdb parse-conditions \\
    '{\"columns\": {\"i\": {\"type\": \"integer\"}}}' \\
    '[[\"i\", \"excludes\", 7],
      [\"i\", \"!=\", 8],
      [\"i\", \"==\", 1],
      [\"i\", \"includes\", 2],
      [\"i\", \"<=\", 3],
      [\"i\", \"<\", 4],
      [\"i\", \">\", 6],
      [\"i\", \">=\", 5],
      [\"_uuid\", \"==\", [\"uuid\", \"d50e85c6-8ae7-4b16-b69e-4395928bd9be\"]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-condition.at:173"
( $at_check_trace; test-ovsdb parse-conditions \
    '{"columns": {"i": {"type": "integer"}}}' \
    '[["i", "excludes", 7],
      ["i", "!=", 8],
      ["i", "==", 1],
      ["i", "includes", 2],
      ["i", "<=", 3],
      ["i", "<", 4],
      ["i", ">", 6],
      ["i", ">=", 5],
      ["_uuid", "==", ["uuid", "d50e85c6-8ae7-4b16-b69e-4395928bd9be"]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[[\"_uuid\",\"==\",[\"uuid\",\"d50e85c6-8ae7-4b16-b69e-4395928bd9be\"]],[\"i\",\"==\",1],[\"i\",\"includes\",2],[\"i\",\"<=\",3],[\"i\",\"<\",4],[\"i\",\">=\",5],[\"i\",\">\",6],[\"i\",\"excludes\",7],[\"i\",\"!=\",8]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-condition.at:173"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_985
#AT_START_986
at_fn_group_banner 986 'ovsdb-condition.at:187' \
  "evaluating null condition" "                      " 64
at_xfail=no
(
  $as_echo "986. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-condition.at:187: test-ovsdb evaluate-conditions \\
    '{\"columns\": {\"i\": {\"type\": \"integer\"}}}' \\
    '[[]]' \\
    '[{\"i\": 0},
      {\"i\": 1},
      {\"i\": 2}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-condition.at:187"
( $at_check_trace; test-ovsdb evaluate-conditions \
    '{"columns": {"i": {"type": "integer"}}}' \
    '[[]]' \
    '[{"i": 0},
      {"i": 1},
      {"i": 2}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "condition  0: TTT
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-condition.at:187"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_986
#AT_START_987
at_fn_group_banner 987 'ovsdb-condition.at:196' \
  "evaluating conditions on integers" "              " 64
at_xfail=no
(
  $as_echo "987. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-condition.at:196: test-ovsdb evaluate-conditions \\
    '{\"columns\": {\"i\": {\"type\": \"integer\"}}}' \\
    '[[[\"i\", \"<\", 1]],
      [[\"i\", \"<=\", 1]],
      [[\"i\", \"==\", 1]],
      [[\"i\", \"!=\", 1]],
      [[\"i\", \">=\", 1]],
      [[\"i\", \">\", 1]],
      [[\"i\", \"includes\", 1]],
      [[\"i\", \"excludes\", 1]],
      [[\"i\", \">\", 0], [\"i\", \"<\", 2]]]' \\
    '[{\"i\": 0},
      {\"i\": 1},
      {\"i\": 2}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-condition.at:196"
( $at_check_trace; test-ovsdb evaluate-conditions \
    '{"columns": {"i": {"type": "integer"}}}' \
    '[[["i", "<", 1]],
      [["i", "<=", 1]],
      [["i", "==", 1]],
      [["i", "!=", 1]],
      [["i", ">=", 1]],
      [["i", ">", 1]],
      [["i", "includes", 1]],
      [["i", "excludes", 1]],
      [["i", ">", 0], ["i", "<", 2]]]' \
    '[{"i": 0},
      {"i": 1},
      {"i": 2}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "condition  0: T--
condition  1: TT-
condition  2: -T-
condition  3: T-T
condition  4: -TT
condition  5: --T
condition  6: -T-
condition  7: T-T
condition  8: -T-
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-condition.at:196"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_987
#AT_START_988
at_fn_group_banner 988 'ovsdb-condition.at:221' \
  "evaluating conditions on reals" "                 " 64
at_xfail=no
(
  $as_echo "988. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-condition.at:221: test-ovsdb evaluate-conditions \\
    '{\"columns\": {\"r\": {\"type\": \"real\"}}}' \\
    '[[[\"r\", \"<\", 5.0]],
      [[\"r\", \"<=\", 5.0]],
      [[\"r\", \"==\", 5.0]],
      [[\"r\", \"!=\", 5.0]],
      [[\"r\", \">=\", 5.0]],
      [[\"r\", \">\", 5.0]],
      [[\"r\", \"includes\", 5.0]],
      [[\"r\", \"excludes\", 5.0]],
      [[\"r\", \"!=\", 0], [\"r\", \"!=\", 5.1]]]' \\
    '[{\"r\": 0},
      {\"r\": 5.0},
      {\"r\": 5.1}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-condition.at:221"
( $at_check_trace; test-ovsdb evaluate-conditions \
    '{"columns": {"r": {"type": "real"}}}' \
    '[[["r", "<", 5.0]],
      [["r", "<=", 5.0]],
      [["r", "==", 5.0]],
      [["r", "!=", 5.0]],
      [["r", ">=", 5.0]],
      [["r", ">", 5.0]],
      [["r", "includes", 5.0]],
      [["r", "excludes", 5.0]],
      [["r", "!=", 0], ["r", "!=", 5.1]]]' \
    '[{"r": 0},
      {"r": 5.0},
      {"r": 5.1}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "condition  0: T--
condition  1: TT-
condition  2: -T-
condition  3: T-T
condition  4: -TT
condition  5: --T
condition  6: -T-
condition  7: T-T
condition  8: -T-
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-condition.at:221"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_988
#AT_START_989
at_fn_group_banner 989 'ovsdb-condition.at:246' \
  "evaluating conditions on booleans" "              " 64
at_xfail=no
(
  $as_echo "989. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-condition.at:246: test-ovsdb evaluate-conditions \\
    '{\"columns\": {\"b\": {\"type\": \"boolean\"}}}' \\
    '[[[\"b\", \"==\", true]],
      [[\"b\", \"!=\", true]],
      [[\"b\", \"includes\", true]],
      [[\"b\", \"excludes\", true]],
      [[\"b\", \"==\", false]],
      [[\"b\", \"!=\", false]],
      [[\"b\", \"includes\", false]],
      [[\"b\", \"excludes\", false]],
      [[\"b\", \"==\", true], [\"b\", \"==\", false]]]' \\
    '[{\"b\": true},
      {\"b\": false}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-condition.at:246"
( $at_check_trace; test-ovsdb evaluate-conditions \
    '{"columns": {"b": {"type": "boolean"}}}' \
    '[[["b", "==", true]],
      [["b", "!=", true]],
      [["b", "includes", true]],
      [["b", "excludes", true]],
      [["b", "==", false]],
      [["b", "!=", false]],
      [["b", "includes", false]],
      [["b", "excludes", false]],
      [["b", "==", true], ["b", "==", false]]]' \
    '[{"b": true},
      {"b": false}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "condition  0: T-
condition  1: -T
condition  2: T-
condition  3: -T
condition  4: -T
condition  5: T-
condition  6: -T
condition  7: T-
condition  8: --
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-condition.at:246"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_989
#AT_START_990
at_fn_group_banner 990 'ovsdb-condition.at:270' \
  "evaluating conditions on strings" "               " 64
at_xfail=no
(
  $as_echo "990. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-condition.at:270: test-ovsdb evaluate-conditions \\
    '{\"columns\": {\"s\": {\"type\": \"string\"}}}' \\
    '[[[\"s\", \"==\", \"\"]],
      [[\"s\", \"!=\", \"\"]],
      [[\"s\", \"includes\", \"\"]],
      [[\"s\", \"excludes\", \"\"]],
      [[\"s\", \"==\", \"foo\"]],
      [[\"s\", \"!=\", \"foo\"]],
      [[\"s\", \"includes\", \"foo\"]],
      [[\"s\", \"excludes\", \"foo\"]],
      [[\"s\", \"!=\", \"foo\"], [\"s\", \"!=\", \"\"]]]' \\
    '[{\"s\": \"\"},
      {\"s\": \"foo\"},
      {\"s\": \"xxx\"}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-condition.at:270"
( $at_check_trace; test-ovsdb evaluate-conditions \
    '{"columns": {"s": {"type": "string"}}}' \
    '[[["s", "==", ""]],
      [["s", "!=", ""]],
      [["s", "includes", ""]],
      [["s", "excludes", ""]],
      [["s", "==", "foo"]],
      [["s", "!=", "foo"]],
      [["s", "includes", "foo"]],
      [["s", "excludes", "foo"]],
      [["s", "!=", "foo"], ["s", "!=", ""]]]' \
    '[{"s": ""},
      {"s": "foo"},
      {"s": "xxx"}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "condition  0: T--
condition  1: -TT
condition  2: T--
condition  3: -TT
condition  4: -T-
condition  5: T-T
condition  6: -T-
condition  7: T-T
condition  8: --T
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-condition.at:270"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_990
#AT_START_991
at_fn_group_banner 991 'ovsdb-condition.at:295' \
  "evaluating conditions on UUIDs" "                 " 64
at_xfail=no
(
  $as_echo "991. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-condition.at:295: test-ovsdb evaluate-conditions \\
    '{\"columns\": {\"u\": {\"type\": \"uuid\"}}}' \\
    '[[[\"u\", \"==\", [\"uuid\", \"8a1dbdb8-416f-4ce9-affa-3332691714b6\"]]],
      [[\"u\", \"!=\", [\"uuid\", \"8a1dbdb8-416f-4ce9-affa-3332691714b6\"]]],
      [[\"u\", \"includes\", [\"uuid\", \"8a1dbdb8-416f-4ce9-affa-3332691714b6\"]]],
      [[\"u\", \"excludes\", [\"uuid\", \"8a1dbdb8-416f-4ce9-affa-3332691714b6\"]]],
      [[\"u\", \"==\", [\"uuid\", \"06151f9d-62d6-4f59-8504-e9765107faa9\"]]],
      [[\"u\", \"!=\", [\"uuid\", \"06151f9d-62d6-4f59-8504-e9765107faa9\"]]],
      [[\"u\", \"includes\", [\"uuid\", \"06151f9d-62d6-4f59-8504-e9765107faa9\"]]],
      [[\"u\", \"excludes\", [\"uuid\", \"06151f9d-62d6-4f59-8504-e9765107faa9\"]]],
      [[\"u\", \"!=\", [\"uuid\", \"06151f9d-62d6-4f59-8504-e9765107faa9\"]],
       [\"u\", \"!=\", [\"uuid\", \"cb160ed6-92a6-4503-a6aa-a09a09e01f0d\"]]]]' \\
    '[{\"u\": [\"uuid\", \"8a1dbdb8-416f-4ce9-affa-3332691714b6\"]},
      {\"u\": [\"uuid\", \"06151f9d-62d6-4f59-8504-e9765107faa9\"]},
      {\"u\": [\"uuid\", \"00000000-0000-0000-0000-000000000000\"]}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-condition.at:295"
( $at_check_trace; test-ovsdb evaluate-conditions \
    '{"columns": {"u": {"type": "uuid"}}}' \
    '[[["u", "==", ["uuid", "8a1dbdb8-416f-4ce9-affa-3332691714b6"]]],
      [["u", "!=", ["uuid", "8a1dbdb8-416f-4ce9-affa-3332691714b6"]]],
      [["u", "includes", ["uuid", "8a1dbdb8-416f-4ce9-affa-3332691714b6"]]],
      [["u", "excludes", ["uuid", "8a1dbdb8-416f-4ce9-affa-3332691714b6"]]],
      [["u", "==", ["uuid", "06151f9d-62d6-4f59-8504-e9765107faa9"]]],
      [["u", "!=", ["uuid", "06151f9d-62d6-4f59-8504-e9765107faa9"]]],
      [["u", "includes", ["uuid", "06151f9d-62d6-4f59-8504-e9765107faa9"]]],
      [["u", "excludes", ["uuid", "06151f9d-62d6-4f59-8504-e9765107faa9"]]],
      [["u", "!=", ["uuid", "06151f9d-62d6-4f59-8504-e9765107faa9"]],
       ["u", "!=", ["uuid", "cb160ed6-92a6-4503-a6aa-a09a09e01f0d"]]]]' \
    '[{"u": ["uuid", "8a1dbdb8-416f-4ce9-affa-3332691714b6"]},
      {"u": ["uuid", "06151f9d-62d6-4f59-8504-e9765107faa9"]},
      {"u": ["uuid", "00000000-0000-0000-0000-000000000000"]}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "condition  0: T--
condition  1: -TT
condition  2: T--
condition  3: -TT
condition  4: -T-
condition  5: T-T
condition  6: -T-
condition  7: T-T
condition  8: T-T
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-condition.at:295"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_991
#AT_START_992
at_fn_group_banner 992 'ovsdb-condition.at:321' \
  "evaluating conditions on sets" "                  " 64
at_xfail=no
(
  $as_echo "992. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-condition.at:321: test-ovsdb evaluate-conditions \\
    '{\"columns\": {\"i\": {\"type\": {\"key\": \"integer\", \"min\": 0, \"max\": \"unlimited\"}}}}' \\
    '[[[\"i\", \"==\", [\"set\", []]]],
      [[\"i\", \"==\", [\"set\", [0]]]],
      [[\"i\", \"==\", [\"set\", [1]]]],
      [[\"i\", \"==\", [\"set\", [0, 1]]]],
      [[\"i\", \"==\", [\"set\", [2]]]],
      [[\"i\", \"==\", [\"set\", [2, 0]]]],
      [[\"i\", \"==\", [\"set\", [2, 1]]]],
      [[\"i\", \"==\", [\"set\", [2, 1, 0]]]],
      [[\"i\", \"!=\", [\"set\", []]]],
      [[\"i\", \"!=\", [\"set\", [0]]]],
      [[\"i\", \"!=\", [\"set\", [1]]]],
      [[\"i\", \"!=\", [\"set\", [0, 1]]]],
      [[\"i\", \"!=\", [\"set\", [2]]]],
      [[\"i\", \"!=\", [\"set\", [2, 0]]]],
      [[\"i\", \"!=\", [\"set\", [2, 1]]]],
      [[\"i\", \"!=\", [\"set\", [2, 1, 0]]]],
      [[\"i\", \"includes\", [\"set\", []]]],
      [[\"i\", \"includes\", [\"set\", [0]]]],
      [[\"i\", \"includes\", [\"set\", [1]]]],
      [[\"i\", \"includes\", [\"set\", [0, 1]]]],
      [[\"i\", \"includes\", [\"set\", [2]]]],
      [[\"i\", \"includes\", [\"set\", [2, 0]]]],
      [[\"i\", \"includes\", [\"set\", [2, 1]]]],
      [[\"i\", \"includes\", [\"set\", [2, 1, 0]]]],
      [[\"i\", \"excludes\", [\"set\", []]]],
      [[\"i\", \"excludes\", [\"set\", [0]]]],
      [[\"i\", \"excludes\", [\"set\", [1]]]],
      [[\"i\", \"excludes\", [\"set\", [0, 1]]]],
      [[\"i\", \"excludes\", [\"set\", [2]]]],
      [[\"i\", \"excludes\", [\"set\", [2, 0]]]],
      [[\"i\", \"excludes\", [\"set\", [2, 1]]]],
      [[\"i\", \"excludes\", [\"set\", [2, 1, 0]]]],
      [[\"i\", \"includes\", [\"set\", [0]]],
       [\"i\", \"includes\", [\"set\", [1]]]]]' \\
    '[{\"i\": [\"set\", []]},
      {\"i\": [\"set\", [0]]},
      {\"i\": [\"set\", [1]]},
      {\"i\": [\"set\", [0, 1]]},
      {\"i\": [\"set\", [2]]},
      {\"i\": [\"set\", [2, 0]]},
      {\"i\": [\"set\", [2, 1]]},
      {\"i\": [\"set\", [2, 1, 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-condition.at:321"
( $at_check_trace; test-ovsdb evaluate-conditions \
    '{"columns": {"i": {"type": {"key": "integer", "min": 0, "max": "unlimited"}}}}' \
    '[[["i", "==", ["set", []]]],
      [["i", "==", ["set", [0]]]],
      [["i", "==", ["set", [1]]]],
      [["i", "==", ["set", [0, 1]]]],
      [["i", "==", ["set", [2]]]],
      [["i", "==", ["set", [2, 0]]]],
      [["i", "==", ["set", [2, 1]]]],
      [["i", "==", ["set", [2, 1, 0]]]],
      [["i", "!=", ["set", []]]],
      [["i", "!=", ["set", [0]]]],
      [["i", "!=", ["set", [1]]]],
      [["i", "!=", ["set", [0, 1]]]],
      [["i", "!=", ["set", [2]]]],
      [["i", "!=", ["set", [2, 0]]]],
      [["i", "!=", ["set", [2, 1]]]],
      [["i", "!=", ["set", [2, 1, 0]]]],
      [["i", "includes", ["set", []]]],
      [["i", "includes", ["set", [0]]]],
      [["i", "includes", ["set", [1]]]],
      [["i", "includes", ["set", [0, 1]]]],
      [["i", "includes", ["set", [2]]]],
      [["i", "includes", ["set", [2, 0]]]],
      [["i", "includes", ["set", [2, 1]]]],
      [["i", "includes", ["set", [2, 1, 0]]]],
      [["i", "excludes", ["set", []]]],
      [["i", "excludes", ["set", [0]]]],
      [["i", "excludes", ["set", [1]]]],
      [["i", "excludes", ["set", [0, 1]]]],
      [["i", "excludes", ["set", [2]]]],
      [["i", "excludes", ["set", [2, 0]]]],
      [["i", "excludes", ["set", [2, 1]]]],
      [["i", "excludes", ["set", [2, 1, 0]]]],
      [["i", "includes", ["set", [0]]],
       ["i", "includes", ["set", [1]]]]]' \
    '[{"i": ["set", []]},
      {"i": ["set", [0]]},
      {"i": ["set", [1]]},
      {"i": ["set", [0, 1]]},
      {"i": ["set", [2]]},
      {"i": ["set", [2, 0]]},
      {"i": ["set", [2, 1]]},
      {"i": ["set", [2, 1, 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "condition  0: T---- ---
condition  1: -T--- ---
condition  2: --T-- ---
condition  3: ---T- ---
condition  4: ----T ---
condition  5: ----- T--
condition  6: ----- -T-
condition  7: ----- --T
condition  8: -TTTT TTT
condition  9: T-TTT TTT
condition 10: TT-TT TTT
condition 11: TTT-T TTT
condition 12: TTTT- TTT
condition 13: TTTTT -TT
condition 14: TTTTT T-T
condition 15: TTTTT TT-
condition 16: TTTTT TTT
condition 17: -T-T- T-T
condition 18: --TT- -TT
condition 19: ---T- --T
condition 20: ----T TTT
condition 21: ----- T-T
condition 22: ----- -TT
condition 23: ----- --T
condition 24: TTTTT TTT
condition 25: T-T-T -T-
condition 26: TT--T T--
condition 27: T---T ---
condition 28: TTTT- ---
condition 29: T-T-- ---
condition 30: TT--- ---
condition 31: T---- ---
condition 32: ---T- --T
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-condition.at:321"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_992
#AT_START_993
at_fn_group_banner 993 'ovsdb-condition.at:403' \
  "evaluating conditions on maps (1)" "              " 64
at_xfail=no
(
  $as_echo "993. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-condition.at:403: test-ovsdb evaluate-conditions \\
    '{\"columns\": {\"i\": {\"type\": {\"key\": \"integer\",
                                 \"value\": \"boolean\",
                                 \"min\": 0,
                                 \"max\": \"unlimited\"}}}}' \\
    '[[[\"i\", \"==\", [\"map\", []]]],
      [[\"i\", \"==\", [\"map\", [[0, true]]]]],
      [[\"i\", \"==\", [\"map\", [[1, false]]]]],
      [[\"i\", \"==\", [\"map\", [[0, true], [1, false]]]]],
      [[\"i\", \"==\", [\"map\", [[2, true]]]]],
      [[\"i\", \"==\", [\"map\", [[2, true], [0, true]]]]],
      [[\"i\", \"==\", [\"map\", [[2, true], [1, false]]]]],
      [[\"i\", \"==\", [\"map\", [[2, true], [1, false], [0, true]]]]],
      [[\"i\", \"!=\", [\"map\", []]]],
      [[\"i\", \"!=\", [\"map\", [[0, true]]]]],
      [[\"i\", \"!=\", [\"map\", [[1, false]]]]],
      [[\"i\", \"!=\", [\"map\", [[0, true], [1, false]]]]],
      [[\"i\", \"!=\", [\"map\", [[2, true]]]]],
      [[\"i\", \"!=\", [\"map\", [[2, true], [0, true]]]]],
      [[\"i\", \"!=\", [\"map\", [[2, true], [1, false]]]]],
      [[\"i\", \"!=\", [\"map\", [[2, true], [1, false], [0, true]]]]],
      [[\"i\", \"includes\", [\"map\", []]]],
      [[\"i\", \"includes\", [\"map\", [[0, true]]]]],
      [[\"i\", \"includes\", [\"map\", [[1, false]]]]],
      [[\"i\", \"includes\", [\"map\", [[0, true], [1, false]]]]],
      [[\"i\", \"includes\", [\"map\", [[2, true]]]]],
      [[\"i\", \"includes\", [\"map\", [[2, true], [0, true]]]]],
      [[\"i\", \"includes\", [\"map\", [[2, true], [1, false]]]]],
      [[\"i\", \"includes\", [\"map\", [[2, true], [1, false], [0, true]]]]],
      [[\"i\", \"excludes\", [\"map\", []]]],
      [[\"i\", \"excludes\", [\"map\", [[0, true]]]]],
      [[\"i\", \"excludes\", [\"map\", [[1, false]]]]],
      [[\"i\", \"excludes\", [\"map\", [[0, true], [1, false]]]]],
      [[\"i\", \"excludes\", [\"map\", [[2, true]]]]],
      [[\"i\", \"excludes\", [\"map\", [[2, true], [0, true]]]]],
      [[\"i\", \"excludes\", [\"map\", [[2, true], [1, false]]]]],
      [[\"i\", \"excludes\", [\"map\", [[2, true], [1, false], [0, true]]]]],
      [[\"i\", \"includes\", [\"map\", [[0, true]]]],
       [\"i\", \"includes\", [\"map\", [[1, false]]]]]]' \\
    '[{\"i\": [\"map\", []]},
      {\"i\": [\"map\", [[0, true]]]},
      {\"i\": [\"map\", [[1, false]]]},
      {\"i\": [\"map\", [[0, true], [1, false]]]},
      {\"i\": [\"map\", [[2, true]]]},
      {\"i\": [\"map\", [[2, true], [0, true]]]},
      {\"i\": [\"map\", [[2, true], [1, false]]]},
      {\"i\": [\"map\", [[2, true], [1, false], [0, true]]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-condition.at:403"
( $at_check_trace; test-ovsdb evaluate-conditions \
    '{"columns": {"i": {"type": {"key": "integer",
                                 "value": "boolean",
                                 "min": 0,
                                 "max": "unlimited"}}}}' \
    '[[["i", "==", ["map", []]]],
      [["i", "==", ["map", [[0, true]]]]],
      [["i", "==", ["map", [[1, false]]]]],
      [["i", "==", ["map", [[0, true], [1, false]]]]],
      [["i", "==", ["map", [[2, true]]]]],
      [["i", "==", ["map", [[2, true], [0, true]]]]],
      [["i", "==", ["map", [[2, true], [1, false]]]]],
      [["i", "==", ["map", [[2, true], [1, false], [0, true]]]]],
      [["i", "!=", ["map", []]]],
      [["i", "!=", ["map", [[0, true]]]]],
      [["i", "!=", ["map", [[1, false]]]]],
      [["i", "!=", ["map", [[0, true], [1, false]]]]],
      [["i", "!=", ["map", [[2, true]]]]],
      [["i", "!=", ["map", [[2, true], [0, true]]]]],
      [["i", "!=", ["map", [[2, true], [1, false]]]]],
      [["i", "!=", ["map", [[2, true], [1, false], [0, true]]]]],
      [["i", "includes", ["map", []]]],
      [["i", "includes", ["map", [[0, true]]]]],
      [["i", "includes", ["map", [[1, false]]]]],
      [["i", "includes", ["map", [[0, true], [1, false]]]]],
      [["i", "includes", ["map", [[2, true]]]]],
      [["i", "includes", ["map", [[2, true], [0, true]]]]],
      [["i", "includes", ["map", [[2, true], [1, false]]]]],
      [["i", "includes", ["map", [[2, true], [1, false], [0, true]]]]],
      [["i", "excludes", ["map", []]]],
      [["i", "excludes", ["map", [[0, true]]]]],
      [["i", "excludes", ["map", [[1, false]]]]],
      [["i", "excludes", ["map", [[0, true], [1, false]]]]],
      [["i", "excludes", ["map", [[2, true]]]]],
      [["i", "excludes", ["map", [[2, true], [0, true]]]]],
      [["i", "excludes", ["map", [[2, true], [1, false]]]]],
      [["i", "excludes", ["map", [[2, true], [1, false], [0, true]]]]],
      [["i", "includes", ["map", [[0, true]]]],
       ["i", "includes", ["map", [[1, false]]]]]]' \
    '[{"i": ["map", []]},
      {"i": ["map", [[0, true]]]},
      {"i": ["map", [[1, false]]]},
      {"i": ["map", [[0, true], [1, false]]]},
      {"i": ["map", [[2, true]]]},
      {"i": ["map", [[2, true], [0, true]]]},
      {"i": ["map", [[2, true], [1, false]]]},
      {"i": ["map", [[2, true], [1, false], [0, true]]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "condition  0: T---- ---
condition  1: -T--- ---
condition  2: --T-- ---
condition  3: ---T- ---
condition  4: ----T ---
condition  5: ----- T--
condition  6: ----- -T-
condition  7: ----- --T
condition  8: -TTTT TTT
condition  9: T-TTT TTT
condition 10: TT-TT TTT
condition 11: TTT-T TTT
condition 12: TTTT- TTT
condition 13: TTTTT -TT
condition 14: TTTTT T-T
condition 15: TTTTT TT-
condition 16: TTTTT TTT
condition 17: -T-T- T-T
condition 18: --TT- -TT
condition 19: ---T- --T
condition 20: ----T TTT
condition 21: ----- T-T
condition 22: ----- -TT
condition 23: ----- --T
condition 24: TTTTT TTT
condition 25: T-T-T -T-
condition 26: TT--T T--
condition 27: T---T ---
condition 28: TTTT- ---
condition 29: T-T-- ---
condition 30: TT--- ---
condition 31: T---- ---
condition 32: ---T- --T
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-condition.at:403"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_993
#AT_START_994
at_fn_group_banner 994 'ovsdb-condition.at:488' \
  "evaluating conditions on maps (2)" "              " 64
at_xfail=no
(
  $as_echo "994. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-condition.at:488: test-ovsdb evaluate-conditions \\
    '{\"columns\": {\"i\": {\"type\": {\"key\": \"integer\",
                                 \"value\": \"boolean\",
                                 \"min\": 0,
                                 \"max\": \"unlimited\"}}}}' \\
    '[[[\"i\", \"==\", [\"map\", []]]],
      [[\"i\", \"==\", [\"map\", [[0, true]]]]],
      [[\"i\", \"==\", [\"map\", [[1, false]]]]],
      [[\"i\", \"==\", [\"map\", [[0, true], [1, false]]]]],
      [[\"i\", \"==\", [\"map\", [[2, true]]]]],
      [[\"i\", \"==\", [\"map\", [[2, true], [0, true]]]]],
      [[\"i\", \"==\", [\"map\", [[2, true], [1, false]]]]],
      [[\"i\", \"==\", [\"map\", [[2, true], [1, false], [0, true]]]]],
      [[\"i\", \"!=\", [\"map\", []]]],
      [[\"i\", \"!=\", [\"map\", [[0, true]]]]],
      [[\"i\", \"!=\", [\"map\", [[1, false]]]]],
      [[\"i\", \"!=\", [\"map\", [[0, true], [1, false]]]]],
      [[\"i\", \"!=\", [\"map\", [[2, true]]]]],
      [[\"i\", \"!=\", [\"map\", [[2, true], [0, true]]]]],
      [[\"i\", \"!=\", [\"map\", [[2, true], [1, false]]]]],
      [[\"i\", \"!=\", [\"map\", [[2, true], [1, false], [0, true]]]]],
      [[\"i\", \"includes\", [\"map\", []]]],
      [[\"i\", \"includes\", [\"map\", [[0, true]]]]],
      [[\"i\", \"includes\", [\"map\", [[1, false]]]]],
      [[\"i\", \"includes\", [\"map\", [[0, true], [1, false]]]]],
      [[\"i\", \"includes\", [\"map\", [[2, true]]]]],
      [[\"i\", \"includes\", [\"map\", [[2, true], [0, true]]]]],
      [[\"i\", \"includes\", [\"map\", [[2, true], [1, false]]]]],
      [[\"i\", \"includes\", [\"map\", [[2, true], [1, false], [0, true]]]]],
      [[\"i\", \"excludes\", [\"map\", []]]],
      [[\"i\", \"excludes\", [\"map\", [[0, true]]]]],
      [[\"i\", \"excludes\", [\"map\", [[1, false]]]]],
      [[\"i\", \"excludes\", [\"map\", [[0, true], [1, false]]]]],
      [[\"i\", \"excludes\", [\"map\", [[2, true]]]]],
      [[\"i\", \"excludes\", [\"map\", [[2, true], [0, true]]]]],
      [[\"i\", \"excludes\", [\"map\", [[2, true], [1, false]]]]],
      [[\"i\", \"excludes\", [\"map\", [[2, true], [1, false], [0, true]]]]],
      [[\"i\", \"includes\", [\"map\", [[0, true]]]],
       [\"i\", \"includes\", [\"map\", [[1, false]]]]]]' \\
    '[{\"i\": [\"map\", []]},
      {\"i\": [\"map\", [[0, true]]]},
      {\"i\": [\"map\", [[0, false]]]},
      {\"i\": [\"map\", [[1, false]]]},
      {\"i\": [\"map\", [[1, true]]]},

      {\"i\": [\"map\", [[0, true], [1, false]]]},
      {\"i\": [\"map\", [[0, true], [1, true]]]},
      {\"i\": [\"map\", [[2, true]]]},
      {\"i\": [\"map\", [[2, false]]]},
      {\"i\": [\"map\", [[2, true], [0, true]]]},

      {\"i\": [\"map\", [[2, false], [0, true]]]},
      {\"i\": [\"map\", [[2, true], [1, false]]]},
      {\"i\": [\"map\", [[2, true], [1, true]]]},
      {\"i\": [\"map\", [[2, true], [1, false], [0, true]]]},
      {\"i\": [\"map\", [[2, true], [1, false], [0, false]]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-condition.at:488"
( $at_check_trace; test-ovsdb evaluate-conditions \
    '{"columns": {"i": {"type": {"key": "integer",
                                 "value": "boolean",
                                 "min": 0,
                                 "max": "unlimited"}}}}' \
    '[[["i", "==", ["map", []]]],
      [["i", "==", ["map", [[0, true]]]]],
      [["i", "==", ["map", [[1, false]]]]],
      [["i", "==", ["map", [[0, true], [1, false]]]]],
      [["i", "==", ["map", [[2, true]]]]],
      [["i", "==", ["map", [[2, true], [0, true]]]]],
      [["i", "==", ["map", [[2, true], [1, false]]]]],
      [["i", "==", ["map", [[2, true], [1, false], [0, true]]]]],
      [["i", "!=", ["map", []]]],
      [["i", "!=", ["map", [[0, true]]]]],
      [["i", "!=", ["map", [[1, false]]]]],
      [["i", "!=", ["map", [[0, true], [1, false]]]]],
      [["i", "!=", ["map", [[2, true]]]]],
      [["i", "!=", ["map", [[2, true], [0, true]]]]],
      [["i", "!=", ["map", [[2, true], [1, false]]]]],
      [["i", "!=", ["map", [[2, true], [1, false], [0, true]]]]],
      [["i", "includes", ["map", []]]],
      [["i", "includes", ["map", [[0, true]]]]],
      [["i", "includes", ["map", [[1, false]]]]],
      [["i", "includes", ["map", [[0, true], [1, false]]]]],
      [["i", "includes", ["map", [[2, true]]]]],
      [["i", "includes", ["map", [[2, true], [0, true]]]]],
      [["i", "includes", ["map", [[2, true], [1, false]]]]],
      [["i", "includes", ["map", [[2, true], [1, false], [0, true]]]]],
      [["i", "excludes", ["map", []]]],
      [["i", "excludes", ["map", [[0, true]]]]],
      [["i", "excludes", ["map", [[1, false]]]]],
      [["i", "excludes", ["map", [[0, true], [1, false]]]]],
      [["i", "excludes", ["map", [[2, true]]]]],
      [["i", "excludes", ["map", [[2, true], [0, true]]]]],
      [["i", "excludes", ["map", [[2, true], [1, false]]]]],
      [["i", "excludes", ["map", [[2, true], [1, false], [0, true]]]]],
      [["i", "includes", ["map", [[0, true]]]],
       ["i", "includes", ["map", [[1, false]]]]]]' \
    '[{"i": ["map", []]},
      {"i": ["map", [[0, true]]]},
      {"i": ["map", [[0, false]]]},
      {"i": ["map", [[1, false]]]},
      {"i": ["map", [[1, true]]]},

      {"i": ["map", [[0, true], [1, false]]]},
      {"i": ["map", [[0, true], [1, true]]]},
      {"i": ["map", [[2, true]]]},
      {"i": ["map", [[2, false]]]},
      {"i": ["map", [[2, true], [0, true]]]},

      {"i": ["map", [[2, false], [0, true]]]},
      {"i": ["map", [[2, true], [1, false]]]},
      {"i": ["map", [[2, true], [1, true]]]},
      {"i": ["map", [[2, true], [1, false], [0, true]]]},
      {"i": ["map", [[2, true], [1, false], [0, false]]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "condition  0: T---- ----- -----
condition  1: -T--- ----- -----
condition  2: ---T- ----- -----
condition  3: ----- T---- -----
condition  4: ----- --T-- -----
condition  5: ----- ----T -----
condition  6: ----- ----- -T---
condition  7: ----- ----- ---T-
condition  8: -TTTT TTTTT TTTTT
condition  9: T-TTT TTTTT TTTTT
condition 10: TTT-T TTTTT TTTTT
condition 11: TTTTT -TTTT TTTTT
condition 12: TTTTT TT-TT TTTTT
condition 13: TTTTT TTTT- TTTTT
condition 14: TTTTT TTTTT T-TTT
condition 15: TTTTT TTTTT TTT-T
condition 16: TTTTT TTTTT TTTTT
condition 17: -T--- TT--T T--T-
condition 18: ---T- T---- -T-TT
condition 19: ----- T---- ---T-
condition 20: ----- --T-T -TTTT
condition 21: ----- ----T ---T-
condition 22: ----- ----- -T-TT
condition 23: ----- ----- ---T-
condition 24: TTTTT TTTTT TTTTT
condition 25: T-TTT --TT- -TT-T
condition 26: TTT-T -TTTT T-T--
condition 27: T-T-T --TT- --T--
condition 28: TTTTT TT-T- T----
condition 29: T-TTT ---T- -----
condition 30: TTT-T -T-T- T----
condition 31: T-T-T ---T- -----
condition 32: ----- T---- ---T-
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-condition.at:488"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_994
#AT_START_995
at_fn_group_banner 995 'ovsdb-mutation.at:3' \
  "null mutation" "                                  " 65
at_xfail=no
(
  $as_echo "995. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:3: test-ovsdb parse-mutations \\
    '{\"columns\": {\"name\": {\"type\": \"string\"}}}' \\
    '[]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:3"
( $at_check_trace; test-ovsdb parse-mutations \
    '{"columns": {"name": {"type": "string"}}}' \
    '[]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:3"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_995
#AT_START_996
at_fn_group_banner 996 'ovsdb-mutation.at:9' \
  "mutations on scalars" "                           " 65
at_xfail=no
(
  $as_echo "996. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:9: test-ovsdb parse-mutations \\
    '{\"columns\":
        {\"i\": {\"type\": \"integer\"},
         \"r\": {\"type\": \"real\"},
         \"b\": {\"type\": \"boolean\"},
	 \"s\": {\"type\": \"string\"},
         \"u\": {\"type\": \"uuid\"}}}' \\
    '[[\"i\", \"+=\", 0]]' \\
    '[[\"i\", \"-=\", 1]]' \\
    '[[\"i\", \"*=\", 2]]' \\
    '[[\"i\", \"/=\", 3]]' \\
    '[[\"i\", \"%=\", 4]]' \\
    '[[\"r\", \"+=\", 0.5]]' \\
    '[[\"r\", \"-=\", 1.5]]' \\
    '[[\"r\", \"*=\", 2.5]]' \\
    '[[\"r\", \"/=\", 3.5]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:9"
( $at_check_trace; test-ovsdb parse-mutations \
    '{"columns":
        {"i": {"type": "integer"},
         "r": {"type": "real"},
         "b": {"type": "boolean"},
	 "s": {"type": "string"},
         "u": {"type": "uuid"}}}' \
    '[["i", "+=", 0]]' \
    '[["i", "-=", 1]]' \
    '[["i", "*=", 2]]' \
    '[["i", "/=", 3]]' \
    '[["i", "%=", 4]]' \
    '[["r", "+=", 0.5]]' \
    '[["r", "-=", 1.5]]' \
    '[["r", "*=", 2.5]]' \
    '[["r", "/=", 3.5]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[[\"i\",\"+=\",0]]
[[\"i\",\"-=\",1]]
[[\"i\",\"*=\",2]]
[[\"i\",\"/=\",3]]
[[\"i\",\"%=\",4]]
[[\"r\",\"+=\",0.5]]
[[\"r\",\"-=\",1.5]]
[[\"r\",\"*=\",2.5]]
[[\"r\",\"/=\",3.5]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:9"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_996
#AT_START_997
at_fn_group_banner 997 'ovsdb-mutation.at:37' \
  "disallowed mutations on scalars" "                " 65
at_xfail=no
(
  $as_echo "997. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:39: test-ovsdb parse-mutations \\
    '{\"columns\":
        {\"i\": {\"type\": \"integer\"},
         \"r\": {\"type\": \"real\"},
         \"b\": {\"type\": \"boolean\"},
	 \"s\": {\"type\": \"string\"},
         \"u\": {\"type\": \"uuid\"}}}' \\
    '[[\"i\", \"xxx\", 1]]' \\
    '[[\"i\", \"insert\", 1]]' \\
    '[[\"i\", \"delete\", 2]]' \\
    '[[\"r\", \"%=\", 0.5]]' \\
    '[[\"r\", \"insert\", 1.5]]' \\
    '[[\"r\", \"delete\", 2.5]]' \\
    '[[\"b\", \"+=\", true]]' \\
    '[[\"b\", \"-=\", false]]' \\
    '[[\"b\", \"*=\", true]]' \\
    '[[\"b\", \"/=\", false]]' \\
    '[[\"b\", \"%=\", true]]' \\
    '[[\"b\", \"insert\", false]]' \\
    '[[\"b\", \"delete\", true]]' \\
    '[[\"s\", \"+=\", \"a\"]]' \\
    '[[\"s\", \"-=\", \"b\"]]' \\
    '[[\"s\", \"*=\", \"c\"]]' \\
    '[[\"s\", \"/=\", \"d\"]]' \\
    '[[\"s\", \"%=\", \"e\"]]' \\
    '[[\"s\", \"insert\", \"f\"]]' \\
    '[[\"s\", \"delete\", \"g\"]]' \\
    '[[\"u\", \"+=\", [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"]]]' \\
    '[[\"u\", \"-=\", [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"]]]' \\
    '[[\"u\", \"*=\", [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"]]]' \\
    '[[\"u\", \"/=\", [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"]]]' \\
    '[[\"u\", \"insert\", [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"]]]' \\
    '[[\"u\", \"delete\", [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:39"
( $at_check_trace; test-ovsdb parse-mutations \
    '{"columns":
        {"i": {"type": "integer"},
         "r": {"type": "real"},
         "b": {"type": "boolean"},
	 "s": {"type": "string"},
         "u": {"type": "uuid"}}}' \
    '[["i", "xxx", 1]]' \
    '[["i", "insert", 1]]' \
    '[["i", "delete", 2]]' \
    '[["r", "%=", 0.5]]' \
    '[["r", "insert", 1.5]]' \
    '[["r", "delete", 2.5]]' \
    '[["b", "+=", true]]' \
    '[["b", "-=", false]]' \
    '[["b", "*=", true]]' \
    '[["b", "/=", false]]' \
    '[["b", "%=", true]]' \
    '[["b", "insert", false]]' \
    '[["b", "delete", true]]' \
    '[["s", "+=", "a"]]' \
    '[["s", "-=", "b"]]' \
    '[["s", "*=", "c"]]' \
    '[["s", "/=", "d"]]' \
    '[["s", "%=", "e"]]' \
    '[["s", "insert", "f"]]' \
    '[["s", "delete", "g"]]' \
    '[["u", "+=", ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"]]]' \
    '[["u", "-=", ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"]]]' \
    '[["u", "*=", ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"]]]' \
    '[["u", "/=", ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"]]]' \
    '[["u", "insert", ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"]]]' \
    '[["u", "delete", ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "test-ovsdb: unknown mutator: No mutator named xxx.
test-ovsdb: syntax \"[\"i\",\"insert\",1]\": syntax error: Type mismatch: \"insert\" operator may not be applied to column i of type integer.
test-ovsdb: syntax \"[\"i\",\"delete\",2]\": syntax error: Type mismatch: \"delete\" operator may not be applied to column i of type integer.
test-ovsdb: syntax \"[\"r\",\"%=\",0.5]\": syntax error: Type mismatch: \"%=\" operator may not be applied to column r of type real.
test-ovsdb: syntax \"[\"r\",\"insert\",1.5]\": syntax error: Type mismatch: \"insert\" operator may not be applied to column r of type real.
test-ovsdb: syntax \"[\"r\",\"delete\",2.5]\": syntax error: Type mismatch: \"delete\" operator may not be applied to column r of type real.
test-ovsdb: syntax \"[\"b\",\"+=\",true]\": syntax error: Type mismatch: \"+=\" operator may not be applied to column b of type boolean.
test-ovsdb: syntax \"[\"b\",\"-=\",false]\": syntax error: Type mismatch: \"-=\" operator may not be applied to column b of type boolean.
test-ovsdb: syntax \"[\"b\",\"*=\",true]\": syntax error: Type mismatch: \"*=\" operator may not be applied to column b of type boolean.
test-ovsdb: syntax \"[\"b\",\"/=\",false]\": syntax error: Type mismatch: \"/=\" operator may not be applied to column b of type boolean.
test-ovsdb: syntax \"[\"b\",\"%=\",true]\": syntax error: Type mismatch: \"%=\" operator may not be applied to column b of type boolean.
test-ovsdb: syntax \"[\"b\",\"insert\",false]\": syntax error: Type mismatch: \"insert\" operator may not be applied to column b of type boolean.
test-ovsdb: syntax \"[\"b\",\"delete\",true]\": syntax error: Type mismatch: \"delete\" operator may not be applied to column b of type boolean.
test-ovsdb: syntax \"[\"s\",\"+=\",\"a\"]\": syntax error: Type mismatch: \"+=\" operator may not be applied to column s of type string.
test-ovsdb: syntax \"[\"s\",\"-=\",\"b\"]\": syntax error: Type mismatch: \"-=\" operator may not be applied to column s of type string.
test-ovsdb: syntax \"[\"s\",\"*=\",\"c\"]\": syntax error: Type mismatch: \"*=\" operator may not be applied to column s of type string.
test-ovsdb: syntax \"[\"s\",\"/=\",\"d\"]\": syntax error: Type mismatch: \"/=\" operator may not be applied to column s of type string.
test-ovsdb: syntax \"[\"s\",\"%=\",\"e\"]\": syntax error: Type mismatch: \"%=\" operator may not be applied to column s of type string.
test-ovsdb: syntax \"[\"s\",\"insert\",\"f\"]\": syntax error: Type mismatch: \"insert\" operator may not be applied to column s of type string.
test-ovsdb: syntax \"[\"s\",\"delete\",\"g\"]\": syntax error: Type mismatch: \"delete\" operator may not be applied to column s of type string.
test-ovsdb: syntax \"[\"u\",\"+=\",[\"uuid\",\"9179ca6d-6d65-400a-b455-3ad92783a099\"]]\": syntax error: Type mismatch: \"+=\" operator may not be applied to column u of type uuid.
test-ovsdb: syntax \"[\"u\",\"-=\",[\"uuid\",\"9179ca6d-6d65-400a-b455-3ad92783a099\"]]\": syntax error: Type mismatch: \"-=\" operator may not be applied to column u of type uuid.
test-ovsdb: syntax \"[\"u\",\"*=\",[\"uuid\",\"9179ca6d-6d65-400a-b455-3ad92783a099\"]]\": syntax error: Type mismatch: \"*=\" operator may not be applied to column u of type uuid.
test-ovsdb: syntax \"[\"u\",\"/=\",[\"uuid\",\"9179ca6d-6d65-400a-b455-3ad92783a099\"]]\": syntax error: Type mismatch: \"/=\" operator may not be applied to column u of type uuid.
test-ovsdb: syntax \"[\"u\",\"insert\",[\"uuid\",\"9179ca6d-6d65-400a-b455-3ad92783a099\"]]\": syntax error: Type mismatch: \"insert\" operator may not be applied to column u of type uuid.
test-ovsdb: syntax \"[\"u\",\"delete\",[\"uuid\",\"9179ca6d-6d65-400a-b455-3ad92783a099\"]]\": syntax error: Type mismatch: \"delete\" operator may not be applied to column u of type uuid.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-mutation.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_997
#AT_START_998
at_fn_group_banner 998 'ovsdb-mutation.at:102' \
  "disallowed mutations on immutable columns" "      " 65
at_xfail=no
(
  $as_echo "998. $at_setup_line: testing $at_desc ..."
  $at_traceon


{ set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:104: test-ovsdb parse-mutations \\
    '{\"columns\":
        {\"i\": {\"type\": \"integer\", \"mutable\": false}}}' \\
    '[[\"i\", \"+=\", 1]]'
"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:104"
( $at_check_trace; test-ovsdb parse-mutations \
    '{"columns":
        {"i": {"type": "integer", "mutable": false}}}' \
    '[["i", "+=", 1]]'

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "test-ovsdb: syntax \"[\"i\",\"+=\",1]\": constraint violation: Cannot mutate immutable column i in table mytable.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-mutation.at:104"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_998
#AT_START_999
at_fn_group_banner 999 'ovsdb-mutation.at:114' \
  "mutations on sets" "                              " 65
at_xfail=no
(
  $as_echo "999. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:114: test-ovsdb parse-mutations \\
    '{\"columns\":
        {\"i\": {\"type\": {\"key\": \"integer\", \"min\": 0, \"max\": \"unlimited\"}},
         \"r\": {\"type\": {\"key\": \"real\", \"min\": 0, \"max\": \"unlimited\"}},
         \"b\": {\"type\": {\"key\": \"boolean\", \"min\": 0, \"max\": \"unlimited\"}},
	 \"s\": {\"type\": {\"key\": \"string\", \"min\": 0, \"max\": \"unlimited\"}},
         \"u\": {\"type\": {\"key\": \"uuid\", \"min\": 0, \"max\": \"unlimited\"}}}}' \\
    '[[\"i\", \"+=\", 1]]' \\
    '[[\"i\", \"-=\", 2]]' \\
    '[[\"i\", \"*=\", 3]]' \\
    '[[\"i\", \"/=\", 4]]' \\
    '[[\"i\", \"%=\", 5]]' \\
    '[[\"i\", \"insert\", [\"set\", [1, 2]]]]' \\
    '[[\"i\", \"delete\", [\"set\", [1, 2, 3]]]]' \\
    '[[\"r\", \"+=\", 1]]' \\
    '[[\"r\", \"-=\", 2]]' \\
    '[[\"r\", \"*=\", 3]]' \\
    '[[\"r\", \"/=\", 4]]' \\
    '[[\"r\", \"insert\", [\"set\", [1, 2]]]]' \\
    '[[\"r\", \"delete\", [\"set\", [1, 2, 3]]]]' \\
    '[[\"b\", \"insert\", [\"set\", [true]]]]' \\
    '[[\"b\", \"delete\", [\"set\", [false]]]]' \\
    '[[\"s\", \"insert\", [\"set\", [\"a\"]]]]' \\
    '[[\"s\", \"delete\", [\"set\", [\"a\", \"b\"]]]]' \\
    '[[\"u\", \"insert\",
       [\"set\", [[\"uuid\", \"b10d28f7-af18-4a67-9e78-2a6394516c59\"]]]]]' \\
    '[[\"u\", \"delete\",
       [\"set\", [[\"uuid\", \"b10d28f7-af18-4a67-9e78-2a6394516c59\"],
                [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"]]]]]' \\
"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:114"
( $at_check_trace; test-ovsdb parse-mutations \
    '{"columns":
        {"i": {"type": {"key": "integer", "min": 0, "max": "unlimited"}},
         "r": {"type": {"key": "real", "min": 0, "max": "unlimited"}},
         "b": {"type": {"key": "boolean", "min": 0, "max": "unlimited"}},
	 "s": {"type": {"key": "string", "min": 0, "max": "unlimited"}},
         "u": {"type": {"key": "uuid", "min": 0, "max": "unlimited"}}}}' \
    '[["i", "+=", 1]]' \
    '[["i", "-=", 2]]' \
    '[["i", "*=", 3]]' \
    '[["i", "/=", 4]]' \
    '[["i", "%=", 5]]' \
    '[["i", "insert", ["set", [1, 2]]]]' \
    '[["i", "delete", ["set", [1, 2, 3]]]]' \
    '[["r", "+=", 1]]' \
    '[["r", "-=", 2]]' \
    '[["r", "*=", 3]]' \
    '[["r", "/=", 4]]' \
    '[["r", "insert", ["set", [1, 2]]]]' \
    '[["r", "delete", ["set", [1, 2, 3]]]]' \
    '[["b", "insert", ["set", [true]]]]' \
    '[["b", "delete", ["set", [false]]]]' \
    '[["s", "insert", ["set", ["a"]]]]' \
    '[["s", "delete", ["set", ["a", "b"]]]]' \
    '[["u", "insert",
       ["set", [["uuid", "b10d28f7-af18-4a67-9e78-2a6394516c59"]]]]]' \
    '[["u", "delete",
       ["set", [["uuid", "b10d28f7-af18-4a67-9e78-2a6394516c59"],
                ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"]]]]]' \

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[[\"i\",\"+=\",1]]
[[\"i\",\"-=\",2]]
[[\"i\",\"*=\",3]]
[[\"i\",\"/=\",4]]
[[\"i\",\"%=\",5]]
[[\"i\",\"insert\",[\"set\",[1,2]]]]
[[\"i\",\"delete\",[\"set\",[1,2,3]]]]
[[\"r\",\"+=\",1]]
[[\"r\",\"-=\",2]]
[[\"r\",\"*=\",3]]
[[\"r\",\"/=\",4]]
[[\"r\",\"insert\",[\"set\",[1,2]]]]
[[\"r\",\"delete\",[\"set\",[1,2,3]]]]
[[\"b\",\"insert\",true]]
[[\"b\",\"delete\",false]]
[[\"s\",\"insert\",\"a\"]]
[[\"s\",\"delete\",[\"set\",[\"a\",\"b\"]]]]
[[\"u\",\"insert\",[\"uuid\",\"b10d28f7-af18-4a67-9e78-2a6394516c59\"]]]
[[\"u\",\"delete\",[\"set\",[[\"uuid\",\"9179ca6d-6d65-400a-b455-3ad92783a099\"],[\"uuid\",\"b10d28f7-af18-4a67-9e78-2a6394516c59\"]]]]]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:114"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_999
#AT_START_1000
at_fn_group_banner 1000 'ovsdb-mutation.at:166' \
  "executing null mutation" "                        " 65
at_xfail=no
(
  $as_echo "1000. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:166: test-ovsdb execute-mutations \\
    '{\"columns\": {\"i\": {\"type\": \"integer\"}}}' \\
    '[[]]' \\
    '[{\"i\": 0},
      {\"i\": 1},
      {\"i\": 2}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:166"
( $at_check_trace; test-ovsdb execute-mutations \
    '{"columns": {"i": {"type": "integer"}}}' \
    '[[]]' \
    '[{"i": 0},
      {"i": 1},
      {"i": 2}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "mutation  0:
row 0: no change
row 1: no change
row 2: no change

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:166"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1000
#AT_START_1001
at_fn_group_banner 1001 'ovsdb-mutation.at:179' \
  "executing mutations on integers" "                " 65
at_xfail=no
(
  $as_echo "1001. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:179: test-ovsdb execute-mutations \\
    '{\"columns\": {\"i\": {\"type\": \"integer\"}}}' \\
    '[[[\"i\", \"+=\", 1]],
      [[\"i\", \"-=\", 2]],
      [[\"i\", \"*=\", 3]],
      [[\"i\", \"/=\", 4]],
      [[\"i\", \"%=\", 2]]]' \\
    '[{\"i\": 0},
      {\"i\": 1},
      {\"i\": 2}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:179"
( $at_check_trace; test-ovsdb execute-mutations \
    '{"columns": {"i": {"type": "integer"}}}' \
    '[[["i", "+=", 1]],
      [["i", "-=", 2]],
      [["i", "*=", 3]],
      [["i", "/=", 4]],
      [["i", "%=", 2]]]' \
    '[{"i": 0},
      {"i": 1},
      {"i": 2}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "mutation  0:
row 0: {\"i\":1}
row 1: {\"i\":2}
row 2: {\"i\":3}

mutation  1:
row 0: {\"i\":-2}
row 1: {\"i\":-1}
row 2: {\"i\":0}

mutation  2:
row 0: no change
row 1: {\"i\":3}
row 2: {\"i\":6}

mutation  3:
row 0: no change
row 1: {\"i\":0}
row 2: {\"i\":0}

mutation  4:
row 0: no change
row 1: no change
row 2: {\"i\":0}

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:179"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1001
#AT_START_1002
at_fn_group_banner 1002 'ovsdb-mutation.at:216' \
  "integer overflow detection" "                     " 65
at_xfail=no
(
  $as_echo "1002. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:216: test-ovsdb execute-mutations \\
    '{\"columns\": {\"i\": {\"type\": \"integer\"}}}' \\
    '[[[\"i\", \"+=\", 9223372036854775807]],
      [[\"i\", \"+=\", -9223372036854775808]],
      [[\"i\", \"-=\", -9223372036854775808]],
      [[\"i\", \"-=\", 9223372036854775807]],
      [[\"i\", \"*=\", 3037000500]],
      [[\"i\", \"/=\", -1]],
      [[\"i\", \"/=\", 0]]]' \\
    '[{\"i\": 0},
      {\"i\": 1},
      {\"i\": -1},
      {\"i\": 9223372036854775807},
      {\"i\": -9223372036854775808},
      {\"i\": 3037000500},
      {\"i\": -3037000500}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:216"
( $at_check_trace; test-ovsdb execute-mutations \
    '{"columns": {"i": {"type": "integer"}}}' \
    '[[["i", "+=", 9223372036854775807]],
      [["i", "+=", -9223372036854775808]],
      [["i", "-=", -9223372036854775808]],
      [["i", "-=", 9223372036854775807]],
      [["i", "*=", 3037000500]],
      [["i", "/=", -1]],
      [["i", "/=", 0]]]' \
    '[{"i": 0},
      {"i": 1},
      {"i": -1},
      {"i": 9223372036854775807},
      {"i": -9223372036854775808},
      {"i": 3037000500},
      {"i": -3037000500}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "mutation  0:
row 0: {\"i\":9223372036854775807}
row 1: range error: Result of \"+=\" operation is out of range.
row 2: {\"i\":9223372036854775806}
row 3: range error: Result of \"+=\" operation is out of range.
row 4: {\"i\":-1}
row 5: range error: Result of \"+=\" operation is out of range.
row 6: {\"i\":9223372033817775307}

mutation  1:
row 0: {\"i\":-9223372036854775808}
row 1: {\"i\":-9223372036854775807}
row 2: range error: Result of \"+=\" operation is out of range.
row 3: {\"i\":-1}
row 4: range error: Result of \"+=\" operation is out of range.
row 5: {\"i\":-9223372033817775308}
row 6: range error: Result of \"+=\" operation is out of range.

mutation  2:
row 0: range error: Result of \"-=\" operation is out of range.
row 1: range error: Result of \"-=\" operation is out of range.
row 2: {\"i\":9223372036854775807}
row 3: range error: Result of \"-=\" operation is out of range.
row 4: {\"i\":0}
row 5: range error: Result of \"-=\" operation is out of range.
row 6: {\"i\":9223372033817775308}

mutation  3:
row 0: {\"i\":-9223372036854775807}
row 1: {\"i\":-9223372036854775806}
row 2: {\"i\":-9223372036854775808}
row 3: {\"i\":0}
row 4: range error: Result of \"-=\" operation is out of range.
row 5: {\"i\":-9223372033817775307}
row 6: range error: Result of \"-=\" operation is out of range.

mutation  4:
row 0: no change
row 1: {\"i\":3037000500}
row 2: {\"i\":-3037000500}
row 3: range error: Result of \"*=\" operation is out of range.
row 4: range error: Result of \"*=\" operation is out of range.
row 5: range error: Result of \"*=\" operation is out of range.
row 6: range error: Result of \"*=\" operation is out of range.

mutation  5:
row 0: no change
row 1: {\"i\":-1}
row 2: {\"i\":1}
row 3: {\"i\":-9223372036854775807}
row 4: range error: Result of \"/=\" operation is out of range.
row 5: {\"i\":-3037000500}
row 6: {\"i\":3037000500}

mutation  6:
row 0: domain error: Division by zero.
row 1: domain error: Division by zero.
row 2: domain error: Division by zero.
row 3: domain error: Division by zero.
row 4: domain error: Division by zero.
row 5: domain error: Division by zero.
row 6: domain error: Division by zero.

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:216"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1002
#AT_START_1003
at_fn_group_banner 1003 'ovsdb-mutation.at:297' \
  "executing mutations on integers with constraints" "" 65
at_xfail=no
(
  $as_echo "1003. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:297: test-ovsdb execute-mutations \\
    '{\"columns\": {\"i\": {\"type\": {\"key\": {\"type\": \"integer\",
                                         \"minInteger\": 0,
                                         \"maxInteger\": 2}}}}}' \\
    '[[[\"i\", \"+=\", 1]],
      [[\"i\", \"-=\", 2]],
      [[\"i\", \"*=\", 3]],
      [[\"i\", \"/=\", 4]],
      [[\"i\", \"%=\", 2]]]' \\
    '[{\"i\": 0},
      {\"i\": 1},
      {\"i\": 2}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:297"
( $at_check_trace; test-ovsdb execute-mutations \
    '{"columns": {"i": {"type": {"key": {"type": "integer",
                                         "minInteger": 0,
                                         "maxInteger": 2}}}}}' \
    '[[["i", "+=", 1]],
      [["i", "-=", 2]],
      [["i", "*=", 3]],
      [["i", "/=", 4]],
      [["i", "%=", 2]]]' \
    '[{"i": 0},
      {"i": 1},
      {"i": 2}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "mutation  0:
row 0: {\"i\":1}
row 1: {\"i\":2}
row 2: constraint violation: 3 is not in the valid range 0 to 2 (inclusive)

mutation  1:
row 0: constraint violation: -2 is not in the valid range 0 to 2 (inclusive)
row 1: constraint violation: -1 is not in the valid range 0 to 2 (inclusive)
row 2: {\"i\":0}

mutation  2:
row 0: no change
row 1: constraint violation: 3 is not in the valid range 0 to 2 (inclusive)
row 2: constraint violation: 6 is not in the valid range 0 to 2 (inclusive)

mutation  3:
row 0: no change
row 1: {\"i\":0}
row 2: {\"i\":0}

mutation  4:
row 0: no change
row 1: no change
row 2: {\"i\":0}

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:297"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1003
#AT_START_1004
at_fn_group_banner 1004 'ovsdb-mutation.at:336' \
  "executing mutations on reals" "                   " 65
at_xfail=no
(
  $as_echo "1004. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:336: test-ovsdb execute-mutations \\
    '{\"columns\": {\"r\": {\"type\": \"real\"}}}' \\
    '[[[\"r\", \"+=\", 0.5]],
      [[\"r\", \"-=\", 1.5]],
      [[\"r\", \"*=\", 2.5]],
      [[\"r\", \"/=\", 4]]]' \\
    '[{\"r\": 0},
      {\"r\": -2.5},
      {\"r\": 1.25}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:336"
( $at_check_trace; test-ovsdb execute-mutations \
    '{"columns": {"r": {"type": "real"}}}' \
    '[[["r", "+=", 0.5]],
      [["r", "-=", 1.5]],
      [["r", "*=", 2.5]],
      [["r", "/=", 4]]]' \
    '[{"r": 0},
      {"r": -2.5},
      {"r": 1.25}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "mutation  0:
row 0: {\"r\":0.5}
row 1: {\"r\":-2}
row 2: {\"r\":1.75}

mutation  1:
row 0: {\"r\":-1.5}
row 1: {\"r\":-4}
row 2: {\"r\":-0.25}

mutation  2:
row 0: no change
row 1: {\"r\":-6.25}
row 2: {\"r\":3.125}

mutation  3:
row 0: no change
row 1: {\"r\":-0.625}
row 2: {\"r\":0.3125}

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:336"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1004
#AT_START_1005
at_fn_group_banner 1005 'ovsdb-mutation.at:367' \
  "real overflow detection" "                        " 65
at_xfail=no
(
  $as_echo "1005. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:367: test-ovsdb execute-mutations \\
    '{\"columns\": {\"r\": {\"type\": \"real\"}}}' \\
    '[[[\"r\", \"+=\", 1.7976931348623157e+308]],
      [[\"r\", \"-=\", 1.7976931348623157e+308]],
      [[\"r\", \"*=\", 2]],
      [[\"r\", \"/=\", 4]],
      [[\"r\", \"/=\", 0.5]],
      [[\"r\", \"/=\", 0]]]' \\
    '[{\"r\": 0},
      {\"r\": 1.7976931348623157e+308},
      {\"r\": -1.7976931348623157e+308}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:367"
( $at_check_trace; test-ovsdb execute-mutations \
    '{"columns": {"r": {"type": "real"}}}' \
    '[[["r", "+=", 1.7976931348623157e+308]],
      [["r", "-=", 1.7976931348623157e+308]],
      [["r", "*=", 2]],
      [["r", "/=", 4]],
      [["r", "/=", 0.5]],
      [["r", "/=", 0]]]' \
    '[{"r": 0},
      {"r": 1.7976931348623157e+308},
      {"r": -1.7976931348623157e+308}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "mutation  0:
row 0: {\"r\":1.79769313486232e+308}
row 1: range error: Result of \"+=\" operation is out of range.
row 2: {\"r\":0}

mutation  1:
row 0: {\"r\":-1.79769313486232e+308}
row 1: {\"r\":0}
row 2: range error: Result of \"-=\" operation is out of range.

mutation  2:
row 0: no change
row 1: range error: Result of \"*=\" operation is out of range.
row 2: range error: Result of \"*=\" operation is out of range.

mutation  3:
row 0: no change
row 1: {\"r\":4.49423283715579e+307}
row 2: {\"r\":-4.49423283715579e+307}

mutation  4:
row 0: no change
row 1: range error: Result of \"/=\" operation is out of range.
row 2: range error: Result of \"/=\" operation is out of range.

mutation  5:
row 0: domain error: Division by zero.
row 1: domain error: Division by zero.
row 2: domain error: Division by zero.

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:367"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1005
#AT_START_1006
at_fn_group_banner 1006 'ovsdb-mutation.at:410' \
  "executing mutations on reals with constraints" "  " 65
at_xfail=no
(
  $as_echo "1006. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:410: test-ovsdb execute-mutations \\
    '{\"columns\": {\"r\": {\"type\": {\"key\": {\"type\": \"real\",
                                         \"minReal\": -2.5,
                                         \"maxReal\": 1.75}}}}}' \\
    '[[[\"r\", \"+=\", 0.5]],
      [[\"r\", \"-=\", 1.5]],
      [[\"r\", \"*=\", 2.5]],
      [[\"r\", \"/=\", 4]]]' \\
    '[{\"r\": 0},
      {\"r\": -2.5},
      {\"r\": 1.25}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:410"
( $at_check_trace; test-ovsdb execute-mutations \
    '{"columns": {"r": {"type": {"key": {"type": "real",
                                         "minReal": -2.5,
                                         "maxReal": 1.75}}}}}' \
    '[[["r", "+=", 0.5]],
      [["r", "-=", 1.5]],
      [["r", "*=", 2.5]],
      [["r", "/=", 4]]]' \
    '[{"r": 0},
      {"r": -2.5},
      {"r": 1.25}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "mutation  0:
row 0: {\"r\":0.5}
row 1: {\"r\":-2}
row 2: {\"r\":1.75}

mutation  1:
row 0: {\"r\":-1.5}
row 1: constraint violation: -4 is not in the valid range -2.5 to 1.75 (inclusive)
row 2: {\"r\":-0.25}

mutation  2:
row 0: no change
row 1: constraint violation: -6.25 is not in the valid range -2.5 to 1.75 (inclusive)
row 2: constraint violation: 3.125 is not in the valid range -2.5 to 1.75 (inclusive)

mutation  3:
row 0: no change
row 1: {\"r\":-0.625}
row 2: {\"r\":0.3125}

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:410"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1006
#AT_START_1007
at_fn_group_banner 1007 'ovsdb-mutation.at:443' \
  "executing mutations on integer sets" "            " 65
at_xfail=no
(
  $as_echo "1007. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:443: test-ovsdb execute-mutations \\
    '{\"columns\": {\"i\": {\"type\": {\"key\": {\"type\": \"integer\",
                                         \"maxInteger\": 5},
                                 \"min\": 0,
                                 \"max\": \"unlimited\"}}}}' \\
    '[[[\"i\", \"+=\", 1]],
      [[\"i\", \"-=\", 2]],
      [[\"i\", \"*=\", 3]],
      [[\"i\", \"/=\", 4]],
      [[\"i\", \"%=\", 2]],
      [[\"i\", \"insert\", [\"set\", [1]]]],
      [[\"i\", \"insert\", [\"set\", [2, 3]]]],
      [[\"i\", \"delete\", [\"set\", [1]]]],
      [[\"i\", \"delete\", [\"set\", [2, 3]]]]]' \\
    '[{\"i\": [\"set\", []]},
      {\"i\": [\"set\", [0]]},
      {\"i\": [\"set\", [0, 1]]},
      {\"i\": [\"set\", [0, 1, 2]]}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:443"
( $at_check_trace; test-ovsdb execute-mutations \
    '{"columns": {"i": {"type": {"key": {"type": "integer",
                                         "maxInteger": 5},
                                 "min": 0,
                                 "max": "unlimited"}}}}' \
    '[[["i", "+=", 1]],
      [["i", "-=", 2]],
      [["i", "*=", 3]],
      [["i", "/=", 4]],
      [["i", "%=", 2]],
      [["i", "insert", ["set", [1]]]],
      [["i", "insert", ["set", [2, 3]]]],
      [["i", "delete", ["set", [1]]]],
      [["i", "delete", ["set", [2, 3]]]]]' \
    '[{"i": ["set", []]},
      {"i": ["set", [0]]},
      {"i": ["set", [0, 1]]},
      {"i": ["set", [0, 1, 2]]}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "mutation  0:
row 0: no change
row 1: {\"i\":1}
row 2: {\"i\":[\"set\",[1,2]]}
row 3: {\"i\":[\"set\",[1,2,3]]}

mutation  1:
row 0: no change
row 1: {\"i\":-2}
row 2: {\"i\":[\"set\",[-2,-1]]}
row 3: {\"i\":[\"set\",[-2,-1,0]]}

mutation  2:
row 0: no change
row 1: no change
row 2: {\"i\":[\"set\",[0,3]]}
row 3: constraint violation: 6 is greater than maximum allowed value 5

mutation  3:
row 0: no change
row 1: no change
row 2: constraint violation: Result of \"/=\" operation contains duplicates.
row 3: constraint violation: Result of \"/=\" operation contains duplicates.

mutation  4:
row 0: no change
row 1: no change
row 2: no change
row 3: constraint violation: Result of \"%=\" operation contains duplicates.

mutation  5:
row 0: {\"i\":1}
row 1: {\"i\":[\"set\",[0,1]]}
row 2: no change
row 3: no change

mutation  6:
row 0: {\"i\":[\"set\",[2,3]]}
row 1: {\"i\":[\"set\",[0,2,3]]}
row 2: {\"i\":[\"set\",[0,1,2,3]]}
row 3: {\"i\":[\"set\",[0,1,2,3]]}

mutation  7:
row 0: no change
row 1: no change
row 2: {\"i\":0}
row 3: {\"i\":[\"set\",[0,2]]}

mutation  8:
row 0: no change
row 1: no change
row 2: no change
row 3: {\"i\":[\"set\",[0,1]]}

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:443"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1007
#AT_START_1008
at_fn_group_banner 1008 'ovsdb-mutation.at:517' \
  "executing mutations on integer sets with constraints" "" 65
at_xfail=no
(
  $as_echo "1008. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:517: test-ovsdb execute-mutations \\
    '{\"columns\": {\"i\": {\"type\": {\"key\": \"integer\",
                                 \"min\": 1,
                                 \"max\": 2}}}}' \\
    '[[[\"i\", \"insert\", [\"set\", [1]]]],
      [[\"i\", \"insert\", [\"set\", [2]]]],
      [[\"i\", \"delete\", [\"set\", [1]]]],
      [[\"i\", \"delete\", [\"set\", [2]]]],
      [[\"i\", \"delete\", [\"set\", [0, 1]]]]]' \\
    '[{\"i\": [\"set\", [0]]},
      {\"i\": [\"set\", [2]]},
      {\"i\": [\"set\", [0, 1]]}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:517"
( $at_check_trace; test-ovsdb execute-mutations \
    '{"columns": {"i": {"type": {"key": "integer",
                                 "min": 1,
                                 "max": 2}}}}' \
    '[[["i", "insert", ["set", [1]]]],
      [["i", "insert", ["set", [2]]]],
      [["i", "delete", ["set", [1]]]],
      [["i", "delete", ["set", [2]]]],
      [["i", "delete", ["set", [0, 1]]]]]' \
    '[{"i": ["set", [0]]},
      {"i": ["set", [2]]},
      {"i": ["set", [0, 1]]}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "mutation  0:
row 0: {\"i\":[\"set\",[0,1]]}
row 1: {\"i\":[\"set\",[1,2]]}
row 2: no change

mutation  1:
row 0: {\"i\":[\"set\",[0,2]]}
row 1: no change
row 2: constraint violation: Attempted to store 3 elements in set of 1 to 2 integers.

mutation  2:
row 0: no change
row 1: no change
row 2: {\"i\":0}

mutation  3:
row 0: no change
row 1: constraint violation: Attempted to store 0 elements in set of 1 to 2 integers.
row 2: no change

mutation  4:
row 0: constraint violation: Attempted to store 0 elements in set of 1 to 2 integers.
row 1: no change
row 2: constraint violation: Attempted to store 0 elements in set of 1 to 2 integers.

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:517"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1008
#AT_START_1009
at_fn_group_banner 1009 'ovsdb-mutation.at:556' \
  "executing mutations on real sets" "               " 65
at_xfail=no
(
  $as_echo "1009. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:556: test-ovsdb execute-mutations \\
    '{\"columns\": {\"r\": {\"type\": {\"key\": {\"type\": \"real\",
                                         \"maxReal\": 6},
                                 \"min\": 0, \"max\": \"unlimited\"}}}}' \\
    '[[[\"r\", \"+=\", 0.5]],
      [[\"r\", \"-=\", 1.5]],
      [[\"r\", \"*=\", 2.5]],
      [[\"r\", \"/=\", 4]],
      [[\"r\", \"*=\", 0]],
      [[\"r\", \"insert\", 1.5]],
      [[\"r\", \"insert\", 3]],
      [[\"r\", \"delete\", [\"set\", [1.5, 3.5]]]],
      [[\"r\", \"delete\", [\"set\", [0.5, 1.5, 2.5]]]]]' \\
    '[{\"r\": [\"set\", []]},
      {\"r\": 0.5},
      {\"r\": [\"set\", [0.5, 1.5]]},
      {\"r\": [\"set\", [0.5, 1.5, 2.5]]}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:556"
( $at_check_trace; test-ovsdb execute-mutations \
    '{"columns": {"r": {"type": {"key": {"type": "real",
                                         "maxReal": 6},
                                 "min": 0, "max": "unlimited"}}}}' \
    '[[["r", "+=", 0.5]],
      [["r", "-=", 1.5]],
      [["r", "*=", 2.5]],
      [["r", "/=", 4]],
      [["r", "*=", 0]],
      [["r", "insert", 1.5]],
      [["r", "insert", 3]],
      [["r", "delete", ["set", [1.5, 3.5]]]],
      [["r", "delete", ["set", [0.5, 1.5, 2.5]]]]]' \
    '[{"r": ["set", []]},
      {"r": 0.5},
      {"r": ["set", [0.5, 1.5]]},
      {"r": ["set", [0.5, 1.5, 2.5]]}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "mutation  0:
row 0: no change
row 1: {\"r\":1}
row 2: {\"r\":[\"set\",[1,2]]}
row 3: {\"r\":[\"set\",[1,2,3]]}

mutation  1:
row 0: no change
row 1: {\"r\":-1}
row 2: {\"r\":[\"set\",[-1,0]]}
row 3: {\"r\":[\"set\",[-1,0,1]]}

mutation  2:
row 0: no change
row 1: {\"r\":1.25}
row 2: {\"r\":[\"set\",[1.25,3.75]]}
row 3: constraint violation: 6.25 is greater than maximum allowed value 6

mutation  3:
row 0: no change
row 1: {\"r\":0.125}
row 2: {\"r\":[\"set\",[0.125,0.375]]}
row 3: {\"r\":[\"set\",[0.125,0.375,0.625]]}

mutation  4:
row 0: no change
row 1: {\"r\":0}
row 2: constraint violation: Result of \"*=\" operation contains duplicates.
row 3: constraint violation: Result of \"*=\" operation contains duplicates.

mutation  5:
row 0: {\"r\":1.5}
row 1: {\"r\":[\"set\",[0.5,1.5]]}
row 2: no change
row 3: no change

mutation  6:
row 0: {\"r\":3}
row 1: {\"r\":[\"set\",[0.5,3]]}
row 2: {\"r\":[\"set\",[0.5,1.5,3]]}
row 3: {\"r\":[\"set\",[0.5,1.5,2.5,3]]}

mutation  7:
row 0: no change
row 1: no change
row 2: {\"r\":0.5}
row 3: {\"r\":[\"set\",[0.5,2.5]]}

mutation  8:
row 0: no change
row 1: {\"r\":[\"set\",[]]}
row 2: {\"r\":[\"set\",[]]}
row 3: {\"r\":[\"set\",[]]}

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:556"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1009
#AT_START_1010
at_fn_group_banner 1010 'ovsdb-mutation.at:629' \
  "executing mutations on boolean sets" "            " 65
at_xfail=no
(
  $as_echo "1010. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:629: test-ovsdb execute-mutations \\
    '{\"columns\": {\"b\": {\"type\": {\"key\": \"boolean\", \"min\": 0, \"max\": \"unlimited\"}}}}' \\
    '[[[\"b\", \"insert\", [\"set\", [false]]]],
      [[\"b\", \"insert\", [\"set\", [true]]]],
      [[\"b\", \"insert\", [\"set\", [false, true]]]],
      [[\"b\", \"delete\", [\"set\", [false]]]],
      [[\"b\", \"delete\", [\"set\", [true]]]],
      [[\"b\", \"delete\", [\"set\", [true, false]]]]]' \\
    '[{\"b\": [\"set\", []]},
      {\"b\": [\"set\", [false]]},
      {\"b\": [\"set\", [true]]},
      {\"b\": [\"set\", [false, true]]}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:629"
( $at_check_trace; test-ovsdb execute-mutations \
    '{"columns": {"b": {"type": {"key": "boolean", "min": 0, "max": "unlimited"}}}}' \
    '[[["b", "insert", ["set", [false]]]],
      [["b", "insert", ["set", [true]]]],
      [["b", "insert", ["set", [false, true]]]],
      [["b", "delete", ["set", [false]]]],
      [["b", "delete", ["set", [true]]]],
      [["b", "delete", ["set", [true, false]]]]]' \
    '[{"b": ["set", []]},
      {"b": ["set", [false]]},
      {"b": ["set", [true]]},
      {"b": ["set", [false, true]]}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "mutation  0:
row 0: {\"b\":false}
row 1: no change
row 2: {\"b\":[\"set\",[false,true]]}
row 3: no change

mutation  1:
row 0: {\"b\":true}
row 1: {\"b\":[\"set\",[false,true]]}
row 2: no change
row 3: no change

mutation  2:
row 0: {\"b\":[\"set\",[false,true]]}
row 1: {\"b\":[\"set\",[false,true]]}
row 2: {\"b\":[\"set\",[false,true]]}
row 3: no change

mutation  3:
row 0: no change
row 1: {\"b\":[\"set\",[]]}
row 2: no change
row 3: {\"b\":true}

mutation  4:
row 0: no change
row 1: no change
row 2: {\"b\":[\"set\",[]]}
row 3: {\"b\":false}

mutation  5:
row 0: no change
row 1: {\"b\":[\"set\",[]]}
row 2: {\"b\":[\"set\",[]]}
row 3: {\"b\":[\"set\",[]]}

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:629"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1010
#AT_START_1011
at_fn_group_banner 1011 'ovsdb-mutation.at:679' \
  "executing mutations on string sets" "             " 65
at_xfail=no
(
  $as_echo "1011. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:679: test-ovsdb execute-mutations \\
    '{\"columns\": {\"s\": {\"type\": {\"key\": \"string\", \"min\": 0, \"max\": \"unlimited\"}}}}' \\
    '[[[\"s\", \"insert\", [\"set\", [\"a\"]]]],
      [[\"s\", \"insert\", [\"set\", [\"b\"]]]],
      [[\"s\", \"insert\", [\"set\", [\"c\", \"d\"]]]],
      [[\"s\", \"delete\", [\"set\", [\"a\"]]]],
      [[\"s\", \"delete\", [\"set\", [\"b\"]]]],
      [[\"s\", \"delete\", [\"set\", [\"c\", \"d\"]]]]]' \\
    '[{\"s\": [\"set\", []]},
      {\"s\": [\"set\", [\"a\"]]},
      {\"s\": [\"set\", [\"a\", \"b\"]]},
      {\"s\": [\"set\", [\"a\", \"b\", \"c\", \"d\"]]}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:679"
( $at_check_trace; test-ovsdb execute-mutations \
    '{"columns": {"s": {"type": {"key": "string", "min": 0, "max": "unlimited"}}}}' \
    '[[["s", "insert", ["set", ["a"]]]],
      [["s", "insert", ["set", ["b"]]]],
      [["s", "insert", ["set", ["c", "d"]]]],
      [["s", "delete", ["set", ["a"]]]],
      [["s", "delete", ["set", ["b"]]]],
      [["s", "delete", ["set", ["c", "d"]]]]]' \
    '[{"s": ["set", []]},
      {"s": ["set", ["a"]]},
      {"s": ["set", ["a", "b"]]},
      {"s": ["set", ["a", "b", "c", "d"]]}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "mutation  0:
row 0: {\"s\":\"a\"}
row 1: no change
row 2: no change
row 3: no change

mutation  1:
row 0: {\"s\":\"b\"}
row 1: {\"s\":[\"set\",[\"a\",\"b\"]]}
row 2: no change
row 3: no change

mutation  2:
row 0: {\"s\":[\"set\",[\"c\",\"d\"]]}
row 1: {\"s\":[\"set\",[\"a\",\"c\",\"d\"]]}
row 2: {\"s\":[\"set\",[\"a\",\"b\",\"c\",\"d\"]]}
row 3: no change

mutation  3:
row 0: no change
row 1: {\"s\":[\"set\",[]]}
row 2: {\"s\":\"b\"}
row 3: {\"s\":[\"set\",[\"b\",\"c\",\"d\"]]}

mutation  4:
row 0: no change
row 1: no change
row 2: {\"s\":\"a\"}
row 3: {\"s\":[\"set\",[\"a\",\"c\",\"d\"]]}

mutation  5:
row 0: no change
row 1: no change
row 2: no change
row 3: {\"s\":[\"set\",[\"a\",\"b\"]]}

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:679"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1011
#AT_START_1012
at_fn_group_banner 1012 'ovsdb-mutation.at:729' \
  "executing mutations on uuid sets" "               " 65
at_xfail=no
(
  $as_echo "1012. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:729: test-ovsdb execute-mutations \\
    '{\"columns\": {\"u\": {\"type\": {\"key\": \"uuid\", \"min\": 0, \"max\": \"unlimited\"}}}}' \\
    '[[[\"u\", \"insert\", [\"set\", [[\"uuid\", \"ddd9e79d-7782-414c-8b22-1046c60b6ec2\"]]]]],
      [[\"u\", \"insert\", [\"set\", [[\"uuid\", \"a60fe7ff-317b-4568-9106-892b37445313\"]]]]],
      [[\"u\", \"insert\", [\"set\", [[\"uuid\", \"2607d30e-e652-4927-9fec-8bbf1b60c7e9\"]]]]],
      [[\"u\", \"delete\", [\"set\", [[\"uuid\", \"ddd9e79d-7782-414c-8b22-1046c60b6ec2\"]]]]],
      [[\"u\", \"delete\", [\"set\", [[\"uuid\", \"a60fe7ff-317b-4568-9106-892b37445313\"]]]]],
      [[\"u\", \"delete\", [\"set\", [[\"uuid\", \"2607d30e-e652-4927-9fec-8bbf1b60c7e9\"]]]]]]' \\
    '[{\"u\": [\"set\", []]},
      {\"u\": [\"set\", [[\"uuid\", \"ddd9e79d-7782-414c-8b22-1046c60b6ec2\"]]]},
      {\"u\": [\"set\", [[\"uuid\", \"a60fe7ff-317b-4568-9106-892b37445313\"]]]},
      {\"u\": [\"set\", [[\"uuid\", \"2607d30e-e652-4927-9fec-8bbf1b60c7e9\"]]]}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:729"
( $at_check_trace; test-ovsdb execute-mutations \
    '{"columns": {"u": {"type": {"key": "uuid", "min": 0, "max": "unlimited"}}}}' \
    '[[["u", "insert", ["set", [["uuid", "ddd9e79d-7782-414c-8b22-1046c60b6ec2"]]]]],
      [["u", "insert", ["set", [["uuid", "a60fe7ff-317b-4568-9106-892b37445313"]]]]],
      [["u", "insert", ["set", [["uuid", "2607d30e-e652-4927-9fec-8bbf1b60c7e9"]]]]],
      [["u", "delete", ["set", [["uuid", "ddd9e79d-7782-414c-8b22-1046c60b6ec2"]]]]],
      [["u", "delete", ["set", [["uuid", "a60fe7ff-317b-4568-9106-892b37445313"]]]]],
      [["u", "delete", ["set", [["uuid", "2607d30e-e652-4927-9fec-8bbf1b60c7e9"]]]]]]' \
    '[{"u": ["set", []]},
      {"u": ["set", [["uuid", "ddd9e79d-7782-414c-8b22-1046c60b6ec2"]]]},
      {"u": ["set", [["uuid", "a60fe7ff-317b-4568-9106-892b37445313"]]]},
      {"u": ["set", [["uuid", "2607d30e-e652-4927-9fec-8bbf1b60c7e9"]]]}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "mutation  0:
row 0: {\"u\":[\"uuid\",\"ddd9e79d-7782-414c-8b22-1046c60b6ec2\"]}
row 1: no change
row 2: {\"u\":[\"set\",[[\"uuid\",\"a60fe7ff-317b-4568-9106-892b37445313\"],[\"uuid\",\"ddd9e79d-7782-414c-8b22-1046c60b6ec2\"]]]}
row 3: {\"u\":[\"set\",[[\"uuid\",\"2607d30e-e652-4927-9fec-8bbf1b60c7e9\"],[\"uuid\",\"ddd9e79d-7782-414c-8b22-1046c60b6ec2\"]]]}

mutation  1:
row 0: {\"u\":[\"uuid\",\"a60fe7ff-317b-4568-9106-892b37445313\"]}
row 1: {\"u\":[\"set\",[[\"uuid\",\"a60fe7ff-317b-4568-9106-892b37445313\"],[\"uuid\",\"ddd9e79d-7782-414c-8b22-1046c60b6ec2\"]]]}
row 2: no change
row 3: {\"u\":[\"set\",[[\"uuid\",\"2607d30e-e652-4927-9fec-8bbf1b60c7e9\"],[\"uuid\",\"a60fe7ff-317b-4568-9106-892b37445313\"]]]}

mutation  2:
row 0: {\"u\":[\"uuid\",\"2607d30e-e652-4927-9fec-8bbf1b60c7e9\"]}
row 1: {\"u\":[\"set\",[[\"uuid\",\"2607d30e-e652-4927-9fec-8bbf1b60c7e9\"],[\"uuid\",\"ddd9e79d-7782-414c-8b22-1046c60b6ec2\"]]]}
row 2: {\"u\":[\"set\",[[\"uuid\",\"2607d30e-e652-4927-9fec-8bbf1b60c7e9\"],[\"uuid\",\"a60fe7ff-317b-4568-9106-892b37445313\"]]]}
row 3: no change

mutation  3:
row 0: no change
row 1: {\"u\":[\"set\",[]]}
row 2: no change
row 3: no change

mutation  4:
row 0: no change
row 1: no change
row 2: {\"u\":[\"set\",[]]}
row 3: no change

mutation  5:
row 0: no change
row 1: no change
row 2: no change
row 3: {\"u\":[\"set\",[]]}

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:729"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1012
#AT_START_1013
at_fn_group_banner 1013 'ovsdb-mutation.at:779' \
  "executing mutations on integer maps" "            " 65
at_xfail=no
(
  $as_echo "1013. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-mutation.at:779: test-ovsdb execute-mutations \\
    '{\"columns\": {\"i\": {\"type\": {\"key\": \"integer\", \"value\": \"integer\", \"min\": 0, \"max\": \"unlimited\"}}}}' \\
    '[[[\"i\", \"insert\", [\"map\", [[1, 2]]]]],
      [[\"i\", \"insert\", [\"map\", [[2, 4], [3, 5]]]]],
      [[\"i\", \"delete\", [\"map\", [[1, 2]]]]],
      [[\"i\", \"delete\", [\"map\", [[2, 3]]]]],
      [[\"i\", \"delete\", [\"set\", [1]]]],
      [[\"i\", \"delete\", [\"set\", [2, 3]]]]]' \\
    '[{\"i\": [\"map\", []]},
      {\"i\": [\"map\", [[1, 2]]]},
      {\"i\": [\"map\", [[1, 3], [2, 3]]]},
      {\"i\": [\"map\", [[3, 5]]]}']"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-mutation.at:779"
( $at_check_trace; test-ovsdb execute-mutations \
    '{"columns": {"i": {"type": {"key": "integer", "value": "integer", "min": 0, "max": "unlimited"}}}}' \
    '[[["i", "insert", ["map", [[1, 2]]]]],
      [["i", "insert", ["map", [[2, 4], [3, 5]]]]],
      [["i", "delete", ["map", [[1, 2]]]]],
      [["i", "delete", ["map", [[2, 3]]]]],
      [["i", "delete", ["set", [1]]]],
      [["i", "delete", ["set", [2, 3]]]]]' \
    '[{"i": ["map", []]},
      {"i": ["map", [[1, 2]]]},
      {"i": ["map", [[1, 3], [2, 3]]]},
      {"i": ["map", [[3, 5]]]}']
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "mutation  0:
row 0: {\"i\":[\"map\",[[1,2]]]}
row 1: no change
row 2: no change
row 3: {\"i\":[\"map\",[[1,2],[3,5]]]}

mutation  1:
row 0: {\"i\":[\"map\",[[2,4],[3,5]]]}
row 1: {\"i\":[\"map\",[[1,2],[2,4],[3,5]]]}
row 2: {\"i\":[\"map\",[[1,3],[2,3],[3,5]]]}
row 3: {\"i\":[\"map\",[[2,4],[3,5]]]}

mutation  2:
row 0: no change
row 1: {\"i\":[\"map\",[]]}
row 2: no change
row 3: no change

mutation  3:
row 0: no change
row 1: no change
row 2: {\"i\":[\"map\",[[1,3]]]}
row 3: no change

mutation  4:
row 0: no change
row 1: {\"i\":[\"map\",[]]}
row 2: {\"i\":[\"map\",[[2,3]]]}
row 3: no change

mutation  5:
row 0: no change
row 1: no change
row 2: {\"i\":[\"map\",[[1,3]]]}
row 3: {\"i\":[\"map\",[]]}

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-mutation.at:779"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1013
#AT_START_1014
at_fn_group_banner 1014 'ovsdb-query.at:3' \
  "queries on scalars" "                             " 66
at_xfail=no
(
  $as_echo "1014. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-query.at:3: test-ovsdb query \\
    '{\"columns\":
        {\"i\": {\"type\": \"integer\"},
         \"r\": {\"type\": \"real\"},
         \"b\": {\"type\": \"boolean\"},
	 \"s\": {\"type\": \"string\"},
         \"u\": {\"type\": \"uuid\"}}}' \\
    '[{\"i\": 0,
       \"r\": 0.5,
       \"b\": true,
       \"s\": \"a\",
       \"u\": [\"uuid\", \"b10d28f7-af18-4a67-9e78-2a6394516c59\"]},
      {\"i\": 1,
       \"r\": 1.5,
       \"b\": false,
       \"s\": \"b\",
       \"u\": [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"]},
      {\"i\": 2,
       \"r\": 2.5,
       \"b\": true,
       \"s\": \"c\",
       \"u\": [\"uuid\", \"ad0fa355-8b84-4a36-a4b5-b2c1bfd91758\"]},
      {\"i\": 3,
       \"r\": 3.5,
       \"b\": false,
       \"s\": \"d\",
       \"u\": [\"uuid\", \"62315898-64e0-40b9-b26f-ff74225303e6\"]},
      {\"i\": 4,
       \"r\": 4.5,
       \"b\": true,
       \"s\": \"e\",
       \"u\": [\"uuid\", \"4a5127e2-0256-4a72-a7dc-6246213967c7\"]}]' \\
    '[[],
      [[\"i\", \"==\", 0]],
      [[\"i\", \"!=\", 1]],
      [[\"i\", \"<\", 2]],
      [[\"i\", \"<=\", 3]],
      [[\"i\", \">\", 2]],
      [[\"i\", \">=\", 4]],
      [[\"i\", \"includes\", 3]],
      [[\"i\", \"excludes\", 2]],
      [[\"r\", \"==\", 0.5]],
      [[\"r\", \"!=\", 1.5]],
      [[\"r\", \"<\", 2.5]],
      [[\"r\", \"<=\", 3.5]],
      [[\"r\", \">\", 4.5]],
      [[\"r\", \">=\", 5.5]],
      [[\"r\", \"includes\", 1]],
      [[\"r\", \"excludes\", 3]],
      [[\"b\", \"==\", true]],
      [[\"b\", \"!=\", true]],
      [[\"b\", \"includes\", false]],
      [[\"b\", \"excludes\", true]],
      [[\"s\", \"==\", \"a\"]],
      [[\"s\", \"!=\", \"b\"]],
      [[\"s\", \"includes\", \"c\"]],
      [[\"s\", \"excludes\", \"d\"]],
      [[\"u\", \"==\", [\"uuid\", \"b10d28f7-af18-4a67-9e78-2a6394516c59\"]]],
      [[\"u\", \"!=\", [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"]]],
      [[\"u\", \"includes\",[\"uuid\", \"ad0fa355-8b84-4a36-a4b5-b2c1bfd91758\"]]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-query.at:3"
( $at_check_trace; test-ovsdb query \
    '{"columns":
        {"i": {"type": "integer"},
         "r": {"type": "real"},
         "b": {"type": "boolean"},
	 "s": {"type": "string"},
         "u": {"type": "uuid"}}}' \
    '[{"i": 0,
       "r": 0.5,
       "b": true,
       "s": "a",
       "u": ["uuid", "b10d28f7-af18-4a67-9e78-2a6394516c59"]},
      {"i": 1,
       "r": 1.5,
       "b": false,
       "s": "b",
       "u": ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"]},
      {"i": 2,
       "r": 2.5,
       "b": true,
       "s": "c",
       "u": ["uuid", "ad0fa355-8b84-4a36-a4b5-b2c1bfd91758"]},
      {"i": 3,
       "r": 3.5,
       "b": false,
       "s": "d",
       "u": ["uuid", "62315898-64e0-40b9-b26f-ff74225303e6"]},
      {"i": 4,
       "r": 4.5,
       "b": true,
       "s": "e",
       "u": ["uuid", "4a5127e2-0256-4a72-a7dc-6246213967c7"]}]' \
    '[[],
      [["i", "==", 0]],
      [["i", "!=", 1]],
      [["i", "<", 2]],
      [["i", "<=", 3]],
      [["i", ">", 2]],
      [["i", ">=", 4]],
      [["i", "includes", 3]],
      [["i", "excludes", 2]],
      [["r", "==", 0.5]],
      [["r", "!=", 1.5]],
      [["r", "<", 2.5]],
      [["r", "<=", 3.5]],
      [["r", ">", 4.5]],
      [["r", ">=", 5.5]],
      [["r", "includes", 1]],
      [["r", "excludes", 3]],
      [["b", "==", true]],
      [["b", "!=", true]],
      [["b", "includes", false]],
      [["b", "excludes", true]],
      [["s", "==", "a"]],
      [["s", "!=", "b"]],
      [["s", "includes", "c"]],
      [["s", "excludes", "d"]],
      [["u", "==", ["uuid", "b10d28f7-af18-4a67-9e78-2a6394516c59"]]],
      [["u", "!=", ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"]]],
      [["u", "includes",["uuid", "ad0fa355-8b84-4a36-a4b5-b2c1bfd91758"]]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "query  0: 11111
query  1: 1----
query  2: 1-111
query  3: 11---
query  4: 1111-
query  5: ---11
query  6: ----1
query  7: ---1-
query  8: 11-11
query  9: 1----
query 10: 1-111
query 11: 11---
query 12: 1111-
query 13: -----
query 14: -----
query 15: -----
query 16: 11111
query 17: 1-1-1
query 18: -1-1-
query 19: -1-1-
query 20: -1-1-
query 21: 1----
query 22: 1-111
query 23: --1--
query 24: 111-1
query 25: 1----
query 26: 1-111
query 27: --1--
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-query.at:3"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1014
#AT_START_1015
at_fn_group_banner 1015 'ovsdb-query.at:95' \
  "queries on sets" "                                " 66
at_xfail=no
(
  $as_echo "1015. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-query.at:95: test-ovsdb query \\
    '{\"columns\": {\"i\": {\"type\": {\"key\": \"integer\", \"min\": 0, \"max\": \"unlimited\"}}}}' \\
    '[{\"i\": [\"set\", []]},
      {\"i\": [\"set\", [0]]},
      {\"i\": [\"set\", [1]]},
      {\"i\": [\"set\", [0, 1]]},
      {\"i\": [\"set\", [2]]},
      {\"i\": [\"set\", [2, 0]]},
      {\"i\": [\"set\", [2, 1]]},
      {\"i\": [\"set\", [2, 1, 0]]}]' \\
    '[[],
      [[\"i\", \"==\", [\"set\", []]]],
      [[\"i\", \"==\", [\"set\", [0]]]],
      [[\"i\", \"==\", [\"set\", [1]]]],
      [[\"i\", \"==\", [\"set\", [0, 1]]]],
      [[\"i\", \"==\", [\"set\", [2]]]],
      [[\"i\", \"==\", [\"set\", [2, 0]]]],
      [[\"i\", \"==\", [\"set\", [2, 1]]]],
      [[\"i\", \"==\", [\"set\", [2, 1, 0]]]],
      [[\"i\", \"!=\", [\"set\", []]]],
      [[\"i\", \"!=\", [\"set\", [0]]]],
      [[\"i\", \"!=\", [\"set\", [1]]]],
      [[\"i\", \"!=\", [\"set\", [0, 1]]]],
      [[\"i\", \"!=\", [\"set\", [2]]]],
      [[\"i\", \"!=\", [\"set\", [2, 0]]]],
      [[\"i\", \"!=\", [\"set\", [2, 1]]]],
      [[\"i\", \"!=\", [\"set\", [2, 1, 0]]]],
      [[\"i\", \"includes\", [\"set\", []]]],
      [[\"i\", \"includes\", [\"set\", [0]]]],
      [[\"i\", \"includes\", [\"set\", [1]]]],
      [[\"i\", \"includes\", [\"set\", [0, 1]]]],
      [[\"i\", \"includes\", [\"set\", [2]]]],
      [[\"i\", \"includes\", [\"set\", [2, 0]]]],
      [[\"i\", \"includes\", [\"set\", [2, 1]]]],
      [[\"i\", \"includes\", [\"set\", [2, 1, 0]]]],
      [[\"i\", \"excludes\", [\"set\", []]]],
      [[\"i\", \"excludes\", [\"set\", [0]]]],
      [[\"i\", \"excludes\", [\"set\", [1]]]],
      [[\"i\", \"excludes\", [\"set\", [0, 1]]]],
      [[\"i\", \"excludes\", [\"set\", [2]]]],
      [[\"i\", \"excludes\", [\"set\", [2, 0]]]],
      [[\"i\", \"excludes\", [\"set\", [2, 1]]]],
      [[\"i\", \"excludes\", [\"set\", [2, 1, 0]]]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-query.at:95"
( $at_check_trace; test-ovsdb query \
    '{"columns": {"i": {"type": {"key": "integer", "min": 0, "max": "unlimited"}}}}' \
    '[{"i": ["set", []]},
      {"i": ["set", [0]]},
      {"i": ["set", [1]]},
      {"i": ["set", [0, 1]]},
      {"i": ["set", [2]]},
      {"i": ["set", [2, 0]]},
      {"i": ["set", [2, 1]]},
      {"i": ["set", [2, 1, 0]]}]' \
    '[[],
      [["i", "==", ["set", []]]],
      [["i", "==", ["set", [0]]]],
      [["i", "==", ["set", [1]]]],
      [["i", "==", ["set", [0, 1]]]],
      [["i", "==", ["set", [2]]]],
      [["i", "==", ["set", [2, 0]]]],
      [["i", "==", ["set", [2, 1]]]],
      [["i", "==", ["set", [2, 1, 0]]]],
      [["i", "!=", ["set", []]]],
      [["i", "!=", ["set", [0]]]],
      [["i", "!=", ["set", [1]]]],
      [["i", "!=", ["set", [0, 1]]]],
      [["i", "!=", ["set", [2]]]],
      [["i", "!=", ["set", [2, 0]]]],
      [["i", "!=", ["set", [2, 1]]]],
      [["i", "!=", ["set", [2, 1, 0]]]],
      [["i", "includes", ["set", []]]],
      [["i", "includes", ["set", [0]]]],
      [["i", "includes", ["set", [1]]]],
      [["i", "includes", ["set", [0, 1]]]],
      [["i", "includes", ["set", [2]]]],
      [["i", "includes", ["set", [2, 0]]]],
      [["i", "includes", ["set", [2, 1]]]],
      [["i", "includes", ["set", [2, 1, 0]]]],
      [["i", "excludes", ["set", []]]],
      [["i", "excludes", ["set", [0]]]],
      [["i", "excludes", ["set", [1]]]],
      [["i", "excludes", ["set", [0, 1]]]],
      [["i", "excludes", ["set", [2]]]],
      [["i", "excludes", ["set", [2, 0]]]],
      [["i", "excludes", ["set", [2, 1]]]],
      [["i", "excludes", ["set", [2, 1, 0]]]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "query  0: 11111 111
query  1: 1---- ---
query  2: -1--- ---
query  3: --1-- ---
query  4: ---1- ---
query  5: ----1 ---
query  6: ----- 1--
query  7: ----- -1-
query  8: ----- --1
query  9: -1111 111
query 10: 1-111 111
query 11: 11-11 111
query 12: 111-1 111
query 13: 1111- 111
query 14: 11111 -11
query 15: 11111 1-1
query 16: 11111 11-
query 17: 11111 111
query 18: -1-1- 1-1
query 19: --11- -11
query 20: ---1- --1
query 21: ----1 111
query 22: ----- 1-1
query 23: ----- -11
query 24: ----- --1
query 25: 11111 111
query 26: 1-1-1 -1-
query 27: 11--1 1--
query 28: 1---1 ---
query 29: 1111- ---
query 30: 1-1-- ---
query 31: 11--- ---
query 32: 1---- ---
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-query.at:95"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1015
#AT_START_1016
at_fn_group_banner 1016 'ovsdb-query.at:176' \
  "queries on maps (1)" "                            " 66
at_xfail=no
(
  $as_echo "1016. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-query.at:176: test-ovsdb query \\
    '{\"columns\": {\"i\": {\"type\": {\"key\": \"integer\",
                                 \"value\": \"boolean\",
                                 \"min\": 0,
                                 \"max\": \"unlimited\"}}}}' \\
    '[{\"i\": [\"map\", []]},
      {\"i\": [\"map\", [[0, true]]]},
      {\"i\": [\"map\", [[1, false]]]},
      {\"i\": [\"map\", [[0, true], [1, false]]]},
      {\"i\": [\"map\", [[2, true]]]},
      {\"i\": [\"map\", [[2, true], [0, true]]]},
      {\"i\": [\"map\", [[2, true], [1, false]]]},
      {\"i\": [\"map\", [[2, true], [1, false], [0, true]]]}]' \\
    '[[],
      [[\"i\", \"==\", [\"map\", []]]],
      [[\"i\", \"==\", [\"map\", [[0, true]]]]],
      [[\"i\", \"==\", [\"map\", [[1, false]]]]],
      [[\"i\", \"==\", [\"map\", [[0, true], [1, false]]]]],
      [[\"i\", \"==\", [\"map\", [[2, true]]]]],
      [[\"i\", \"==\", [\"map\", [[2, true], [0, true]]]]],
      [[\"i\", \"==\", [\"map\", [[2, true], [1, false]]]]],
      [[\"i\", \"==\", [\"map\", [[2, true], [1, false], [0, true]]]]],
      [[\"i\", \"!=\", [\"map\", []]]],
      [[\"i\", \"!=\", [\"map\", [[0, true]]]]],
      [[\"i\", \"!=\", [\"map\", [[1, false]]]]],
      [[\"i\", \"!=\", [\"map\", [[0, true], [1, false]]]]],
      [[\"i\", \"!=\", [\"map\", [[2, true]]]]],
      [[\"i\", \"!=\", [\"map\", [[2, true], [0, true]]]]],
      [[\"i\", \"!=\", [\"map\", [[2, true], [1, false]]]]],
      [[\"i\", \"!=\", [\"map\", [[2, true], [1, false], [0, true]]]]],
      [[\"i\", \"includes\", [\"map\", []]]],
      [[\"i\", \"includes\", [\"map\", [[0, true]]]]],
      [[\"i\", \"includes\", [\"map\", [[1, false]]]]],
      [[\"i\", \"includes\", [\"map\", [[0, true], [1, false]]]]],
      [[\"i\", \"includes\", [\"map\", [[2, true]]]]],
      [[\"i\", \"includes\", [\"map\", [[2, true], [0, true]]]]],
      [[\"i\", \"includes\", [\"map\", [[2, true], [1, false]]]]],
      [[\"i\", \"includes\", [\"map\", [[2, true], [1, false], [0, true]]]]],
      [[\"i\", \"excludes\", [\"map\", []]]],
      [[\"i\", \"excludes\", [\"map\", [[0, true]]]]],
      [[\"i\", \"excludes\", [\"map\", [[1, false]]]]],
      [[\"i\", \"excludes\", [\"map\", [[0, true], [1, false]]]]],
      [[\"i\", \"excludes\", [\"map\", [[2, true]]]]],
      [[\"i\", \"excludes\", [\"map\", [[2, true], [0, true]]]]],
      [[\"i\", \"excludes\", [\"map\", [[2, true], [1, false]]]]],
      [[\"i\", \"excludes\", [\"map\", [[2, true], [1, false], [0, true]]]]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-query.at:176"
( $at_check_trace; test-ovsdb query \
    '{"columns": {"i": {"type": {"key": "integer",
                                 "value": "boolean",
                                 "min": 0,
                                 "max": "unlimited"}}}}' \
    '[{"i": ["map", []]},
      {"i": ["map", [[0, true]]]},
      {"i": ["map", [[1, false]]]},
      {"i": ["map", [[0, true], [1, false]]]},
      {"i": ["map", [[2, true]]]},
      {"i": ["map", [[2, true], [0, true]]]},
      {"i": ["map", [[2, true], [1, false]]]},
      {"i": ["map", [[2, true], [1, false], [0, true]]]}]' \
    '[[],
      [["i", "==", ["map", []]]],
      [["i", "==", ["map", [[0, true]]]]],
      [["i", "==", ["map", [[1, false]]]]],
      [["i", "==", ["map", [[0, true], [1, false]]]]],
      [["i", "==", ["map", [[2, true]]]]],
      [["i", "==", ["map", [[2, true], [0, true]]]]],
      [["i", "==", ["map", [[2, true], [1, false]]]]],
      [["i", "==", ["map", [[2, true], [1, false], [0, true]]]]],
      [["i", "!=", ["map", []]]],
      [["i", "!=", ["map", [[0, true]]]]],
      [["i", "!=", ["map", [[1, false]]]]],
      [["i", "!=", ["map", [[0, true], [1, false]]]]],
      [["i", "!=", ["map", [[2, true]]]]],
      [["i", "!=", ["map", [[2, true], [0, true]]]]],
      [["i", "!=", ["map", [[2, true], [1, false]]]]],
      [["i", "!=", ["map", [[2, true], [1, false], [0, true]]]]],
      [["i", "includes", ["map", []]]],
      [["i", "includes", ["map", [[0, true]]]]],
      [["i", "includes", ["map", [[1, false]]]]],
      [["i", "includes", ["map", [[0, true], [1, false]]]]],
      [["i", "includes", ["map", [[2, true]]]]],
      [["i", "includes", ["map", [[2, true], [0, true]]]]],
      [["i", "includes", ["map", [[2, true], [1, false]]]]],
      [["i", "includes", ["map", [[2, true], [1, false], [0, true]]]]],
      [["i", "excludes", ["map", []]]],
      [["i", "excludes", ["map", [[0, true]]]]],
      [["i", "excludes", ["map", [[1, false]]]]],
      [["i", "excludes", ["map", [[0, true], [1, false]]]]],
      [["i", "excludes", ["map", [[2, true]]]]],
      [["i", "excludes", ["map", [[2, true], [0, true]]]]],
      [["i", "excludes", ["map", [[2, true], [1, false]]]]],
      [["i", "excludes", ["map", [[2, true], [1, false], [0, true]]]]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "query  0: 11111 111
query  1: 1---- ---
query  2: -1--- ---
query  3: --1-- ---
query  4: ---1- ---
query  5: ----1 ---
query  6: ----- 1--
query  7: ----- -1-
query  8: ----- --1
query  9: -1111 111
query 10: 1-111 111
query 11: 11-11 111
query 12: 111-1 111
query 13: 1111- 111
query 14: 11111 -11
query 15: 11111 1-1
query 16: 11111 11-
query 17: 11111 111
query 18: -1-1- 1-1
query 19: --11- -11
query 20: ---1- --1
query 21: ----1 111
query 22: ----- 1-1
query 23: ----- -11
query 24: ----- --1
query 25: 11111 111
query 26: 1-1-1 -1-
query 27: 11--1 1--
query 28: 1---1 ---
query 29: 1111- ---
query 30: 1-1-- ---
query 31: 11--- ---
query 32: 1---- ---
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-query.at:176"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1016
#AT_START_1017
at_fn_group_banner 1017 'ovsdb-query.at:260' \
  "queries on maps (2)" "                            " 66
at_xfail=no
(
  $as_echo "1017. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-query.at:260: test-ovsdb query \\
    '{\"columns\": {\"i\": {\"type\": {\"key\": \"integer\",
                                 \"value\": \"boolean\",
                                 \"min\": 0,
                                 \"max\": \"unlimited\"}}}}' \\
    '[{\"i\": [\"map\", []]},
      {\"i\": [\"map\", [[0, true]]]},
      {\"i\": [\"map\", [[0, false]]]},
      {\"i\": [\"map\", [[1, false]]]},
      {\"i\": [\"map\", [[1, true]]]},

      {\"i\": [\"map\", [[0, true], [1, false]]]},
      {\"i\": [\"map\", [[0, true], [1, true]]]},
      {\"i\": [\"map\", [[2, true]]]},
      {\"i\": [\"map\", [[2, false]]]},
      {\"i\": [\"map\", [[2, true], [0, true]]]},

      {\"i\": [\"map\", [[2, false], [0, true]]]},
      {\"i\": [\"map\", [[2, true], [1, false]]]},
      {\"i\": [\"map\", [[2, true], [1, true]]]},
      {\"i\": [\"map\", [[2, true], [1, false], [0, true]]]},
      {\"i\": [\"map\", [[2, true], [1, false], [0, false]]]}]' \\
    '[[],
      [[\"i\", \"==\", [\"map\", []]]],
      [[\"i\", \"==\", [\"map\", [[0, true]]]]],
      [[\"i\", \"==\", [\"map\", [[1, false]]]]],
      [[\"i\", \"==\", [\"map\", [[0, true], [1, false]]]]],
      [[\"i\", \"==\", [\"map\", [[2, true]]]]],
      [[\"i\", \"==\", [\"map\", [[2, true], [0, true]]]]],
      [[\"i\", \"==\", [\"map\", [[2, true], [1, false]]]]],
      [[\"i\", \"==\", [\"map\", [[2, true], [1, false], [0, true]]]]],
      [[\"i\", \"!=\", [\"map\", []]]],
      [[\"i\", \"!=\", [\"map\", [[0, true]]]]],
      [[\"i\", \"!=\", [\"map\", [[1, false]]]]],
      [[\"i\", \"!=\", [\"map\", [[0, true], [1, false]]]]],
      [[\"i\", \"!=\", [\"map\", [[2, true]]]]],
      [[\"i\", \"!=\", [\"map\", [[2, true], [0, true]]]]],
      [[\"i\", \"!=\", [\"map\", [[2, true], [1, false]]]]],
      [[\"i\", \"!=\", [\"map\", [[2, true], [1, false], [0, true]]]]],
      [[\"i\", \"includes\", [\"map\", []]]],
      [[\"i\", \"includes\", [\"map\", [[0, true]]]]],
      [[\"i\", \"includes\", [\"map\", [[1, false]]]]],
      [[\"i\", \"includes\", [\"map\", [[0, true], [1, false]]]]],
      [[\"i\", \"includes\", [\"map\", [[2, true]]]]],
      [[\"i\", \"includes\", [\"map\", [[2, true], [0, true]]]]],
      [[\"i\", \"includes\", [\"map\", [[2, true], [1, false]]]]],
      [[\"i\", \"includes\", [\"map\", [[2, true], [1, false], [0, true]]]]],
      [[\"i\", \"excludes\", [\"map\", []]]],
      [[\"i\", \"excludes\", [\"map\", [[0, true]]]]],
      [[\"i\", \"excludes\", [\"map\", [[1, false]]]]],
      [[\"i\", \"excludes\", [\"map\", [[0, true], [1, false]]]]],
      [[\"i\", \"excludes\", [\"map\", [[2, true]]]]],
      [[\"i\", \"excludes\", [\"map\", [[2, true], [0, true]]]]],
      [[\"i\", \"excludes\", [\"map\", [[2, true], [1, false]]]]],
      [[\"i\", \"excludes\", [\"map\", [[2, true], [1, false], [0, true]]]]]]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-query.at:260"
( $at_check_trace; test-ovsdb query \
    '{"columns": {"i": {"type": {"key": "integer",
                                 "value": "boolean",
                                 "min": 0,
                                 "max": "unlimited"}}}}' \
    '[{"i": ["map", []]},
      {"i": ["map", [[0, true]]]},
      {"i": ["map", [[0, false]]]},
      {"i": ["map", [[1, false]]]},
      {"i": ["map", [[1, true]]]},

      {"i": ["map", [[0, true], [1, false]]]},
      {"i": ["map", [[0, true], [1, true]]]},
      {"i": ["map", [[2, true]]]},
      {"i": ["map", [[2, false]]]},
      {"i": ["map", [[2, true], [0, true]]]},

      {"i": ["map", [[2, false], [0, true]]]},
      {"i": ["map", [[2, true], [1, false]]]},
      {"i": ["map", [[2, true], [1, true]]]},
      {"i": ["map", [[2, true], [1, false], [0, true]]]},
      {"i": ["map", [[2, true], [1, false], [0, false]]]}]' \
    '[[],
      [["i", "==", ["map", []]]],
      [["i", "==", ["map", [[0, true]]]]],
      [["i", "==", ["map", [[1, false]]]]],
      [["i", "==", ["map", [[0, true], [1, false]]]]],
      [["i", "==", ["map", [[2, true]]]]],
      [["i", "==", ["map", [[2, true], [0, true]]]]],
      [["i", "==", ["map", [[2, true], [1, false]]]]],
      [["i", "==", ["map", [[2, true], [1, false], [0, true]]]]],
      [["i", "!=", ["map", []]]],
      [["i", "!=", ["map", [[0, true]]]]],
      [["i", "!=", ["map", [[1, false]]]]],
      [["i", "!=", ["map", [[0, true], [1, false]]]]],
      [["i", "!=", ["map", [[2, true]]]]],
      [["i", "!=", ["map", [[2, true], [0, true]]]]],
      [["i", "!=", ["map", [[2, true], [1, false]]]]],
      [["i", "!=", ["map", [[2, true], [1, false], [0, true]]]]],
      [["i", "includes", ["map", []]]],
      [["i", "includes", ["map", [[0, true]]]]],
      [["i", "includes", ["map", [[1, false]]]]],
      [["i", "includes", ["map", [[0, true], [1, false]]]]],
      [["i", "includes", ["map", [[2, true]]]]],
      [["i", "includes", ["map", [[2, true], [0, true]]]]],
      [["i", "includes", ["map", [[2, true], [1, false]]]]],
      [["i", "includes", ["map", [[2, true], [1, false], [0, true]]]]],
      [["i", "excludes", ["map", []]]],
      [["i", "excludes", ["map", [[0, true]]]]],
      [["i", "excludes", ["map", [[1, false]]]]],
      [["i", "excludes", ["map", [[0, true], [1, false]]]]],
      [["i", "excludes", ["map", [[2, true]]]]],
      [["i", "excludes", ["map", [[2, true], [0, true]]]]],
      [["i", "excludes", ["map", [[2, true], [1, false]]]]],
      [["i", "excludes", ["map", [[2, true], [1, false], [0, true]]]]]]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "query  0: 11111 11111 11111
query  1: 1---- ----- -----
query  2: -1--- ----- -----
query  3: ---1- ----- -----
query  4: ----- 1---- -----
query  5: ----- --1-- -----
query  6: ----- ----1 -----
query  7: ----- ----- -1---
query  8: ----- ----- ---1-
query  9: -1111 11111 11111
query 10: 1-111 11111 11111
query 11: 111-1 11111 11111
query 12: 11111 -1111 11111
query 13: 11111 11-11 11111
query 14: 11111 1111- 11111
query 15: 11111 11111 1-111
query 16: 11111 11111 111-1
query 17: 11111 11111 11111
query 18: -1--- 11--1 1--1-
query 19: ---1- 1---- -1-11
query 20: ----- 1---- ---1-
query 21: ----- --1-1 -1111
query 22: ----- ----1 ---1-
query 23: ----- ----- -1-11
query 24: ----- ----- ---1-
query 25: 11111 11111 11111
query 26: 1-111 --11- -11-1
query 27: 111-1 -1111 1-1--
query 28: 1-1-1 --11- --1--
query 29: 11111 11-1- 1----
query 30: 1-111 ---1- -----
query 31: 111-1 -1-1- 1----
query 32: 1-1-1 ---1- -----
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-query.at:260"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1017
#AT_START_1018
at_fn_group_banner 1018 'ovsdb-query.at:351' \
  "UUID-distinct queries on scalars" "               " 66
at_xfail=no
(
  $as_echo "1018. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-query.at:351: test-ovsdb query-distinct \\
    '{\"columns\":
        {\"i\": {\"type\": \"integer\"},
         \"r\": {\"type\": \"real\"},
         \"b\": {\"type\": \"boolean\"},
	 \"s\": {\"type\": \"string\"},
         \"u\": {\"type\": \"uuid\"}}}' \\
    '[{\"i\": 0,
       \"r\": 0.5,
       \"b\": true,
       \"s\": \"a\",
       \"u\": [\"uuid\", \"b10d28f7-af18-4a67-9e78-2a6394516c59\"]},
      {\"i\": 1,
       \"r\": 1.5,
       \"b\": false,
       \"s\": \"b\",
       \"u\": [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"]},
      {\"i\": 2,
       \"r\": 2.5,
       \"b\": true,
       \"s\": \"c\",
       \"u\": [\"uuid\", \"ad0fa355-8b84-4a36-a4b5-b2c1bfd91758\"]},
      {\"i\": 3,
       \"r\": 3.5,
       \"b\": false,
       \"s\": \"d\",
       \"u\": [\"uuid\", \"62315898-64e0-40b9-b26f-ff74225303e6\"]},
      {\"i\": 4,
       \"r\": 4.5,
       \"b\": true,
       \"s\": \"e\",
       \"u\": [\"uuid\", \"4a5127e2-0256-4a72-a7dc-6246213967c7\"]}]' \\
    '[[],
      [[\"i\", \"==\", 0]],
      [[\"i\", \"!=\", 1]],
      [[\"i\", \"<\", 2]],
      [[\"i\", \"<=\", 3]],
      [[\"i\", \">\", 2]],
      [[\"i\", \">=\", 4]],
      [[\"i\", \"includes\", 3]],
      [[\"i\", \"excludes\", 2]],
      [[\"r\", \"==\", 0.5]],
      [[\"r\", \"!=\", 1.5]],
      [[\"r\", \"<\", 2.5]],
      [[\"r\", \"<=\", 3.5]],
      [[\"r\", \">\", 4.5]],
      [[\"r\", \">=\", 5.5]],
      [[\"r\", \"includes\", 1]],
      [[\"r\", \"excludes\", 3]],
      [[\"b\", \"==\", true]],
      [[\"b\", \"!=\", true]],
      [[\"b\", \"includes\", false]],
      [[\"b\", \"excludes\", true]],
      [[\"s\", \"==\", \"a\"]],
      [[\"s\", \"!=\", \"b\"]],
      [[\"s\", \"includes\", \"c\"]],
      [[\"s\", \"excludes\", \"d\"]],
      [[\"u\", \"==\", [\"uuid\", \"b10d28f7-af18-4a67-9e78-2a6394516c59\"]]],
      [[\"u\", \"!=\", [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"]]],
      [[\"u\", \"includes\",[\"uuid\", \"ad0fa355-8b84-4a36-a4b5-b2c1bfd91758\"]]]]' \\
    '[\"_uuid\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-query.at:351"
( $at_check_trace; test-ovsdb query-distinct \
    '{"columns":
        {"i": {"type": "integer"},
         "r": {"type": "real"},
         "b": {"type": "boolean"},
	 "s": {"type": "string"},
         "u": {"type": "uuid"}}}' \
    '[{"i": 0,
       "r": 0.5,
       "b": true,
       "s": "a",
       "u": ["uuid", "b10d28f7-af18-4a67-9e78-2a6394516c59"]},
      {"i": 1,
       "r": 1.5,
       "b": false,
       "s": "b",
       "u": ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"]},
      {"i": 2,
       "r": 2.5,
       "b": true,
       "s": "c",
       "u": ["uuid", "ad0fa355-8b84-4a36-a4b5-b2c1bfd91758"]},
      {"i": 3,
       "r": 3.5,
       "b": false,
       "s": "d",
       "u": ["uuid", "62315898-64e0-40b9-b26f-ff74225303e6"]},
      {"i": 4,
       "r": 4.5,
       "b": true,
       "s": "e",
       "u": ["uuid", "4a5127e2-0256-4a72-a7dc-6246213967c7"]}]' \
    '[[],
      [["i", "==", 0]],
      [["i", "!=", 1]],
      [["i", "<", 2]],
      [["i", "<=", 3]],
      [["i", ">", 2]],
      [["i", ">=", 4]],
      [["i", "includes", 3]],
      [["i", "excludes", 2]],
      [["r", "==", 0.5]],
      [["r", "!=", 1.5]],
      [["r", "<", 2.5]],
      [["r", "<=", 3.5]],
      [["r", ">", 4.5]],
      [["r", ">=", 5.5]],
      [["r", "includes", 1]],
      [["r", "excludes", 3]],
      [["b", "==", true]],
      [["b", "!=", true]],
      [["b", "includes", false]],
      [["b", "excludes", true]],
      [["s", "==", "a"]],
      [["s", "!=", "b"]],
      [["s", "includes", "c"]],
      [["s", "excludes", "d"]],
      [["u", "==", ["uuid", "b10d28f7-af18-4a67-9e78-2a6394516c59"]]],
      [["u", "!=", ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"]]],
      [["u", "includes",["uuid", "ad0fa355-8b84-4a36-a4b5-b2c1bfd91758"]]]]' \
    '["_uuid"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "query  0: abcde
query  1: a----
query  2: a-cde
query  3: ab---
query  4: abcd-
query  5: ---de
query  6: ----e
query  7: ---d-
query  8: ab-de
query  9: a----
query 10: a-cde
query 11: ab---
query 12: abcd-
query 13: -----
query 14: -----
query 15: -----
query 16: abcde
query 17: a-c-e
query 18: -b-d-
query 19: -b-d-
query 20: -b-d-
query 21: a----
query 22: a-cde
query 23: --c--
query 24: abc-e
query 25: a----
query 26: a-cde
query 27: --c--
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-query.at:351"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1018
#AT_START_1019
at_fn_group_banner 1019 'ovsdb-query.at:444' \
  "Boolean-distinct queries on scalars" "            " 66
at_xfail=no
(
  $as_echo "1019. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-query.at:444: test-ovsdb query-distinct \\
    '{\"columns\":
        {\"i\": {\"type\": \"integer\"},
         \"r\": {\"type\": \"real\"},
         \"b\": {\"type\": \"boolean\"},
	 \"s\": {\"type\": \"string\"},
         \"u\": {\"type\": \"uuid\"}}}' \\
    '[{\"i\": 0,
       \"r\": 0.5,
       \"b\": true,
       \"s\": \"a\",
       \"u\": [\"uuid\", \"b10d28f7-af18-4a67-9e78-2a6394516c59\"]},
      {\"i\": 1,
       \"r\": 1.5,
       \"b\": false,
       \"s\": \"b\",
       \"u\": [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"]},
      {\"i\": 2,
       \"r\": 2.5,
       \"b\": true,
       \"s\": \"c\",
       \"u\": [\"uuid\", \"ad0fa355-8b84-4a36-a4b5-b2c1bfd91758\"]},
      {\"i\": 3,
       \"r\": 3.5,
       \"b\": false,
       \"s\": \"d\",
       \"u\": [\"uuid\", \"62315898-64e0-40b9-b26f-ff74225303e6\"]},
      {\"i\": 4,
       \"r\": 4.5,
       \"b\": true,
       \"s\": \"e\",
       \"u\": [\"uuid\", \"4a5127e2-0256-4a72-a7dc-6246213967c7\"]}]' \\
    '[[],
      [[\"i\", \"==\", 0]],
      [[\"i\", \"!=\", 1]],
      [[\"i\", \"<\", 2]],
      [[\"i\", \"<=\", 3]],
      [[\"i\", \">\", 2]],
      [[\"i\", \">=\", 4]],
      [[\"i\", \"includes\", 3]],
      [[\"i\", \"excludes\", 2]],
      [[\"r\", \"==\", 0.5]],
      [[\"r\", \"!=\", 1.5]],
      [[\"r\", \"<\", 2.5]],
      [[\"r\", \"<=\", 3.5]],
      [[\"r\", \">\", 4.5]],
      [[\"r\", \">=\", 5.5]],
      [[\"r\", \"includes\", 1]],
      [[\"r\", \"excludes\", 3]],
      [[\"b\", \"==\", true]],
      [[\"b\", \"!=\", true]],
      [[\"b\", \"includes\", false]],
      [[\"b\", \"excludes\", true]],
      [[\"s\", \"==\", \"a\"]],
      [[\"s\", \"!=\", \"b\"]],
      [[\"s\", \"includes\", \"c\"]],
      [[\"s\", \"excludes\", \"d\"]],
      [[\"u\", \"==\", [\"uuid\", \"b10d28f7-af18-4a67-9e78-2a6394516c59\"]]],
      [[\"u\", \"!=\", [\"uuid\", \"9179ca6d-6d65-400a-b455-3ad92783a099\"]]],
      [[\"u\", \"includes\",[\"uuid\", \"ad0fa355-8b84-4a36-a4b5-b2c1bfd91758\"]]]]' \\
    '[\"b\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-query.at:444"
( $at_check_trace; test-ovsdb query-distinct \
    '{"columns":
        {"i": {"type": "integer"},
         "r": {"type": "real"},
         "b": {"type": "boolean"},
	 "s": {"type": "string"},
         "u": {"type": "uuid"}}}' \
    '[{"i": 0,
       "r": 0.5,
       "b": true,
       "s": "a",
       "u": ["uuid", "b10d28f7-af18-4a67-9e78-2a6394516c59"]},
      {"i": 1,
       "r": 1.5,
       "b": false,
       "s": "b",
       "u": ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"]},
      {"i": 2,
       "r": 2.5,
       "b": true,
       "s": "c",
       "u": ["uuid", "ad0fa355-8b84-4a36-a4b5-b2c1bfd91758"]},
      {"i": 3,
       "r": 3.5,
       "b": false,
       "s": "d",
       "u": ["uuid", "62315898-64e0-40b9-b26f-ff74225303e6"]},
      {"i": 4,
       "r": 4.5,
       "b": true,
       "s": "e",
       "u": ["uuid", "4a5127e2-0256-4a72-a7dc-6246213967c7"]}]' \
    '[[],
      [["i", "==", 0]],
      [["i", "!=", 1]],
      [["i", "<", 2]],
      [["i", "<=", 3]],
      [["i", ">", 2]],
      [["i", ">=", 4]],
      [["i", "includes", 3]],
      [["i", "excludes", 2]],
      [["r", "==", 0.5]],
      [["r", "!=", 1.5]],
      [["r", "<", 2.5]],
      [["r", "<=", 3.5]],
      [["r", ">", 4.5]],
      [["r", ">=", 5.5]],
      [["r", "includes", 1]],
      [["r", "excludes", 3]],
      [["b", "==", true]],
      [["b", "!=", true]],
      [["b", "includes", false]],
      [["b", "excludes", true]],
      [["s", "==", "a"]],
      [["s", "!=", "b"]],
      [["s", "includes", "c"]],
      [["s", "excludes", "d"]],
      [["u", "==", ["uuid", "b10d28f7-af18-4a67-9e78-2a6394516c59"]]],
      [["u", "!=", ["uuid", "9179ca6d-6d65-400a-b455-3ad92783a099"]]],
      [["u", "includes",["uuid", "ad0fa355-8b84-4a36-a4b5-b2c1bfd91758"]]]]' \
    '["b"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "query  0: ababa
query  1: a-a-a
query  2: ababa
query  3: ababa
query  4: ababa
query  5: ababa
query  6: a-a-a
query  7: -b-b-
query  8: ababa
query  9: a-a-a
query 10: ababa
query 11: ababa
query 12: ababa
query 13: -----
query 14: -----
query 15: -----
query 16: ababa
query 17: a-a-a
query 18: -b-b-
query 19: -b-b-
query 20: -b-b-
query 21: a-a-a
query 22: ababa
query 23: a-a-a
query 24: ababa
query 25: a-a-a
query 26: ababa
query 27: a-a-a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-query.at:444"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1019
#AT_START_1020
at_fn_group_banner 1020 'ovsdb-query.at:537' \
  "parse colunn set containing bad name" "           " 66
at_xfail=no
(
  $as_echo "1020. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-query.at:537: test-ovsdb query-distinct \\
    '{\"columns\": {\"i\": {\"type\": \"integer\"}}}' \\
    '[{\"i\": 0}]' \\
    '[[]]' \\
    '[\"i\", \"bad\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-query.at:537"
( $at_check_trace; test-ovsdb query-distinct \
    '{"columns": {"i": {"type": "integer"}}}' \
    '[{"i": 0}]' \
    '[[]]' \
    '["i", "bad"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-query.at:537"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-query.at:537: if grep -F -e \"bad is not a valid column name\" stderr
      then
        :
      else
        exit 99
      fi"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-query.at:537"
( $at_check_trace; if grep -F -e "bad is not a valid column name" stderr
      then
        :
      else
        exit 99
      fi
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-query.at:537"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1020
#AT_START_1021
at_fn_group_banner 1021 'ovsdb-transaction.at:3' \
  "empty table, empty transaction" "                 " 67
at_xfail=no
(
  $as_echo "1021. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-transaction.at:3: test-ovsdb transact \\
    '[\"print\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]' \\
    '[\"abort\"]' \\
    '[\"print\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-transaction.at:3"
( $at_check_trace; test-ovsdb transact \
    '["print"]' \
    '["commit"]' \
    '["print"]' \
    '["abort"]' \
    '["print"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "print:
commit:
print:
abort:
print:
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-transaction.at:3"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1021
#AT_START_1022
at_fn_group_banner 1022 'ovsdb-transaction.at:17' \
  "nonempty table, empty transaction" "              " 67
at_xfail=no
(
  $as_echo "1022. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-transaction.at:17: test-ovsdb transact \\
    '[\"insert\", \"1\", \"2\", \"3\"]' \\
    '[\"insert\", \"2\", \"2\", \"3\"]' \\
    '[\"print\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]' \\
    '[\"abort\"]' \\
    '[\"print\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-transaction.at:17"
( $at_check_trace; test-ovsdb transact \
    '["insert", "1", "2", "3"]' \
    '["insert", "2", "2", "3"]' \
    '["print"]' \
    '["commit"]' \
    '["print"]' \
    '["abort"]' \
    '["print"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "insert 1 2 3:
insert 2 2 3:
print:
1: i=2, j=3
2: i=2, j=3
commit:
print:
1: i=2, j=3
2: i=2, j=3
abort:
print:
1: i=2, j=3
2: i=2, j=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-transaction.at:17"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1022
#AT_START_1023
at_fn_group_banner 1023 'ovsdb-transaction.at:41' \
  "insert, commit" "                                 " 67
at_xfail=no
(
  $as_echo "1023. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-transaction.at:41: test-ovsdb transact \\
    '[\"insert\", \"1\", \"2\", \"3\"]' \\
    '[\"insert\", \"2\", \"2\", \"3\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]' \\
    '[\"insert\", \"3\", \"1\", \"2\"]' \\
    '[\"print\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-transaction.at:41"
( $at_check_trace; test-ovsdb transact \
    '["insert", "1", "2", "3"]' \
    '["insert", "2", "2", "3"]' \
    '["commit"]' \
    '["print"]' \
    '["insert", "3", "1", "2"]' \
    '["print"]' \
    '["commit"]' \
    '["print"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "insert 1 2 3:
insert 2 2 3:
commit:
print:
1: i=2, j=3
2: i=2, j=3
insert 3 1 2:
print:
1: i=2, j=3
2: i=2, j=3
3: i=1, j=2
commit:
print:
1: i=2, j=3
2: i=2, j=3
3: i=1, j=2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-transaction.at:41"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1023
#AT_START_1024
at_fn_group_banner 1024 'ovsdb-transaction.at:70' \
  "insert, abort" "                                  " 67
at_xfail=no
(
  $as_echo "1024. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-transaction.at:70: test-ovsdb transact \\
    '[\"insert\", \"1\", \"2\", \"3\"]' \\
    '[\"insert\", \"2\", \"2\", \"3\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]' \\
    '[\"insert\", \"3\", \"1\", \"2\"]' \\
    '[\"print\"]' \\
    '[\"abort\"]' \\
    '[\"print\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-transaction.at:70"
( $at_check_trace; test-ovsdb transact \
    '["insert", "1", "2", "3"]' \
    '["insert", "2", "2", "3"]' \
    '["commit"]' \
    '["print"]' \
    '["insert", "3", "1", "2"]' \
    '["print"]' \
    '["abort"]' \
    '["print"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "insert 1 2 3:
insert 2 2 3:
commit:
print:
1: i=2, j=3
2: i=2, j=3
insert 3 1 2:
print:
1: i=2, j=3
2: i=2, j=3
3: i=1, j=2
abort:
print:
1: i=2, j=3
2: i=2, j=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-transaction.at:70"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1024
#AT_START_1025
at_fn_group_banner 1025 'ovsdb-transaction.at:98' \
  "modify, commit" "                                 " 67
at_xfail=no
(
  $as_echo "1025. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-transaction.at:98: test-ovsdb transact \\
    '[\"insert\", \"1\", \"2\", \"3\"]' \\
    '[\"insert\", \"2\", \"2\", \"3\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]' \\
    '[\"modify\", \"2\", \"5\", \"-1\"]' \\
    '[\"modify\", \"1\", \"-1\", \"4\"]' \\
    '[\"print\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-transaction.at:98"
( $at_check_trace; test-ovsdb transact \
    '["insert", "1", "2", "3"]' \
    '["insert", "2", "2", "3"]' \
    '["commit"]' \
    '["print"]' \
    '["modify", "2", "5", "-1"]' \
    '["modify", "1", "-1", "4"]' \
    '["print"]' \
    '["commit"]' \
    '["print"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "insert 1 2 3:
insert 2 2 3:
commit:
print:
1: i=2, j=3
2: i=2, j=3
modify 2 5 -1:
modify 1 -1 4:
print:
1: i=2, j=4
2: i=5, j=3
commit:
print:
1: i=2, j=4
2: i=5, j=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-transaction.at:98"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1025
#AT_START_1026
at_fn_group_banner 1026 'ovsdb-transaction.at:127' \
  "modify, abort" "                                  " 67
at_xfail=no
(
  $as_echo "1026. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-transaction.at:127: test-ovsdb transact \\
    '[\"insert\", \"1\", \"2\", \"3\"]' \\
    '[\"insert\", \"2\", \"2\", \"3\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]' \\
    '[\"modify\", \"2\", \"5\", \"-1\"]' \\
    '[\"modify\", \"1\", \"-1\", \"4\"]' \\
    '[\"print\"]' \\
    '[\"abort\"]' \\
    '[\"print\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-transaction.at:127"
( $at_check_trace; test-ovsdb transact \
    '["insert", "1", "2", "3"]' \
    '["insert", "2", "2", "3"]' \
    '["commit"]' \
    '["print"]' \
    '["modify", "2", "5", "-1"]' \
    '["modify", "1", "-1", "4"]' \
    '["print"]' \
    '["abort"]' \
    '["print"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "insert 1 2 3:
insert 2 2 3:
commit:
print:
1: i=2, j=3
2: i=2, j=3
modify 2 5 -1:
modify 1 -1 4:
print:
1: i=2, j=4
2: i=5, j=3
abort:
print:
1: i=2, j=3
2: i=2, j=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-transaction.at:127"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1026
#AT_START_1027
at_fn_group_banner 1027 'ovsdb-transaction.at:156' \
  "delete, commit" "                                 " 67
at_xfail=no
(
  $as_echo "1027. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-transaction.at:156: test-ovsdb transact \\
    '[\"insert\", \"1\", \"2\", \"3\"]' \\
    '[\"insert\", \"2\", \"2\", \"3\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]' \\
    '[\"delete\", \"1\"]' \\
    '[\"print\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-transaction.at:156"
( $at_check_trace; test-ovsdb transact \
    '["insert", "1", "2", "3"]' \
    '["insert", "2", "2", "3"]' \
    '["commit"]' \
    '["print"]' \
    '["delete", "1"]' \
    '["print"]' \
    '["commit"]' \
    '["print"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "insert 1 2 3:
insert 2 2 3:
commit:
print:
1: i=2, j=3
2: i=2, j=3
delete 1:
print:
2: i=2, j=3
commit:
print:
2: i=2, j=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-transaction.at:156"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1027
#AT_START_1028
at_fn_group_banner 1028 'ovsdb-transaction.at:181' \
  "delete, abort" "                                  " 67
at_xfail=no
(
  $as_echo "1028. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-transaction.at:181: test-ovsdb transact \\
    '[\"insert\", \"1\", \"2\", \"3\"]' \\
    '[\"insert\", \"2\", \"2\", \"3\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]' \\
    '[\"delete\", \"1\"]' \\
    '[\"print\"]' \\
    '[\"abort\"]' \\
    '[\"print\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-transaction.at:181"
( $at_check_trace; test-ovsdb transact \
    '["insert", "1", "2", "3"]' \
    '["insert", "2", "2", "3"]' \
    '["commit"]' \
    '["print"]' \
    '["delete", "1"]' \
    '["print"]' \
    '["abort"]' \
    '["print"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "insert 1 2 3:
insert 2 2 3:
commit:
print:
1: i=2, j=3
2: i=2, j=3
delete 1:
print:
2: i=2, j=3
abort:
print:
1: i=2, j=3
2: i=2, j=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-transaction.at:181"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1028
#AT_START_1029
at_fn_group_banner 1029 'ovsdb-transaction.at:207' \
  "modify, delete, commit" "                         " 67
at_xfail=no
(
  $as_echo "1029. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-transaction.at:207: test-ovsdb transact \\
    '[\"insert\", \"1\", \"2\", \"3\"]' \\
    '[\"insert\", \"2\", \"2\", \"3\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]' \\
    '[\"modify\", \"1\", \"5\", \"6\"]' \\
    '[\"delete\", \"1\"]' \\
    '[\"print\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-transaction.at:207"
( $at_check_trace; test-ovsdb transact \
    '["insert", "1", "2", "3"]' \
    '["insert", "2", "2", "3"]' \
    '["commit"]' \
    '["print"]' \
    '["modify", "1", "5", "6"]' \
    '["delete", "1"]' \
    '["print"]' \
    '["commit"]' \
    '["print"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "insert 1 2 3:
insert 2 2 3:
commit:
print:
1: i=2, j=3
2: i=2, j=3
modify 1 5 6:
delete 1:
print:
2: i=2, j=3
commit:
print:
2: i=2, j=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-transaction.at:207"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1029
#AT_START_1030
at_fn_group_banner 1030 'ovsdb-transaction.at:234' \
  "modify, delete, abort" "                          " 67
at_xfail=no
(
  $as_echo "1030. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-transaction.at:234: test-ovsdb transact \\
    '[\"insert\", \"1\", \"2\", \"3\"]' \\
    '[\"insert\", \"2\", \"2\", \"3\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]' \\
    '[\"modify\", \"1\", \"5\", \"6\"]' \\
    '[\"delete\", \"1\"]' \\
    '[\"print\"]' \\
    '[\"abort\"]' \\
    '[\"print\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-transaction.at:234"
( $at_check_trace; test-ovsdb transact \
    '["insert", "1", "2", "3"]' \
    '["insert", "2", "2", "3"]' \
    '["commit"]' \
    '["print"]' \
    '["modify", "1", "5", "6"]' \
    '["delete", "1"]' \
    '["print"]' \
    '["abort"]' \
    '["print"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "insert 1 2 3:
insert 2 2 3:
commit:
print:
1: i=2, j=3
2: i=2, j=3
modify 1 5 6:
delete 1:
print:
2: i=2, j=3
abort:
print:
1: i=2, j=3
2: i=2, j=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-transaction.at:234"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1030
#AT_START_1031
at_fn_group_banner 1031 'ovsdb-transaction.at:262' \
  "insert, delete, commit" "                         " 67
at_xfail=no
(
  $as_echo "1031. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-transaction.at:262: test-ovsdb transact \\
    '[\"insert\", \"1\", \"2\", \"3\"]' \\
    '[\"insert\", \"2\", \"2\", \"3\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]' \\
    '[\"insert\", \"3\", \"5\", \"6\"]' \\
    '[\"delete\", \"1\"]' \\
    '[\"delete\", \"3\"]' \\
    '[\"print\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-transaction.at:262"
( $at_check_trace; test-ovsdb transact \
    '["insert", "1", "2", "3"]' \
    '["insert", "2", "2", "3"]' \
    '["commit"]' \
    '["print"]' \
    '["insert", "3", "5", "6"]' \
    '["delete", "1"]' \
    '["delete", "3"]' \
    '["print"]' \
    '["commit"]' \
    '["print"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "insert 1 2 3:
insert 2 2 3:
commit:
print:
1: i=2, j=3
2: i=2, j=3
insert 3 5 6:
delete 1:
delete 3:
print:
2: i=2, j=3
commit:
print:
2: i=2, j=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-transaction.at:262"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1031
#AT_START_1032
at_fn_group_banner 1032 'ovsdb-transaction.at:291' \
  "insert, delete, abort" "                          " 67
at_xfail=no
(
  $as_echo "1032. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-transaction.at:291: test-ovsdb transact \\
    '[\"insert\", \"1\", \"2\", \"3\"]' \\
    '[\"insert\", \"2\", \"2\", \"3\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]' \\
    '[\"insert\", \"3\", \"5\", \"6\"]' \\
    '[\"delete\", \"1\"]' \\
    '[\"delete\", \"3\"]' \\
    '[\"print\"]' \\
    '[\"abort\"]' \\
    '[\"print\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-transaction.at:291"
( $at_check_trace; test-ovsdb transact \
    '["insert", "1", "2", "3"]' \
    '["insert", "2", "2", "3"]' \
    '["commit"]' \
    '["print"]' \
    '["insert", "3", "5", "6"]' \
    '["delete", "1"]' \
    '["delete", "3"]' \
    '["print"]' \
    '["abort"]' \
    '["print"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "insert 1 2 3:
insert 2 2 3:
commit:
print:
1: i=2, j=3
2: i=2, j=3
insert 3 5 6:
delete 1:
delete 3:
print:
2: i=2, j=3
abort:
print:
1: i=2, j=3
2: i=2, j=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-transaction.at:291"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1032
#AT_START_1033
at_fn_group_banner 1033 'ovsdb-transaction.at:322' \
  "insert, modify, delete, commit" "                 " 67
at_xfail=no
(
  $as_echo "1033. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-transaction.at:322: test-ovsdb transact \\
    '[\"insert\", \"1\", \"2\", \"3\"]' \\
    '[\"insert\", \"2\", \"2\", \"3\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]' \\
    '[\"insert\", \"3\", \"5\", \"6\"]' \\
    '[\"delete\", \"1\"]' \\
    '[\"modify\", \"3\", \"7\", \"8\"]' \\
    '[\"delete\", \"3\"]' \\
    '[\"print\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-transaction.at:322"
( $at_check_trace; test-ovsdb transact \
    '["insert", "1", "2", "3"]' \
    '["insert", "2", "2", "3"]' \
    '["commit"]' \
    '["print"]' \
    '["insert", "3", "5", "6"]' \
    '["delete", "1"]' \
    '["modify", "3", "7", "8"]' \
    '["delete", "3"]' \
    '["print"]' \
    '["commit"]' \
    '["print"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "insert 1 2 3:
insert 2 2 3:
commit:
print:
1: i=2, j=3
2: i=2, j=3
insert 3 5 6:
delete 1:
modify 3 7 8:
delete 3:
print:
2: i=2, j=3
commit:
print:
2: i=2, j=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-transaction.at:322"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1033
#AT_START_1034
at_fn_group_banner 1034 'ovsdb-transaction.at:353' \
  "insert, modify, delete, abort" "                  " 67
at_xfail=no
(
  $as_echo "1034. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-transaction.at:353: test-ovsdb transact \\
    '[\"insert\", \"1\", \"2\", \"3\"]' \\
    '[\"insert\", \"2\", \"2\", \"3\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]' \\
    '[\"insert\", \"3\", \"5\", \"6\"]' \\
    '[\"delete\", \"1\"]' \\
    '[\"modify\", \"3\", \"7\", \"8\"]' \\
    '[\"delete\", \"3\"]' \\
    '[\"print\"]' \\
    '[\"abort\"]' \\
    '[\"print\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-transaction.at:353"
( $at_check_trace; test-ovsdb transact \
    '["insert", "1", "2", "3"]' \
    '["insert", "2", "2", "3"]' \
    '["commit"]' \
    '["print"]' \
    '["insert", "3", "5", "6"]' \
    '["delete", "1"]' \
    '["modify", "3", "7", "8"]' \
    '["delete", "3"]' \
    '["print"]' \
    '["abort"]' \
    '["print"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "insert 1 2 3:
insert 2 2 3:
commit:
print:
1: i=2, j=3
2: i=2, j=3
insert 3 5 6:
delete 1:
modify 3 7 8:
delete 3:
print:
2: i=2, j=3
abort:
print:
1: i=2, j=3
2: i=2, j=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-transaction.at:353"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1034
#AT_START_1035
at_fn_group_banner 1035 'ovsdb-transaction.at:385' \
  "deletes are aborted cleanly" "                    " 67
at_xfail=no
(
  $as_echo "1035. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-transaction.at:385: test-ovsdb transact \\
    '[\"insert\", \"1\", \"2\", \"3\"]' \\
    '[\"commit\"]' \\
    '[\"print\"]' \\
    '[\"delete\", \"1\"]' \\
    '[\"abort\"]' \\
    '[\"print\"]' \\
    '[\"delete\", \"1\"]' \\
    '[\"abort\"]' \\
    '[\"print\"]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-transaction.at:385"
( $at_check_trace; test-ovsdb transact \
    '["insert", "1", "2", "3"]' \
    '["commit"]' \
    '["print"]' \
    '["delete", "1"]' \
    '["abort"]' \
    '["print"]' \
    '["delete", "1"]' \
    '["abort"]' \
    '["print"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "insert 1 2 3:
commit:
print:
1: i=2, j=3
delete 1:
abort:
print:
1: i=2, j=3
delete 1:
abort:
print:
1: i=2, j=3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-transaction.at:385"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1035
#AT_START_1036
at_fn_group_banner 1036 'ovsdb-execution.at:147' \
  "uuid-name must be <id>" "                         " 68
at_xfail=no
(
  $as_echo "1036. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:147: test-ovsdb execute \"\`constraint_schema\`\"  '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {},
       \"uuid-name\": \"0\"}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:147"
( $at_check_trace; test-ovsdb execute "`constraint_schema`"  '["constraints",
      {"op": "insert",
       "table": "a",
       "row": {},
       "uuid-name": "0"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:147"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:147: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:147"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"details\":\"Parsing ovsdb operation 1 of 1 failed: Type mismatch for member 'uuid-name'.\",\"error\":\"syntax error\",\"syntax\":\"{\\\"op\\\":\\\"insert\\\",\\\"row\\\":{},\\\"table\\\":\\\"a\\\",\\\"uuid-name\\\":\\\"0\\\"}\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:147"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1036
#AT_START_1037
at_fn_group_banner 1037 'ovsdb-execution.at:157' \
  "named-uuid must be <id>" "                        " 68
at_xfail=no
(
  $as_echo "1037. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:157: test-ovsdb execute \"\`constraint_schema\`\"  '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a2a\": [\"named-uuid\", \"0\"]}}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:157"
( $at_check_trace; test-ovsdb execute "`constraint_schema`"  '["constraints",
      {"op": "insert",
       "table": "a",
       "row": {"a2a": ["named-uuid", "0"]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:157"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:157: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:157"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"details\":\"named-uuid string is not a valid <id>\",\"error\":\"syntax error\",\"syntax\":\"[\\\"named-uuid\\\",\\\"0\\\"]\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:157"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1037
#AT_START_1038
at_fn_group_banner 1038 'ovsdb-execution.at:166' \
  "duplicate uuid-name not allowed" "                " 68
at_xfail=no
(
  $as_echo "1038. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:166: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {},
       \"uuid-name\": \"x\"},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {},
       \"uuid-name\": \"x\"}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:166"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {},
       "uuid-name": "x"},
      {"op": "insert",
       "table": "ordinals",
       "row": {},
       "uuid-name": "x"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:166"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:166: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:166"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"details\":\"This \\\"uuid-name\\\" appeared on an earlier \\\"insert\\\" operation.\",\"error\":\"duplicate uuid-name\",\"syntax\":\"\\\"x\\\"\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:166"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1038
#AT_START_1039
at_fn_group_banner 1039 'ovsdb-execution.at:1099' \
  "insert default row, query table" "                " 68
at_xfail=no
(
  $as_echo "1039. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {}}]' '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {}}]' '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"\",\"number\":0}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1039
#AT_START_1040
at_fn_group_banner 1040 'ovsdb-execution.at:1099' \
  "insert row, query table" "                        " 68
at_xfail=no
(
  $as_echo "1040. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}}]' '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}}]' '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1040
#AT_START_1041
at_fn_group_banner 1041 'ovsdb-execution.at:1099' \
  "insert rows, query by value" "                    " 68
at_xfail=no
(
  $as_echo "1041. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}}]' '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}}]' '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]]}]' '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"one\"]]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}}]' '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}}]' '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [["name", "==", "zero"]]}]' '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [["name", "==", "one"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1041
#AT_START_1042
at_fn_group_banner 1042 'ovsdb-execution.at:1099' \
  "insert rows, query by named-uuid" "               " 68
at_xfail=no
(
  $as_echo "1042. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"second\"},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"first\"]]]},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"second\"]]]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "select",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "first"]]]},
      {"op": "select",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "second"]]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0}]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1042
#AT_START_1043
at_fn_group_banner 1043 'ovsdb-execution.at:1099' \
  "insert rows, update rows by value" "              " 68
at_xfail=no
(
  $as_echo "1043. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]' '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]' '[\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]],
       \"row\": {\"name\": \"nought\"}}]' '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]' '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]' '["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "zero"]],
       "row": {"name": "nought"}}]' '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"nought\",\"number\":0},{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1043
#AT_START_1044
at_fn_group_banner 1044 'ovsdb-execution.at:1099' \
  "insert rows, mutate rows" "                       " 68
at_xfail=no
(
  $as_echo "1044. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]' '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]' '[\"ordinals\",
      {\"op\": \"mutate\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]],
       \"mutations\": [[\"number\", \"+=\", 2]]}]' '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]' '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]' '["ordinals",
      {"op": "mutate",
       "table": "ordinals",
       "where": [["name", "==", "zero"]],
       "mutations": [["number", "+=", 2]]}]' '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"one\",\"number\":1},{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"zero\",\"number\":2}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1044
#AT_START_1045
at_fn_group_banner 1045 'ovsdb-execution.at:1099' \
  "insert rows, delete by named-uuid" "              " 68
at_xfail=no
(
  $as_echo "1045. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"second\"},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"first\"]]]},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\",\"number\"]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "delete",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "first"]]]},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["name","number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"count\":1},{\"rows\":[{\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1045
#AT_START_1046
at_fn_group_banner 1046 'ovsdb-execution.at:1099' \
  "insert rows, delete rows by value" "              " 68
at_xfail=no
(
  $as_echo "1046. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]' '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]' '[\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]]}]' '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]' '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]' '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "zero"]]}]' '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1046
#AT_START_1047
at_fn_group_banner 1047 'ovsdb-execution.at:1099' \
  "insert rows, delete by (non-matching) value" "    " 68
at_xfail=no
(
  $as_echo "1047. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]' '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]' '[\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"nought\"]]}]' '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]' '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]' '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "nought"]]}]' '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":0}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0},{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1047
#AT_START_1048
at_fn_group_banner 1048 'ovsdb-execution.at:1099' \
  "insert rows, delete all" "                        " 68
at_xfail=no
(
  $as_echo "1048. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"second\"},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\",\"number\"]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "delete",
       "table": "ordinals",
       "where": []},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["name","number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"count\":2},{\"rows\":[]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1048
#AT_START_1049
at_fn_group_banner 1049 'ovsdb-execution.at:1099' \
  "insert row, query table, commit" "                " 68
at_xfail=no
(
  $as_echo "1049. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"commit\",
       \"durable\": false}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "select",
       "table": "ordinals",
       "where": []},
      {"op": "commit",
       "durable": false}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1049
#AT_START_1050
at_fn_group_banner 1050 'ovsdb-execution.at:1099' \
  "insert row, query table, commit durably" "        " 68
at_xfail=no
(
  $as_echo "1050. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"commit\",
       \"durable\": true}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "select",
       "table": "ordinals",
       "where": []},
      {"op": "commit",
       "durable": true}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1050
#AT_START_1051
at_fn_group_banner 1051 'ovsdb-execution.at:1099' \
  "equality wait with correct rows" "                " 68
at_xfail=no
(
  $as_echo "1051. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1051
#AT_START_1052
at_fn_group_banner 1052 'ovsdb-execution.at:1099' \
  "equality wait with extra row" "                   " 68
at_xfail=no
(
  $as_echo "1052. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1},
                {\"name\": \"two\", \"number\": 2}]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1},
                {"name": "two", "number": 2}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1052
#AT_START_1053
at_fn_group_banner 1053 'ovsdb-execution.at:1099' \
  "equality wait with missing row" "                 " 68
at_xfail=no
(
  $as_echo "1053. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1053
#AT_START_1054
at_fn_group_banner 1054 'ovsdb-execution.at:1099' \
  "inequality wait with correct rows" "              " 68
at_xfail=no
(
  $as_echo "1054. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"!=\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1054
#AT_START_1055
at_fn_group_banner 1055 'ovsdb-execution.at:1099' \
  "inequality wait with extra row" "                 " 68
at_xfail=no
(
  $as_echo "1055. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"!=\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1},
                {\"name\": \"two\", \"number\": 2}]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1},
                {"name": "two", "number": 2}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1055
#AT_START_1056
at_fn_group_banner 1056 'ovsdb-execution.at:1099' \
  "inequality wait with missing row" "               " 68
at_xfail=no
(
  $as_echo "1056. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"!=\",
       \"rows\": [{\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1056
#AT_START_1057
at_fn_group_banner 1057 'ovsdb-execution.at:1099' \
  "insert and update constraints" "                  " 68
at_xfail=no
(
  $as_echo "1057. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`constraint_schema\`\"  '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {}}]' '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {\"positive\": -1}}]' '[\"constraints\",
      {\"op\": \"update\",
       \"table\": \"constrained\",
       \"where\": [],
       \"row\": {\"positive\": -2}}]' '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {\"positive\": 1}}]' '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {\"positive\": 2}}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`constraint_schema`"  '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {}}]' '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": -1}}]' '["constraints",
      {"op": "update",
       "table": "constrained",
       "where": [],
       "row": {"positive": -2}}]' '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": 1}}]' '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": 2}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"details\":\"0 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"details\":\"-1 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"details\":\"-2 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"transaction causes \\\"constrained\\\" table to contain 2 rows, greater than the schema-defined limit of 1 row(s)\",\"error\":\"constraint violation\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1057
#AT_START_1058
at_fn_group_banner 1058 'ovsdb-execution.at:1099' \
  "index uniqueness checking" "                      " 68
at_xfail=no
(
  $as_echo "1058. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`ordinal_schema\`\"  '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}}]' '   [\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"another one\"}}]' '   [\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"another one\"}},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"one\"]]}]' '   [\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"still another one\"}}]' '   [\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 2, \"name\": \"two\"}}]' '   [\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"row\": {\"number\": 3}}]' '   [\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"number\", \"==\", 1]],
       \"row\": {\"number\": 2, \"name\": \"old two\"}},
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"two\"]],
       \"row\": {\"number\": 1, \"name\": \"old one\"}}]' '   [\"ordinals\",
      {\"op\": \"mutate\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"mutations\": [[\"number\", \"*=\", 10]]},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"new one\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 2, \"name\": \"new two\"}},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"number\", \"name\"],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`ordinal_schema`"  '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}}]' '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "another one"}}]' '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "another one"}},
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "one"]]}]' '   ["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": []},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "still another one"}}]' '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 2, "name": "two"}}]' '   ["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [],
       "row": {"number": 3}}]' '   ["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["number", "==", 1]],
       "row": {"number": 2, "name": "old two"}},
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "two"]],
       "row": {"number": 1, "name": "old one"}}]' '   ["ordinals",
      {"op": "mutate",
       "table": "ordinals",
       "where": [],
       "mutations": [["number", "*=", 10]]},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "new one"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 2, "name": "new two"}},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["number", "name"],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (1) for index on column \\\"number\\\".  First row, with UUID <0>, existed in the database before this transaction and was not modified by the transaction.  Second row, with UUID <1>, was inserted by this transaction.\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<2>\"]},{\"count\":1}]
[{\"count\":1},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (1) for index on column \\\"number\\\".  First row, with UUID <4>, was inserted by this transaction.  Second row, with UUID <3>, was inserted by this transaction.\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<5>\"]}]
[{\"count\":2},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (3) for index on column \\\"number\\\".  First row, with UUID <5>, had the following index values before the transaction: 2.  Second row, with UUID <2>, had the following index values before the transaction: 1.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"count\":1}]
[{\"count\":2},{\"uuid\":[\"uuid\",\"<6>\"]},{\"uuid\":[\"uuid\",\"<7>\"]},{\"rows\":[{\"name\":\"new one\",\"number\":1},{\"name\":\"new two\",\"number\":2},{\"name\":\"old one\",\"number\":10},{\"name\":\"old two\",\"number\":20}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1058
#AT_START_1059
at_fn_group_banner 1059 'ovsdb-execution.at:1099' \
  "referential integrity -- simple" "                " 68
at_xfail=no
(
  $as_echo "1059. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`constraint_schema\`\"  '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 1},
       \"uuid-name\": \"brow\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0,
               \"a2b\": [\"set\", [[\"named-uuid\", \"brow\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 1,
               \"a2b\": [\"set\", [[\"named-uuid\", \"brow\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 2,
               \"a2b\": [\"set\", [[\"named-uuid\", \"brow\"]]]}}]' '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]' '   [\"constraints\",
      {\"op\": \"mutate\",
       \"table\": \"b\",
       \"where\": [],
       \"mutations\": [[\"x\", \"delete\", 0]]}]' '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]' '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]' '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 1]]}]' '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]' '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 2]]}]' '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`constraint_schema`"  '["constraints",
      {"op": "insert",
       "table": "b",
       "row": {"b": 1},
       "uuid-name": "brow"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2b": ["set", [["named-uuid", "brow"]]]}},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1,
               "a2b": ["set", [["named-uuid", "brow"]]]}},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2,
               "a2b": ["set", [["named-uuid", "brow"]]]}}]' '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]' '   ["constraints",
      {"op": "mutate",
       "table": "b",
       "where": [],
       "mutations": [["x", "delete", 0]]}]' '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]' '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]' '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]' '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]' '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 2]]}]' '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 3 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"details\":\"Attempted to store 0 elements in set of 1 to 2 integers.\",\"error\":\"constraint violation\"}]
[{\"count\":1}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 2 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1}]
[{\"count\":1}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1059
#AT_START_1060
at_fn_group_banner 1060 'ovsdb-execution.at:1099' \
  "referential integrity -- mutual references" "     " 68
at_xfail=no
(
  $as_echo "1060. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`constraint_schema\`\"  '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0,
               \"a2b\": [\"set\", [[\"named-uuid\", \"row2\"]]],
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"]]]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 1,
               \"b2b\": [\"set\", [[\"named-uuid\", \"row2\"]]],
               \"b2a\": [\"set\", [[\"named-uuid\", \"row1\"]]]},
       \"uuid-name\": \"row2\"}]' '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a2b\": [\"set\", [[\"uuid\", \"b516b960-5b19-4fc2-bb82-fe1cbd6d0241\"]]]}}]' '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]' '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 1]]}]' '   [\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]' '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 1]]}]' '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]},
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`constraint_schema`"  '["constraints",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2b": ["set", [["named-uuid", "row2"]]],
               "a2a": ["set", [["named-uuid", "row1"]]]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "b",
       "row": {"b": 1,
               "b2b": ["set", [["named-uuid", "row2"]]],
               "b2a": ["set", [["named-uuid", "row1"]]]},
       "uuid-name": "row2"}]' '["constraints",
      {"op": "insert",
       "table": "a",
       "row": {"a2b": ["set", [["uuid", "b516b960-5b19-4fc2-bb82-fe1cbd6d0241"]]]}}]' '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]' '["constraints",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]' '   ["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]' '["constraints",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]' '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]},
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"uuid\":[\"uuid\",\"<2>\"]},{\"details\":\"Table a column a2b row <2> references nonexistent row <3> in table b.\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete a row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete b row <1> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete a row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete b row <1> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"count\":1}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1060
#AT_START_1061
at_fn_group_banner 1061 'ovsdb-execution.at:1099' \
  "weak references" "                                " 68
at_xfail=no
(
  $as_echo "1061. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`weak_schema\`\"  '[\"weak\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0,
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"],
                               [\"named-uuid\", \"row2\"],
                               [\"uuid\", \"0e767b36-6822-4044-8307-d58467e04669\"]]],
               \"a2a1\": [\"named-uuid\", \"row1\"],
               \"a2b\": [\"named-uuid\", \"row3\"]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 1,
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"],
                               [\"named-uuid\", \"row2\"]]],
               \"a2a1\": [\"named-uuid\", \"row2\"],
               \"a2b\": [\"named-uuid\", \"row3\"]},
       \"uuid-name\": \"row2\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 2,
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"],
                               [\"named-uuid\", \"row2\"]]],
               \"a2a1\": [\"named-uuid\", \"row2\"],
               \"a2b\": [\"named-uuid\", \"row4\"]}},
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 2,
               \"b2a\": [\"named-uuid\", \"row1\"]},
       \"uuid-name\": \"row3\"},
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 3,
               \"b2a\": [\"named-uuid\", \"row2\"]},
       \"uuid-name\": \"row4\"}]' '      [\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]' '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]' '      [\"weak\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a2a1\": [\"named-uuid\", \"me\"]},
       \"uuid-name\": \"me\"}]' '      [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 3]]}]' '      [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 1]]}]' '      [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 2]]}]' '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]' '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]' '   [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]' '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]' '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]' '   [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 1]]}]' '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]' '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`weak_schema`"  '["weak",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"],
                               ["uuid", "0e767b36-6822-4044-8307-d58467e04669"]]],
               "a2a1": ["named-uuid", "row1"],
               "a2b": ["named-uuid", "row3"]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"]]],
               "a2a1": ["named-uuid", "row2"],
               "a2b": ["named-uuid", "row3"]},
       "uuid-name": "row2"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"]]],
               "a2a1": ["named-uuid", "row2"],
               "a2b": ["named-uuid", "row4"]}},
      {"op": "insert",
       "table": "b",
       "row": {"b": 2,
               "b2a": ["named-uuid", "row1"]},
       "uuid-name": "row3"},
      {"op": "insert",
       "table": "b",
       "row": {"b": 3,
               "b2a": ["named-uuid", "row2"]},
       "uuid-name": "row4"}]' '      ["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]' '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]' '      ["weak",
      {"op": "insert",
       "table": "a",
       "row": {"a2a1": ["named-uuid", "me"]},
       "uuid-name": "me"}]' '      ["weak",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 3]]}]' '      ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]' '      ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 2]]}]' '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]' '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]' '   ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]' '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]' '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]' '   ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]' '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]' '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<0>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<2>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<4>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"uuid\",\"<0>\"]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"uuid\":[\"uuid\",\"<5>\"]},{\"details\":\"Weak reference column \\\"a2b\\\" in \\\"a\\\" row <5> (inserted within this transaction) contained all-zeros UUID (probably as the default value for this column) but deleting this value caused a constraint volation because this column is not allowed to be empty.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"details\":\"Deletion of 1 weak reference(s) to deleted (or never-existing) rows from column \\\"a2b\\\" in \\\"a\\\" row <2> caused this column to become empty, but constraints on this column disallow an empty column.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"details\":\"Deletion of 1 weak reference(s) to deleted (or never-existing) rows from column \\\"a2a1\\\" in \\\"a\\\" row <2> caused this column to become empty, but constraints on this column disallow an empty column.\",\"error\":\"constraint violation\"}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<0>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"uuid\",\"<0>\"]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"uuid\",\"<1>\"],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"set\",[]]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"set\",[]]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"set\",[]]}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1061
#AT_START_1062
at_fn_group_banner 1062 'ovsdb-execution.at:1099' \
  "immutable columns" "                              " 68
at_xfail=no
(
  $as_echo "1062. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`immutable_schema\`\"  '[\"immutable\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"i\": 5},
       \"uuid-name\": \"row1\"}]' '[\"immutable\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"row\": {\"i\": 10},
       \"where\": []}]' '[\"immutable\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"row\": {\"i\": 5},
       \"where\": []}]' '[\"immutable\",
      {\"op\": \"mutate\",
       \"table\": \"a\",
       \"where\": [],
       \"mutations\": [[\"i\", \"-=\", 5]]}]' '[\"immutable\",
      {\"op\": \"mutate\",
       \"table\": \"a\",
       \"where\": [],
       \"mutations\": [[\"i\", \"*=\", 1]]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`immutable_schema`"  '["immutable",
      {"op": "insert",
       "table": "a",
       "row": {"i": 5},
       "uuid-name": "row1"}]' '["immutable",
      {"op": "update",
       "table": "a",
       "row": {"i": 10},
       "where": []}]' '["immutable",
      {"op": "update",
       "table": "a",
       "row": {"i": 5},
       "where": []}]' '["immutable",
      {"op": "mutate",
       "table": "a",
       "where": [],
       "mutations": [["i", "-=", 5]]}]' '["immutable",
      {"op": "mutate",
       "table": "a",
       "where": [],
       "mutations": [["i", "*=", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"details\":\"Cannot update immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"{\\\"op\\\":\\\"update\\\",\\\"row\\\":{\\\"i\\\":10},\\\"table\\\":\\\"a\\\",\\\"where\\\":[]}\"}]
[{\"details\":\"Cannot update immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"{\\\"op\\\":\\\"update\\\",\\\"row\\\":{\\\"i\\\":5},\\\"table\\\":\\\"a\\\",\\\"where\\\":[]}\"}]
[{\"details\":\"Cannot mutate immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"[\\\"i\\\",\\\"-=\\\",5]\"}]
[{\"details\":\"Cannot mutate immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"[\\\"i\\\",\\\"*=\\\",1]\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1062
#AT_START_1063
at_fn_group_banner 1063 'ovsdb-execution.at:1099' \
  "garbage collection" "                             " 68
at_xfail=no
(
  $as_echo "1063. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: test-ovsdb execute \"\`gc_schema\`\"  '   [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0}}]' '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]' '      [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0, \"a2a\": [\"named-uuid\", \"row1\"]},
       \"uuid-name\": \"row0\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 1, \"a2a\": [\"named-uuid\", \"row2\"]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 2, \"a2a\": [\"named-uuid\", \"row3\"]},
       \"uuid-name\": \"row2\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 3},
       \"uuid-name\": \"row3\"}]' '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]' '      [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 4, \"a2a\": [\"named-uuid\", \"row5\"]},
       \"uuid-name\": \"row4\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 5, \"a2a\": [\"named-uuid\", \"row4\"]},
       \"uuid-name\": \"row5\"}]' '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"],
       \"sort\": [\"a\"]}]' '   [\"gc\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 4]],
       \"row\": {\"a2a\": [\"set\", []]}}]' '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]' '      [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 6, \"wa2a\": [\"named-uuid\", \"row7\"]},
       \"uuid-name\": \"row6\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 7, \"wa2a\": [\"named-uuid\", \"row6\"]},
       \"uuid-name\": \"row7\"}]' '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]' '   [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 8, \"a2a\": [\"named-uuid\", \"row9\"]},
       \"uuid-name\": \"row8\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 9, \"a2a\": [\"named-uuid\", \"row10\"]},
       \"uuid-name\": \"row9\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 10, \"a2a\": [\"named-uuid\", \"row11\"]},
       \"uuid-name\": \"row10\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 11, \"a2a\": [\"named-uuid\", \"row8\"]},
       \"uuid-name\": \"row11\"}]' '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"],
       \"sort\": [\"a\"]}]' '   [\"gc\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 9]],
       \"row\": {\"a2a\": [\"set\", []]}}]' '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]' '   [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 12, \"a2a\": [\"named-uuid\", \"self\"]},
       \"uuid-name\": \"self\"}]' '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-execution.at:1099"
( $at_check_trace; test-ovsdb execute "`gc_schema`"  '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0}}]' '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]' '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0, "a2a": ["named-uuid", "row1"]},
       "uuid-name": "row0"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1, "a2a": ["named-uuid", "row2"]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2, "a2a": ["named-uuid", "row3"]},
       "uuid-name": "row2"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 3},
       "uuid-name": "row3"}]' '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]' '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 4, "a2a": ["named-uuid", "row5"]},
       "uuid-name": "row4"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 5, "a2a": ["named-uuid", "row4"]},
       "uuid-name": "row5"}]' '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"],
       "sort": ["a"]}]' '   ["gc",
      {"op": "update",
       "table": "a",
       "where": [["a", "==", 4]],
       "row": {"a2a": ["set", []]}}]' '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]' '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 6, "wa2a": ["named-uuid", "row7"]},
       "uuid-name": "row6"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 7, "wa2a": ["named-uuid", "row6"]},
       "uuid-name": "row7"}]' '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]' '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 8, "a2a": ["named-uuid", "row9"]},
       "uuid-name": "row8"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 9, "a2a": ["named-uuid", "row10"]},
       "uuid-name": "row9"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 10, "a2a": ["named-uuid", "row11"]},
       "uuid-name": "row10"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 11, "a2a": ["named-uuid", "row8"]},
       "uuid-name": "row11"}]' '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"],
       "sort": ["a"]}]' '   ["gc",
      {"op": "update",
       "table": "a",
       "where": [["a", "==", 9]],
       "row": {"a2a": ["set", []]}}]' '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]' '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 12, "a2a": ["named-uuid", "self"]},
       "uuid-name": "self"}]' '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-execution.at:1099: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-execution.at:1099"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<5>\"]},{\"uuid\":[\"uuid\",\"<6>\"]}]
[{\"rows\":[{\"a\":4},{\"a\":5}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<7>\"]},{\"uuid\":[\"uuid\",\"<8>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<9>\"]},{\"uuid\":[\"uuid\",\"<10>\"]},{\"uuid\":[\"uuid\",\"<11>\"]},{\"uuid\":[\"uuid\",\"<12>\"]}]
[{\"rows\":[{\"a\":8},{\"a\":9},{\"a\":10},{\"a\":11}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<13>\"]}]
[{\"rows\":[]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-execution.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1063
#AT_START_1064
at_fn_group_banner 1064 'ovsdb-trigger.at:15' \
  "trigger fires immediately" "                      " 69
at_xfail=no
(
  $as_echo "1064. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-trigger.at:15: test-ovsdb trigger \"\`ordinal_schema\`\" \\
    '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 10,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1}]},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 2, \"name\": \"two\"}}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-trigger.at:15"
( $at_check_trace; test-ovsdb trigger "`ordinal_schema`" \
    '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 10,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1}]},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 2, "name": "two"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-trigger.at:15"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-trigger.at:15: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-trigger.at:15"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "t=0: trigger 0 (immediate): [{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{},{\"uuid\":[\"uuid\",\"<2>\"]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-trigger.at:15"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1064
#AT_START_1065
at_fn_group_banner 1065 'ovsdb-trigger.at:38' \
  "trigger times out" "                              " 69
at_xfail=no
(
  $as_echo "1065. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-trigger.at:38: test-ovsdb trigger \"\`ordinal_schema\`\" \\
    '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 10,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1},
                {\"name\": \"two\", \"number\": 2}]}]' \\
    '[\"advance\", 10]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-trigger.at:38"
( $at_check_trace; test-ovsdb trigger "`ordinal_schema`" \
    '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 10,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1},
                {"name": "two", "number": 2}]}]' \
    '["advance", 10]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-trigger.at:38"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-trigger.at:38: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-trigger.at:38"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "t=0: new trigger 0
t=10: trigger 0 (delayed): [{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out after 10 ms\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-trigger.at:38"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1065
#AT_START_1066
at_fn_group_banner 1066 'ovsdb-trigger.at:61' \
  "trigger fires after delay" "                      " 69
at_xfail=no
(
  $as_echo "1066. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-trigger.at:61: test-ovsdb trigger \"\`ordinal_schema\`\" \\
    '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}}]' \\
    '[\"advance\", 5]' \\
    '[\"ordinals\",
      {\"op\": \"wait\",
       \"timeout\": 10,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1},
                {\"name\": \"two\", \"number\": 2}]}]' \\
    '[\"advance\", 5]' \\
    '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 2, \"name\": \"two\"}}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-trigger.at:61"
( $at_check_trace; test-ovsdb trigger "`ordinal_schema`" \
    '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}}]' \
    '["advance", 5]' \
    '["ordinals",
      {"op": "wait",
       "timeout": 10,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1},
                {"name": "two", "number": 2}]}]' \
    '["advance", 5]' \
    '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 2, "name": "two"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-trigger.at:61"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-trigger.at:61: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-trigger.at:61"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "t=0: trigger 0 (immediate): [{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]}]
t=5: new trigger 1
t=10: trigger 2 (immediate): [{\"uuid\":[\"uuid\",\"<2>\"]}]
t=10: trigger 1 (delayed): [{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-trigger.at:61"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1066
#AT_START_1067
at_fn_group_banner 1067 'ovsdb-trigger.at:92' \
  "delayed trigger modifies database" "              " 69
at_xfail=no
(
  $as_echo "1067. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-trigger.at:92: test-ovsdb trigger \"\`ordinal_schema\`\" \\
    '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}}]' \\
    '[\"advance\", 5]' \\
    '[\"ordinals\",
      {\"op\": \"wait\",
       \"timeout\": 10,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1},
                {\"name\": \"two\", \"number\": 2}]},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"number\", \"<\", 2]]}]' \\
    '[\"advance\", 5]' \\
    '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 2, \"name\": \"two\"}}]' \\
    '[\"advance\", 5]' \\
    '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-trigger.at:92"
( $at_check_trace; test-ovsdb trigger "`ordinal_schema`" \
    '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}}]' \
    '["advance", 5]' \
    '["ordinals",
      {"op": "wait",
       "timeout": 10,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1},
                {"name": "two", "number": 2}]},
      {"op": "delete",
       "table": "ordinals",
       "where": [["number", "<", 2]]}]' \
    '["advance", 5]' \
    '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 2, "name": "two"}}]' \
    '["advance", 5]' \
    '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-trigger.at:92"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-trigger.at:92: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-trigger.at:92"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "t=0: trigger 0 (immediate): [{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]}]
t=5: new trigger 1
t=10: trigger 2 (immediate): [{\"uuid\":[\"uuid\",\"<2>\"]}]
t=10: trigger 1 (delayed): [{},{\"count\":2}]
t=15: trigger 3 (immediate): [{\"rows\":[{\"_uuid\":[\"uuid\",\"<2>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"two\",\"number\":2}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-trigger.at:92"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1067
#AT_START_1068
at_fn_group_banner 1068 'ovsdb-trigger.at:132' \
  "one delayed trigger wakes up another" "           " 69
at_xfail=no
(
  $as_echo "1068. $at_setup_line: testing $at_desc ..."
  $at_traceon


   { set +x
$as_echo "$at_srcdir/ovsdb-trigger.at:132: test-ovsdb trigger \"\`ordinal_schema\`\" \\
    '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}}]' \\
    '[\"advance\", 5]' \\
    '[\"ordinals\",
      {\"op\": \"wait\",
       \"timeout\": 10,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"two\", \"number\": 2}]},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"number\", \"==\", 2]]},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 3, \"name\": \"three\"}}]' \\
    '[\"ordinals\",
      {\"op\": \"wait\",
       \"timeout\": 10,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1},
                {\"name\": \"two\", \"number\": 2}]},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"number\", \"<\", 2]]}]' \\
    '[\"advance\", 5]' \\
    '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 2, \"name\": \"two\"}}]' \\
    '[\"advance\", 5]' \\
    '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-trigger.at:132"
( $at_check_trace; test-ovsdb trigger "`ordinal_schema`" \
    '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}}]' \
    '["advance", 5]' \
    '["ordinals",
      {"op": "wait",
       "timeout": 10,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "two", "number": 2}]},
      {"op": "delete",
       "table": "ordinals",
       "where": [["number", "==", 2]]},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 3, "name": "three"}}]' \
    '["ordinals",
      {"op": "wait",
       "timeout": 10,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1},
                {"name": "two", "number": 2}]},
      {"op": "delete",
       "table": "ordinals",
       "where": [["number", "<", 2]]}]' \
    '["advance", 5]' \
    '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 2, "name": "two"}}]' \
    '["advance", 5]' \
    '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-trigger.at:132"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-trigger.at:132: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-trigger.at:132"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "t=0: trigger 0 (immediate): [{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]}]
t=5: new trigger 1
t=5: new trigger 2
t=10: trigger 3 (immediate): [{\"uuid\":[\"uuid\",\"<2>\"]}]
t=10: trigger 2 (delayed): [{},{\"count\":2}]
t=15: trigger 1 (delayed): [{},{\"count\":1},{\"uuid\":[\"uuid\",\"<3>\"]}]
t=15: trigger 4 (immediate): [{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"_version\":[\"uuid\",\"<4>\"],\"name\":\"three\",\"number\":3}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-trigger.at:132"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1068
#AT_START_1069
at_fn_group_banner 1069 'ovsdb-tool.at:30' \
  "insert default row, query table" "                " 70
at_xfail=no
(
  $as_echo "1069. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"\",\"number\":0}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1069
#AT_START_1070
at_fn_group_banner 1070 'ovsdb-tool.at:30' \
  "insert row, query table" "                        " 70
at_xfail=no
(
  $as_echo "1070. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1070
#AT_START_1071
at_fn_group_banner 1071 'ovsdb-tool.at:30' \
  "insert rows, query by value" "                    " 70
at_xfail=no
(
  $as_echo "1071. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [["name", "==", "zero"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"one\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [["name", "==", "one"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1071
#AT_START_1072
at_fn_group_banner 1072 'ovsdb-tool.at:30' \
  "insert rows, query by named-uuid" "               " 70
at_xfail=no
(
  $as_echo "1072. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"second\"},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"first\"]]]},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"second\"]]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "select",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "first"]]]},
      {"op": "select",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "second"]]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0}]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1072
#AT_START_1073
at_fn_group_banner 1073 'ovsdb-tool.at:30' \
  "insert rows, update rows by value" "              " 70
at_xfail=no
(
  $as_echo "1073. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]],
       \"row\": {\"name\": \"nought\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "zero"]],
       "row": {"name": "nought"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"nought\",\"number\":0},{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1073
#AT_START_1074
at_fn_group_banner 1074 'ovsdb-tool.at:30' \
  "insert rows, mutate rows" "                       " 70
at_xfail=no
(
  $as_echo "1074. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"mutate\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]],
       \"mutations\": [[\"number\", \"+=\", 2]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "mutate",
       "table": "ordinals",
       "where": [["name", "==", "zero"]],
       "mutations": [["number", "+=", 2]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"one\",\"number\":1},{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"zero\",\"number\":2}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1074
#AT_START_1075
at_fn_group_banner 1075 'ovsdb-tool.at:30' \
  "insert rows, delete by named-uuid" "              " 70
at_xfail=no
(
  $as_echo "1075. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"second\"},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"first\"]]]},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\",\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "delete",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "first"]]]},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["name","number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"count\":1},{\"rows\":[{\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1075
#AT_START_1076
at_fn_group_banner 1076 'ovsdb-tool.at:30' \
  "insert rows, delete rows by value" "              " 70
at_xfail=no
(
  $as_echo "1076. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "zero"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1076
#AT_START_1077
at_fn_group_banner 1077 'ovsdb-tool.at:30' \
  "insert rows, delete by (non-matching) value" "    " 70
at_xfail=no
(
  $as_echo "1077. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"nought\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "nought"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":0}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0},{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1077
#AT_START_1078
at_fn_group_banner 1078 'ovsdb-tool.at:30' \
  "insert rows, delete all" "                        " 70
at_xfail=no
(
  $as_echo "1078. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"second\"},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\",\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "delete",
       "table": "ordinals",
       "where": []},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["name","number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"count\":2},{\"rows\":[]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1078
#AT_START_1079
at_fn_group_banner 1079 'ovsdb-tool.at:30' \
  "insert row, query table, commit" "                " 70
at_xfail=no
(
  $as_echo "1079. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"commit\",
       \"durable\": false}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "select",
       "table": "ordinals",
       "where": []},
      {"op": "commit",
       "durable": false}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1079
#AT_START_1080
at_fn_group_banner 1080 'ovsdb-tool.at:30' \
  "insert row, query table, commit durably" "        " 70
at_xfail=no
(
  $as_echo "1080. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"commit\",
       \"durable\": true}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "select",
       "table": "ordinals",
       "where": []},
      {"op": "commit",
       "durable": true}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1080
#AT_START_1081
at_fn_group_banner 1081 'ovsdb-tool.at:30' \
  "equality wait with correct rows" "                " 70
at_xfail=no
(
  $as_echo "1081. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1081
#AT_START_1082
at_fn_group_banner 1082 'ovsdb-tool.at:30' \
  "equality wait with extra row" "                   " 70
at_xfail=no
(
  $as_echo "1082. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1},
                {\"name\": \"two\", \"number\": 2}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1},
                {"name": "two", "number": 2}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1082
#AT_START_1083
at_fn_group_banner 1083 'ovsdb-tool.at:30' \
  "equality wait with missing row" "                 " 70
at_xfail=no
(
  $as_echo "1083. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1083
#AT_START_1084
at_fn_group_banner 1084 'ovsdb-tool.at:30' \
  "inequality wait with correct rows" "              " 70
at_xfail=no
(
  $as_echo "1084. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"!=\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1084
#AT_START_1085
at_fn_group_banner 1085 'ovsdb-tool.at:30' \
  "inequality wait with extra row" "                 " 70
at_xfail=no
(
  $as_echo "1085. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"!=\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1},
                {\"name\": \"two\", \"number\": 2}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1},
                {"name": "two", "number": 2}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1085
#AT_START_1086
at_fn_group_banner 1086 'ovsdb-tool.at:30' \
  "inequality wait with missing row" "               " 70
at_xfail=no
(
  $as_echo "1086. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"!=\",
       \"rows\": [{\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1086
#AT_START_1087
at_fn_group_banner 1087 'ovsdb-tool.at:30' \
  "insert and update constraints" "                  " 70
at_xfail=no
(
  $as_echo "1087. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   constraint_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {\"positive\": -1}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": -1}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"update\",
       \"table\": \"constrained\",
       \"where\": [],
       \"row\": {\"positive\": -2}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "update",
       "table": "constrained",
       "where": [],
       "row": {"positive": -2}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {\"positive\": 1}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": 1}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {\"positive\": 2}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": 2}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"details\":\"0 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"details\":\"-1 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"details\":\"-2 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"transaction causes \\\"constrained\\\" table to contain 2 rows, greater than the schema-defined limit of 1 row(s)\",\"error\":\"constraint violation\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1087
#AT_START_1088
at_fn_group_banner 1088 'ovsdb-tool.at:30' \
  "index uniqueness checking" "                      " 70
at_xfail=no
(
  $as_echo "1088. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '   [\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"another one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "another one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '   [\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"another one\"}},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"one\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "another one"}},
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "one"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '   [\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"still another one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '   ["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": []},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "still another one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '   [\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 2, \"name\": \"two\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 2, "name": "two"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '   [\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"row\": {\"number\": 3}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '   ["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [],
       "row": {"number": 3}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '   [\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"number\", \"==\", 1]],
       \"row\": {\"number\": 2, \"name\": \"old two\"}},
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"two\"]],
       \"row\": {\"number\": 1, \"name\": \"old one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '   ["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["number", "==", 1]],
       "row": {"number": 2, "name": "old two"}},
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "two"]],
       "row": {"number": 1, "name": "old one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '   [\"ordinals\",
      {\"op\": \"mutate\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"mutations\": [[\"number\", \"*=\", 10]]},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"new one\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 2, \"name\": \"new two\"}},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"number\", \"name\"],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '   ["ordinals",
      {"op": "mutate",
       "table": "ordinals",
       "where": [],
       "mutations": [["number", "*=", 10]]},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "new one"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 2, "name": "new two"}},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["number", "name"],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (1) for index on column \\\"number\\\".  First row, with UUID <0>, existed in the database before this transaction and was not modified by the transaction.  Second row, with UUID <1>, was inserted by this transaction.\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<2>\"]},{\"count\":1}]
[{\"count\":1},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (1) for index on column \\\"number\\\".  First row, with UUID <4>, was inserted by this transaction.  Second row, with UUID <3>, was inserted by this transaction.\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<5>\"]}]
[{\"count\":2},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (3) for index on column \\\"number\\\".  First row, with UUID <5>, had the following index values before the transaction: 2.  Second row, with UUID <2>, had the following index values before the transaction: 1.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"count\":1}]
[{\"count\":2},{\"uuid\":[\"uuid\",\"<6>\"]},{\"uuid\":[\"uuid\",\"<7>\"]},{\"rows\":[{\"name\":\"new one\",\"number\":1},{\"name\":\"new two\",\"number\":2},{\"name\":\"old one\",\"number\":10},{\"name\":\"old two\",\"number\":20}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1088
#AT_START_1089
at_fn_group_banner 1089 'ovsdb-tool.at:30' \
  "referential integrity -- simple" "                " 70
at_xfail=no
(
  $as_echo "1089. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   constraint_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 1},
       \"uuid-name\": \"brow\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0,
               \"a2b\": [\"set\", [[\"named-uuid\", \"brow\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 1,
               \"a2b\": [\"set\", [[\"named-uuid\", \"brow\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 2,
               \"a2b\": [\"set\", [[\"named-uuid\", \"brow\"]]]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "insert",
       "table": "b",
       "row": {"b": 1},
       "uuid-name": "brow"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2b": ["set", [["named-uuid", "brow"]]]}},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1,
               "a2b": ["set", [["named-uuid", "brow"]]]}},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2,
               "a2b": ["set", [["named-uuid", "brow"]]]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '   [\"constraints\",
      {\"op\": \"mutate\",
       \"table\": \"b\",
       \"where\": [],
       \"mutations\": [[\"x\", \"delete\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '   ["constraints",
      {"op": "mutate",
       "table": "b",
       "where": [],
       "mutations": [["x", "delete", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 2]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 2]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 3 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"details\":\"Attempted to store 0 elements in set of 1 to 2 integers.\",\"error\":\"constraint violation\"}]
[{\"count\":1}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 2 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1}]
[{\"count\":1}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1089
#AT_START_1090
at_fn_group_banner 1090 'ovsdb-tool.at:30' \
  "referential integrity -- mutual references" "     " 70
at_xfail=no
(
  $as_echo "1090. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   constraint_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0,
               \"a2b\": [\"set\", [[\"named-uuid\", \"row2\"]]],
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"]]]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 1,
               \"b2b\": [\"set\", [[\"named-uuid\", \"row2\"]]],
               \"b2a\": [\"set\", [[\"named-uuid\", \"row1\"]]]},
       \"uuid-name\": \"row2\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2b": ["set", [["named-uuid", "row2"]]],
               "a2a": ["set", [["named-uuid", "row1"]]]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "b",
       "row": {"b": 1,
               "b2b": ["set", [["named-uuid", "row2"]]],
               "b2a": ["set", [["named-uuid", "row1"]]]},
       "uuid-name": "row2"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a2b\": [\"set\", [[\"uuid\", \"b516b960-5b19-4fc2-bb82-fe1cbd6d0241\"]]]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "insert",
       "table": "a",
       "row": {"a2b": ["set", [["uuid", "b516b960-5b19-4fc2-bb82-fe1cbd6d0241"]]]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '   [\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '   ["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]},
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]},
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"uuid\":[\"uuid\",\"<2>\"]},{\"details\":\"Table a column a2b row <2> references nonexistent row <3> in table b.\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete a row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete b row <1> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete a row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete b row <1> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"count\":1}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1090
#AT_START_1091
at_fn_group_banner 1091 'ovsdb-tool.at:30' \
  "weak references" "                                " 70
at_xfail=no
(
  $as_echo "1091. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   weak_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"weak\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0,
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"],
                               [\"named-uuid\", \"row2\"],
                               [\"uuid\", \"0e767b36-6822-4044-8307-d58467e04669\"]]],
               \"a2a1\": [\"named-uuid\", \"row1\"],
               \"a2b\": [\"named-uuid\", \"row3\"]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 1,
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"],
                               [\"named-uuid\", \"row2\"]]],
               \"a2a1\": [\"named-uuid\", \"row2\"],
               \"a2b\": [\"named-uuid\", \"row3\"]},
       \"uuid-name\": \"row2\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 2,
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"],
                               [\"named-uuid\", \"row2\"]]],
               \"a2a1\": [\"named-uuid\", \"row2\"],
               \"a2b\": [\"named-uuid\", \"row4\"]}},
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 2,
               \"b2a\": [\"named-uuid\", \"row1\"]},
       \"uuid-name\": \"row3\"},
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 3,
               \"b2a\": [\"named-uuid\", \"row2\"]},
       \"uuid-name\": \"row4\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["weak",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"],
                               ["uuid", "0e767b36-6822-4044-8307-d58467e04669"]]],
               "a2a1": ["named-uuid", "row1"],
               "a2b": ["named-uuid", "row3"]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"]]],
               "a2a1": ["named-uuid", "row2"],
               "a2b": ["named-uuid", "row3"]},
       "uuid-name": "row2"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"]]],
               "a2a1": ["named-uuid", "row2"],
               "a2b": ["named-uuid", "row4"]}},
      {"op": "insert",
       "table": "b",
       "row": {"b": 2,
               "b2a": ["named-uuid", "row1"]},
       "uuid-name": "row3"},
      {"op": "insert",
       "table": "b",
       "row": {"b": 3,
               "b2a": ["named-uuid", "row2"]},
       "uuid-name": "row4"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '      [\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '      ["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '      [\"weak\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a2a1\": [\"named-uuid\", \"me\"]},
       \"uuid-name\": \"me\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '      ["weak",
      {"op": "insert",
       "table": "a",
       "row": {"a2a1": ["named-uuid", "me"]},
       "uuid-name": "me"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '      [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 3]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '      ["weak",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 3]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '      [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '      ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '      [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 2]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '      ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 2]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '   [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '   ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '   [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '   ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<0>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<2>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<4>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"uuid\",\"<0>\"]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"uuid\":[\"uuid\",\"<5>\"]},{\"details\":\"Weak reference column \\\"a2b\\\" in \\\"a\\\" row <5> (inserted within this transaction) contained all-zeros UUID (probably as the default value for this column) but deleting this value caused a constraint volation because this column is not allowed to be empty.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"details\":\"Deletion of 1 weak reference(s) to deleted (or never-existing) rows from column \\\"a2b\\\" in \\\"a\\\" row <2> caused this column to become empty, but constraints on this column disallow an empty column.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"details\":\"Deletion of 1 weak reference(s) to deleted (or never-existing) rows from column \\\"a2a1\\\" in \\\"a\\\" row <2> caused this column to become empty, but constraints on this column disallow an empty column.\",\"error\":\"constraint violation\"}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<0>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"uuid\",\"<0>\"]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"uuid\",\"<1>\"],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"set\",[]]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"set\",[]]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"set\",[]]}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1091
#AT_START_1092
at_fn_group_banner 1092 'ovsdb-tool.at:30' \
  "immutable columns" "                              " 70
at_xfail=no
(
  $as_echo "1092. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   immutable_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"immutable\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"i\": 5},
       \"uuid-name\": \"row1\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["immutable",
      {"op": "insert",
       "table": "a",
       "row": {"i": 5},
       "uuid-name": "row1"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"immutable\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"row\": {\"i\": 10},
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["immutable",
      {"op": "update",
       "table": "a",
       "row": {"i": 10},
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"immutable\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"row\": {\"i\": 5},
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["immutable",
      {"op": "update",
       "table": "a",
       "row": {"i": 5},
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"immutable\",
      {\"op\": \"mutate\",
       \"table\": \"a\",
       \"where\": [],
       \"mutations\": [[\"i\", \"-=\", 5]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["immutable",
      {"op": "mutate",
       "table": "a",
       "where": [],
       "mutations": [["i", "-=", 5]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"immutable\",
      {\"op\": \"mutate\",
       \"table\": \"a\",
       \"where\": [],
       \"mutations\": [[\"i\", \"*=\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["immutable",
      {"op": "mutate",
       "table": "a",
       "where": [],
       "mutations": [["i", "*=", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"details\":\"Cannot update immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"{\\\"op\\\":\\\"update\\\",\\\"row\\\":{\\\"i\\\":10},\\\"table\\\":\\\"a\\\",\\\"where\\\":[]}\"}]
[{\"details\":\"Cannot update immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"{\\\"op\\\":\\\"update\\\",\\\"row\\\":{\\\"i\\\":5},\\\"table\\\":\\\"a\\\",\\\"where\\\":[]}\"}]
[{\"details\":\"Cannot mutate immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"[\\\"i\\\",\\\"-=\\\",5]\"}]
[{\"details\":\"Cannot mutate immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"[\\\"i\\\",\\\"*=\\\",1]\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1092
#AT_START_1093
at_fn_group_banner 1093 'ovsdb-tool.at:30' \
  "garbage collection" "                             " 70
at_xfail=no
(
  $as_echo "1093. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   gc_schema > schema
   touch .db.~lock~
   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '   [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '      [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0, \"a2a\": [\"named-uuid\", \"row1\"]},
       \"uuid-name\": \"row0\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 1, \"a2a\": [\"named-uuid\", \"row2\"]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 2, \"a2a\": [\"named-uuid\", \"row3\"]},
       \"uuid-name\": \"row2\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 3},
       \"uuid-name\": \"row3\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0, "a2a": ["named-uuid", "row1"]},
       "uuid-name": "row0"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1, "a2a": ["named-uuid", "row2"]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2, "a2a": ["named-uuid", "row3"]},
       "uuid-name": "row2"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 3},
       "uuid-name": "row3"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '      [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 4, \"a2a\": [\"named-uuid\", \"row5\"]},
       \"uuid-name\": \"row4\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 5, \"a2a\": [\"named-uuid\", \"row4\"]},
       \"uuid-name\": \"row5\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 4, "a2a": ["named-uuid", "row5"]},
       "uuid-name": "row4"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 5, "a2a": ["named-uuid", "row4"]},
       "uuid-name": "row5"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '   [\"gc\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 4]],
       \"row\": {\"a2a\": [\"set\", []]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '   ["gc",
      {"op": "update",
       "table": "a",
       "where": [["a", "==", 4]],
       "row": {"a2a": ["set", []]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '      [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 6, \"wa2a\": [\"named-uuid\", \"row7\"]},
       \"uuid-name\": \"row6\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 7, \"wa2a\": [\"named-uuid\", \"row6\"]},
       \"uuid-name\": \"row7\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 6, "wa2a": ["named-uuid", "row7"]},
       "uuid-name": "row6"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 7, "wa2a": ["named-uuid", "row6"]},
       "uuid-name": "row7"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '   [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 8, \"a2a\": [\"named-uuid\", \"row9\"]},
       \"uuid-name\": \"row8\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 9, \"a2a\": [\"named-uuid\", \"row10\"]},
       \"uuid-name\": \"row9\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 10, \"a2a\": [\"named-uuid\", \"row11\"]},
       \"uuid-name\": \"row10\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 11, \"a2a\": [\"named-uuid\", \"row8\"]},
       \"uuid-name\": \"row11\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 8, "a2a": ["named-uuid", "row9"]},
       "uuid-name": "row8"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 9, "a2a": ["named-uuid", "row10"]},
       "uuid-name": "row9"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 10, "a2a": ["named-uuid", "row11"]},
       "uuid-name": "row10"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 11, "a2a": ["named-uuid", "row8"]},
       "uuid-name": "row11"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '   [\"gc\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 9]],
       \"row\": {\"a2a\": [\"set\", []]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '   ["gc",
      {"op": "update",
       "table": "a",
       "where": [["a", "==", 9]],
       "row": {"a2a": ["set", []]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '   [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 12, \"a2a\": [\"named-uuid\", \"self\"]},
       \"uuid-name\": \"self\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 12, "a2a": ["named-uuid", "self"]},
       "uuid-name": "self"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: ovsdb-tool transact db '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:30"
( $at_check_trace; ovsdb-tool transact db '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-tool.at:30: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:30"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<5>\"]},{\"uuid\":[\"uuid\",\"<6>\"]}]
[{\"rows\":[{\"a\":4},{\"a\":5}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<7>\"]},{\"uuid\":[\"uuid\",\"<8>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<9>\"]},{\"uuid\":[\"uuid\",\"<10>\"]},{\"uuid\":[\"uuid\",\"<11>\"]},{\"uuid\":[\"uuid\",\"<12>\"]}]
[{\"rows\":[{\"a\":8},{\"a\":9},{\"a\":10},{\"a\":11}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<13>\"]}]
[{\"rows\":[]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:30"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1093
#AT_START_1094
at_fn_group_banner 1094 'ovsdb-tool.at:32' \
  "transaction comments" "                           " 70
at_xfail=no
(
  $as_echo "1094. $at_setup_line: testing $at_desc ..."
  $at_traceon


ordinal_schema > schema
touch .db.~lock~
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:36: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:36"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:36"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:37: ovsdb-tool transact db '
    [\"ordinals\",
     {\"op\": \"insert\",
      \"table\": \"ordinals\",
      \"row\": {\"name\": \"five\", \"number\": 5}},
     {\"op\": \"comment\",
      \"comment\": \"add row for 5\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:37"
( $at_check_trace; ovsdb-tool transact db '
    ["ordinals",
     {"op": "insert",
      "table": "ordinals",
      "row": {"name": "five", "number": 5}},
     {"op": "comment",
      "comment": "add row for 5"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:37"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:44: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:44"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:44"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:47: grep \"add row for 5\" db"
at_fn_check_prepare_trace "ovsdb-tool.at:47"
( $at_check_trace; grep "add row for 5" db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:47"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1094
#AT_START_1095
at_fn_group_banner 1095 'ovsdb-tool.at:50' \
  "ovsdb-tool compact" "                             " 70
at_xfail=no
(
  $as_echo "1095. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
ordinal_schema > schema
mkdir dir
: > dir/.db.~lock~
ln -s dir/db db
$as_echo "ovsdb-tool.at:61" >"$at_check_line_file"
(test ! -h db) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-tool.at:61"
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:62: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:62"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:62"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:63: test ! -e .db.~lock"
at_fn_check_prepare_trace "ovsdb-tool.at:63"
( $at_check_trace; test ! -e .db.~lock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:63"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:64: test -h db"
at_fn_check_prepare_trace "ovsdb-tool.at:64"
( $at_check_trace; test -h db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:64"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:65: test -f dir/db"
at_fn_check_prepare_trace "ovsdb-tool.at:65"
( $at_check_trace; test -f dir/db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:65"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:67: for pair in 'zero 0' 'one 1' 'two 2' 'three 3' 'four 4' 'five 5'; do
      set -- \$pair
      ovsdb-tool transact db '
        [\"ordinals\",
         {\"op\": \"insert\",
          \"table\": \"ordinals\",
          \"row\": {\"name\": \"'\$1'\", \"number\": '\$2'}},
         {\"op\": \"comment\",
          \"comment\": \"add row for '\"\$pair\"'\"}]'
      ovsdb-tool transact db '
        [\"ordinals\",
         {\"op\": \"delete\",
          \"table\": \"ordinals\",
          \"where\": [[\"number\", \"==\", '\$2']]},
         {\"op\": \"comment\",
          \"comment\": \"delete row for '\"\$2\"'\"}]'
      ovsdb-tool transact db '
        [\"ordinals\",
         {\"op\": \"insert\",
          \"table\": \"ordinals\",
          \"row\": {\"name\": \"'\$1'\", \"number\": '\$2'}},
         {\"op\": \"comment\",
          \"comment\": \"add back row for '\"\$pair\"'\"}]'
    done"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:67"
( $at_check_trace; for pair in 'zero 0' 'one 1' 'two 2' 'three 3' 'four 4' 'five 5'; do
      set -- $pair
      ovsdb-tool transact db '
        ["ordinals",
         {"op": "insert",
          "table": "ordinals",
          "row": {"name": "'$1'", "number": '$2'}},
         {"op": "comment",
          "comment": "add row for '"$pair"'"}]'
      ovsdb-tool transact db '
        ["ordinals",
         {"op": "delete",
          "table": "ordinals",
          "where": [["number", "==", '$2']]},
         {"op": "comment",
          "comment": "delete row for '"$2"'"}]'
      ovsdb-tool transact db '
        ["ordinals",
         {"op": "insert",
          "table": "ordinals",
          "row": {"name": "'$1'", "number": '$2'}},
         {"op": "comment",
          "comment": "add back row for '"$pair"'"}]'
    done
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:67"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:94: \${PERL} \$srcdir/uuidfilt.pl db | grep -v ^OVSDB | sed 's/\"_date\":[0-9]*/\"_date\":0/' | test-json --multiple -"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:94"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl db | grep -v ^OVSDB | sed 's/"_date":[0-9]*/"_date":0/' | test-json --multiple -
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"cksum\":\"12345678 9\",\"name\":\"ordinals\",\"tables\":{\"ordinals\":{\"columns\":{\"name\":{\"type\":\"string\"},\"number\":{\"type\":\"integer\"}},\"indexes\":[[\"number\"]]}},\"version\":\"5.1.3\"}
{\"_comment\":\"add row for zero 0\",\"_date\":0,\"ordinals\":{\"<0>\":{\"name\":\"zero\"}}}
{\"_comment\":\"delete row for 0\",\"_date\":0,\"ordinals\":{\"<0>\":null}}
{\"_comment\":\"add back row for zero 0\",\"_date\":0,\"ordinals\":{\"<1>\":{\"name\":\"zero\"}}}
{\"_comment\":\"add row for one 1\",\"_date\":0,\"ordinals\":{\"<2>\":{\"name\":\"one\",\"number\":1}}}
{\"_comment\":\"delete row for 1\",\"_date\":0,\"ordinals\":{\"<2>\":null}}
{\"_comment\":\"add back row for one 1\",\"_date\":0,\"ordinals\":{\"<3>\":{\"name\":\"one\",\"number\":1}}}
{\"_comment\":\"add row for two 2\",\"_date\":0,\"ordinals\":{\"<4>\":{\"name\":\"two\",\"number\":2}}}
{\"_comment\":\"delete row for 2\",\"_date\":0,\"ordinals\":{\"<4>\":null}}
{\"_comment\":\"add back row for two 2\",\"_date\":0,\"ordinals\":{\"<5>\":{\"name\":\"two\",\"number\":2}}}
{\"_comment\":\"add row for three 3\",\"_date\":0,\"ordinals\":{\"<6>\":{\"name\":\"three\",\"number\":3}}}
{\"_comment\":\"delete row for 3\",\"_date\":0,\"ordinals\":{\"<6>\":null}}
{\"_comment\":\"add back row for three 3\",\"_date\":0,\"ordinals\":{\"<7>\":{\"name\":\"three\",\"number\":3}}}
{\"_comment\":\"add row for four 4\",\"_date\":0,\"ordinals\":{\"<8>\":{\"name\":\"four\",\"number\":4}}}
{\"_comment\":\"delete row for 4\",\"_date\":0,\"ordinals\":{\"<8>\":null}}
{\"_comment\":\"add back row for four 4\",\"_date\":0,\"ordinals\":{\"<9>\":{\"name\":\"four\",\"number\":4}}}
{\"_comment\":\"add row for five 5\",\"_date\":0,\"ordinals\":{\"<10>\":{\"name\":\"five\",\"number\":5}}}
{\"_comment\":\"delete row for 5\",\"_date\":0,\"ordinals\":{\"<10>\":null}}
{\"_comment\":\"add back row for five 5\",\"_date\":0,\"ordinals\":{\"<11>\":{\"name\":\"five\",\"number\":5}}}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:94"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:116: ovsdb-server --unixctl=\"\`pwd\`\"/unixctl --remote=punix:socket --run \"ovsdb-client dump unix:socket ordinals\" db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-tool.at:116"
( $at_check_trace; ovsdb-server --unixctl="`pwd`"/unixctl --remote=punix:socket --run "ovsdb-client dump unix:socket ordinals" db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:116"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:118: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:118"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ordinals table
_uuid                                name  number
------------------------------------ ----- ------
<0> five  5     
<1> four  4     
<2> one   1     
<3> three 3     
<4> two   2     
<5> zero  0     
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:118"
$at_failed && at_fn_log_failure
$at_traceon; }

touch .db.tmp.~lock~
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:131: ovsdb-tool compact db"
at_fn_check_prepare_trace "ovsdb-tool.at:131"
( $at_check_trace; ovsdb-tool compact db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:131"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:134: test ! -e .db.~lock"
at_fn_check_prepare_trace "ovsdb-tool.at:134"
( $at_check_trace; test ! -e .db.~lock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:134"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:135: test -h db"
at_fn_check_prepare_trace "ovsdb-tool.at:135"
( $at_check_trace; test -h db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:135"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:136: test -f dir/db"
at_fn_check_prepare_trace "ovsdb-tool.at:136"
( $at_check_trace; test -f dir/db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:136"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:141: test \`wc -l < db\` -eq 4"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-tool.at:141"
( $at_check_trace; test `wc -l < db` -eq 4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:141"
$at_failed && at_fn_log_failure  \
"db"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:143: ovsdb-server --unixctl=\"\`pwd\`\"/unixctl --remote=punix:socket --run \"ovsdb-client dump unix:socket ordinals\" db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-tool.at:143"
( $at_check_trace; ovsdb-server --unixctl="`pwd`"/unixctl --remote=punix:socket --run "ovsdb-client dump unix:socket ordinals" db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:143"
$at_failed && at_fn_log_failure  \
"db"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:145: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:145"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ordinals table
_uuid                                name  number
------------------------------------ ----- ------
<0> five  5     
<1> four  4     
<2> one   1     
<3> three 3     
<4> two   2     
<5> zero  0     
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:145"
$at_failed && at_fn_log_failure  \
"db"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1095
#AT_START_1096
at_fn_group_banner 1096 'ovsdb-tool.at:158' \
  "ovsdb-tool convert -- removing a column" "        " 70
at_xfail=no
(
  $as_echo "1096. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
ordinal_schema > schema
cat >new-schema <<'_ATEOF'
{"name": "ordinals",
     "tables": {
       "ordinals": {
         "columns": {
           "number": {"type": "integer"}}}}}
_ATEOF

touch .db.~lock~
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:170: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:170"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:170"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:172: for pair in 'zero 0' 'one 1' 'two 2' 'three 3' 'four 4' 'five 5'; do
      set -- \$pair
      ovsdb-tool transact db '
        [\"ordinals\",
         {\"op\": \"insert\",
          \"table\": \"ordinals\",
          \"row\": {\"name\": \"'\$1'\", \"number\": '\$2'}},
         {\"op\": \"comment\",
          \"comment\": \"add row for '\"\$pair\"'\"}]'
    done"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:172"
( $at_check_trace; for pair in 'zero 0' 'one 1' 'two 2' 'three 3' 'four 4' 'five 5'; do
      set -- $pair
      ovsdb-tool transact db '
        ["ordinals",
         {"op": "insert",
          "table": "ordinals",
          "row": {"name": "'$1'", "number": '$2'}},
         {"op": "comment",
          "comment": "add row for '"$pair"'"}]'
    done
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:172"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:185: ovsdb-server --unixctl=\"\`pwd\`\"/unixctl --remote=punix:socket --run \"ovsdb-client dump unix:socket ordinals\" db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-tool.at:185"
( $at_check_trace; ovsdb-server --unixctl="`pwd`"/unixctl --remote=punix:socket --run "ovsdb-client dump unix:socket ordinals" db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:185"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:187: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:187"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ordinals table
_uuid                                name  number
------------------------------------ ----- ------
<0> five  5     
<1> four  4     
<2> one   1     
<3> three 3     
<4> two   2     
<5> zero  0     
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:187"
$at_failed && at_fn_log_failure
$at_traceon; }

touch .db.tmp.~lock~
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:200: ovsdb-tool convert db new-schema"
at_fn_check_prepare_trace "ovsdb-tool.at:200"
( $at_check_trace; ovsdb-tool convert db new-schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:200"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:205: test \`wc -l < db\` -eq 4"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-tool.at:205"
( $at_check_trace; test `wc -l < db` -eq 4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:205"
$at_failed && at_fn_log_failure  \
"db"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:207: ovsdb-server --unixctl=\"\`pwd\`\"/unixctl --remote=punix:socket --run \"ovsdb-client dump unix:socket ordinals\" db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-tool.at:207"
( $at_check_trace; ovsdb-server --unixctl="`pwd`"/unixctl --remote=punix:socket --run "ovsdb-client dump unix:socket ordinals" db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:207"
$at_failed && at_fn_log_failure  \
"db"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:209: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:209"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ordinals table
_uuid                                number
------------------------------------ ------
<0> 0     
<1> 1     
<2> 2     
<3> 3     
<4> 4     
<5> 5     
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:209"
$at_failed && at_fn_log_failure  \
"db"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1096
#AT_START_1097
at_fn_group_banner 1097 'ovsdb-tool.at:222' \
  "ovsdb-tool convert -- adding a column" "          " 70
at_xfail=no
(
  $as_echo "1097. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
cat >schema <<'_ATEOF'
{"name": "ordinals",
     "tables": {
       "ordinals": {
         "columns": {
           "number": {"type": "integer"}}}}}
_ATEOF

ordinal_schema > new-schema
touch .db.~lock~
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:234: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:234"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:234"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:236: for number in 0 1 2 3 4 5; do
      ovsdb-tool transact db '
        [\"ordinals\",
         {\"op\": \"insert\",
          \"table\": \"ordinals\",
          \"row\": {\"number\": '\$number'}},
         {\"op\": \"comment\",
          \"comment\": \"add row for '\"\$number\"'\"}]'
    done"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-tool.at:236"
( $at_check_trace; for number in 0 1 2 3 4 5; do
      ovsdb-tool transact db '
        ["ordinals",
         {"op": "insert",
          "table": "ordinals",
          "row": {"number": '$number'}},
         {"op": "comment",
          "comment": "add row for '"$number"'"}]'
    done
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:236"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:248: ovsdb-server --unixctl=\"\`pwd\`\"/unixctl --remote=punix:socket --run \"ovsdb-client dump unix:socket ordinals\" db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-tool.at:248"
( $at_check_trace; ovsdb-server --unixctl="`pwd`"/unixctl --remote=punix:socket --run "ovsdb-client dump unix:socket ordinals" db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:248"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:250: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:250"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ordinals table
_uuid                                number
------------------------------------ ------
<0> 0     
<1> 1     
<2> 2     
<3> 3     
<4> 4     
<5> 5     
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:250"
$at_failed && at_fn_log_failure
$at_traceon; }

touch .db.tmp.~lock~
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:263: ovsdb-tool convert db new-schema"
at_fn_check_prepare_trace "ovsdb-tool.at:263"
( $at_check_trace; ovsdb-tool convert db new-schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:263"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:268: test \`wc -l < db\` -eq 4"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-tool.at:268"
( $at_check_trace; test `wc -l < db` -eq 4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:268"
$at_failed && at_fn_log_failure  \
"db"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:270: ovsdb-server --unixctl=\"\`pwd\`\"/unixctl --remote=punix:socket --run \"ovsdb-client dump unix:socket ordinals\" db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-tool.at:270"
( $at_check_trace; ovsdb-server --unixctl="`pwd`"/unixctl --remote=punix:socket --run "ovsdb-client dump unix:socket ordinals" db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:270"
$at_failed && at_fn_log_failure  \
"db"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:272: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-tool.at:272"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ordinals table
_uuid                                name number
------------------------------------ ---- ------
<0> \"\"   0     
<1> \"\"   1     
<2> \"\"   2     
<3> \"\"   3     
<4> \"\"   4     
<5> \"\"   5     
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:272"
$at_failed && at_fn_log_failure  \
"db"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1097
#AT_START_1098
at_fn_group_banner 1098 'ovsdb-tool.at:285' \
  "ovsdb-tool schema-version" "                      " 70
at_xfail=no
(
  $as_echo "1098. $at_setup_line: testing $at_desc ..."
  $at_traceon


ordinal_schema > schema
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:288: ovsdb-tool schema-version schema"
at_fn_check_prepare_trace "ovsdb-tool.at:288"
( $at_check_trace; ovsdb-tool schema-version schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "5.1.3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:288"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1098
#AT_START_1099
at_fn_group_banner 1099 'ovsdb-tool.at:292' \
  "ovsdb-tool db-version" "                          " 70
at_xfail=no
(
  $as_echo "1099. $at_setup_line: testing $at_desc ..."
  $at_traceon


ordinal_schema > schema
touch .db.~lock~
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:296: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:296"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:296"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:297: ovsdb-tool db-version db"
at_fn_check_prepare_trace "ovsdb-tool.at:297"
( $at_check_trace; ovsdb-tool db-version db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "5.1.3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:297"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1099
#AT_START_1100
at_fn_group_banner 1100 'ovsdb-tool.at:301' \
  "ovsdb-tool schema-cksum" "                        " 70
at_xfail=no
(
  $as_echo "1100. $at_setup_line: testing $at_desc ..."
  $at_traceon


ordinal_schema > schema
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:304: ovsdb-tool schema-cksum schema"
at_fn_check_prepare_trace "ovsdb-tool.at:304"
( $at_check_trace; ovsdb-tool schema-cksum schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "12345678 9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:304"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1100
#AT_START_1101
at_fn_group_banner 1101 'ovsdb-tool.at:308' \
  "ovsdb-tool db-cksum" "                            " 70
at_xfail=no
(
  $as_echo "1101. $at_setup_line: testing $at_desc ..."
  $at_traceon


ordinal_schema > schema
touch .db.~lock~
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:312: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:312"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:312"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:313: ovsdb-tool db-cksum db"
at_fn_check_prepare_trace "ovsdb-tool.at:313"
( $at_check_trace; ovsdb-tool db-cksum db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "12345678 9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:313"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1101
#AT_START_1102
at_fn_group_banner 1102 'ovsdb-tool.at:317' \
  "ovsdb-tool needs-conversion (no conversion needed)" "" 70
at_xfail=no
(
  $as_echo "1102. $at_setup_line: testing $at_desc ..."
  $at_traceon


ordinal_schema > schema
touch .db.~lock~
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:321: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:321"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:321"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:322: ovsdb-tool needs-conversion db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:322"
( $at_check_trace; ovsdb-tool needs-conversion db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "no
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:322"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1102
#AT_START_1103
at_fn_group_banner 1103 'ovsdb-tool.at:326' \
  "ovsdb-tool needs-conversion (conversion needed)" "" 70
at_xfail=no
(
  $as_echo "1103. $at_setup_line: testing $at_desc ..."
  $at_traceon


ordinal_schema > schema
touch .db.~lock~
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:330: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-tool.at:330"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:330"
$at_failed && at_fn_log_failure
$at_traceon; }

sed 's/5\.1\.3/5.1.4/' < schema > schema2
{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:332: diff schema schema2"
at_fn_check_prepare_trace "ovsdb-tool.at:332"
( $at_check_trace; diff schema schema2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-tool.at:332"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-tool.at:333: ovsdb-tool needs-conversion db schema2"
at_fn_check_prepare_trace "ovsdb-tool.at:333"
( $at_check_trace; ovsdb-tool needs-conversion db schema2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "yes
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-tool.at:333"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1103
#AT_START_1104
at_fn_group_banner 1104 'ovsdb-server.at:39' \
  "insert default row, query table" "                " 71
at_xfail=no
(
  $as_echo "1104. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"\",\"number\":0}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1104
#AT_START_1105
at_fn_group_banner 1105 'ovsdb-server.at:39' \
  "insert row, query table" "                        " 71
at_xfail=no
(
  $as_echo "1105. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1105
#AT_START_1106
at_fn_group_banner 1106 'ovsdb-server.at:39' \
  "insert rows, query by value" "                    " 71
at_xfail=no
(
  $as_echo "1106. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [["name", "==", "zero"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"one\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [["name", "==", "one"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1106
#AT_START_1107
at_fn_group_banner 1107 'ovsdb-server.at:39' \
  "insert rows, query by named-uuid" "               " 71
at_xfail=no
(
  $as_echo "1107. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"second\"},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"first\"]]]},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"second\"]]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "select",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "first"]]]},
      {"op": "select",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "second"]]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0}]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1107
#AT_START_1108
at_fn_group_banner 1108 'ovsdb-server.at:39' \
  "insert rows, update rows by value" "              " 71
at_xfail=no
(
  $as_echo "1108. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]],
       \"row\": {\"name\": \"nought\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "zero"]],
       "row": {"name": "nought"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"nought\",\"number\":0},{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1108
#AT_START_1109
at_fn_group_banner 1109 'ovsdb-server.at:39' \
  "insert rows, mutate rows" "                       " 71
at_xfail=no
(
  $as_echo "1109. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"mutate\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]],
       \"mutations\": [[\"number\", \"+=\", 2]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "mutate",
       "table": "ordinals",
       "where": [["name", "==", "zero"]],
       "mutations": [["number", "+=", 2]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"one\",\"number\":1},{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"zero\",\"number\":2}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1109
#AT_START_1110
at_fn_group_banner 1110 'ovsdb-server.at:39' \
  "insert rows, delete by named-uuid" "              " 71
at_xfail=no
(
  $as_echo "1110. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"second\"},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"first\"]]]},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\",\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "delete",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "first"]]]},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["name","number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"count\":1},{\"rows\":[{\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1110
#AT_START_1111
at_fn_group_banner 1111 'ovsdb-server.at:39' \
  "insert rows, delete rows by value" "              " 71
at_xfail=no
(
  $as_echo "1111. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "zero"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1111
#AT_START_1112
at_fn_group_banner 1112 'ovsdb-server.at:39' \
  "insert rows, delete by (non-matching) value" "    " 71
at_xfail=no
(
  $as_echo "1112. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"nought\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "nought"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":0}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0},{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1112
#AT_START_1113
at_fn_group_banner 1113 'ovsdb-server.at:39' \
  "insert rows, delete all" "                        " 71
at_xfail=no
(
  $as_echo "1113. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"second\"},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\",\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "delete",
       "table": "ordinals",
       "where": []},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["name","number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"count\":2},{\"rows\":[]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1113
#AT_START_1114
at_fn_group_banner 1114 'ovsdb-server.at:39' \
  "insert row, query table, commit" "                " 71
at_xfail=no
(
  $as_echo "1114. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"commit\",
       \"durable\": false}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "select",
       "table": "ordinals",
       "where": []},
      {"op": "commit",
       "durable": false}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1114
#AT_START_1115
at_fn_group_banner 1115 'ovsdb-server.at:39' \
  "insert row, query table, commit durably" "        " 71
at_xfail=no
(
  $as_echo "1115. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"commit\",
       \"durable\": true}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "select",
       "table": "ordinals",
       "where": []},
      {"op": "commit",
       "durable": true}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1115
#AT_START_1116
at_fn_group_banner 1116 'ovsdb-server.at:39' \
  "equality wait with correct rows" "                " 71
at_xfail=no
(
  $as_echo "1116. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1116
#AT_START_1117
at_fn_group_banner 1117 'ovsdb-server.at:39' \
  "equality wait with extra row" "                   " 71
at_xfail=no
(
  $as_echo "1117. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1},
                {\"name\": \"two\", \"number\": 2}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1},
                {"name": "two", "number": 2}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1117
#AT_START_1118
at_fn_group_banner 1118 'ovsdb-server.at:39' \
  "equality wait with missing row" "                 " 71
at_xfail=no
(
  $as_echo "1118. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1118
#AT_START_1119
at_fn_group_banner 1119 'ovsdb-server.at:39' \
  "inequality wait with correct rows" "              " 71
at_xfail=no
(
  $as_echo "1119. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"!=\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1119
#AT_START_1120
at_fn_group_banner 1120 'ovsdb-server.at:39' \
  "inequality wait with extra row" "                 " 71
at_xfail=no
(
  $as_echo "1120. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"!=\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1},
                {\"name\": \"two\", \"number\": 2}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1},
                {"name": "two", "number": 2}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1120
#AT_START_1121
at_fn_group_banner 1121 'ovsdb-server.at:39' \
  "inequality wait with missing row" "               " 71
at_xfail=no
(
  $as_echo "1121. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"!=\",
       \"rows\": [{\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1121
#AT_START_1122
at_fn_group_banner 1122 'ovsdb-server.at:39' \
  "insert and update constraints" "                  " 71
at_xfail=no
(
  $as_echo "1122. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   constraint_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {\"positive\": -1}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": -1}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"update\",
       \"table\": \"constrained\",
       \"where\": [],
       \"row\": {\"positive\": -2}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "update",
       "table": "constrained",
       "where": [],
       "row": {"positive": -2}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {\"positive\": 1}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": 1}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {\"positive\": 2}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": 2}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"details\":\"0 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"details\":\"-1 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"details\":\"-2 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"transaction causes \\\"constrained\\\" table to contain 2 rows, greater than the schema-defined limit of 1 row(s)\",\"error\":\"constraint violation\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1122
#AT_START_1123
at_fn_group_banner 1123 'ovsdb-server.at:39' \
  "index uniqueness checking" "                      " 71
at_xfail=no
(
  $as_echo "1123. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '   [\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"another one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "another one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '   [\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"another one\"}},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"one\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "another one"}},
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "one"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '   [\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"still another one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '   ["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": []},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "still another one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '   [\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 2, \"name\": \"two\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 2, "name": "two"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '   [\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"row\": {\"number\": 3}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '   ["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [],
       "row": {"number": 3}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '   [\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"number\", \"==\", 1]],
       \"row\": {\"number\": 2, \"name\": \"old two\"}},
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"two\"]],
       \"row\": {\"number\": 1, \"name\": \"old one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '   ["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["number", "==", 1]],
       "row": {"number": 2, "name": "old two"}},
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "two"]],
       "row": {"number": 1, "name": "old one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '   [\"ordinals\",
      {\"op\": \"mutate\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"mutations\": [[\"number\", \"*=\", 10]]},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"new one\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 2, \"name\": \"new two\"}},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"number\", \"name\"],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '   ["ordinals",
      {"op": "mutate",
       "table": "ordinals",
       "where": [],
       "mutations": [["number", "*=", 10]]},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "new one"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 2, "name": "new two"}},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["number", "name"],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (1) for index on column \\\"number\\\".  First row, with UUID <0>, existed in the database before this transaction and was not modified by the transaction.  Second row, with UUID <1>, was inserted by this transaction.\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<2>\"]},{\"count\":1}]
[{\"count\":1},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (1) for index on column \\\"number\\\".  First row, with UUID <4>, was inserted by this transaction.  Second row, with UUID <3>, was inserted by this transaction.\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<5>\"]}]
[{\"count\":2},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (3) for index on column \\\"number\\\".  First row, with UUID <5>, had the following index values before the transaction: 2.  Second row, with UUID <2>, had the following index values before the transaction: 1.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"count\":1}]
[{\"count\":2},{\"uuid\":[\"uuid\",\"<6>\"]},{\"uuid\":[\"uuid\",\"<7>\"]},{\"rows\":[{\"name\":\"new one\",\"number\":1},{\"name\":\"new two\",\"number\":2},{\"name\":\"old one\",\"number\":10},{\"name\":\"old two\",\"number\":20}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1123
#AT_START_1124
at_fn_group_banner 1124 'ovsdb-server.at:39' \
  "referential integrity -- simple" "                " 71
at_xfail=no
(
  $as_echo "1124. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   constraint_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 1},
       \"uuid-name\": \"brow\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0,
               \"a2b\": [\"set\", [[\"named-uuid\", \"brow\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 1,
               \"a2b\": [\"set\", [[\"named-uuid\", \"brow\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 2,
               \"a2b\": [\"set\", [[\"named-uuid\", \"brow\"]]]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "insert",
       "table": "b",
       "row": {"b": 1},
       "uuid-name": "brow"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2b": ["set", [["named-uuid", "brow"]]]}},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1,
               "a2b": ["set", [["named-uuid", "brow"]]]}},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2,
               "a2b": ["set", [["named-uuid", "brow"]]]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '   [\"constraints\",
      {\"op\": \"mutate\",
       \"table\": \"b\",
       \"where\": [],
       \"mutations\": [[\"x\", \"delete\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '   ["constraints",
      {"op": "mutate",
       "table": "b",
       "where": [],
       "mutations": [["x", "delete", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 2]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 2]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 3 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"details\":\"Attempted to store 0 elements in set of 1 to 2 integers.\",\"error\":\"constraint violation\"}]
[{\"count\":1}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 2 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1}]
[{\"count\":1}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1124
#AT_START_1125
at_fn_group_banner 1125 'ovsdb-server.at:39' \
  "referential integrity -- mutual references" "     " 71
at_xfail=no
(
  $as_echo "1125. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   constraint_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0,
               \"a2b\": [\"set\", [[\"named-uuid\", \"row2\"]]],
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"]]]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 1,
               \"b2b\": [\"set\", [[\"named-uuid\", \"row2\"]]],
               \"b2a\": [\"set\", [[\"named-uuid\", \"row1\"]]]},
       \"uuid-name\": \"row2\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2b": ["set", [["named-uuid", "row2"]]],
               "a2a": ["set", [["named-uuid", "row1"]]]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "b",
       "row": {"b": 1,
               "b2b": ["set", [["named-uuid", "row2"]]],
               "b2a": ["set", [["named-uuid", "row1"]]]},
       "uuid-name": "row2"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a2b\": [\"set\", [[\"uuid\", \"b516b960-5b19-4fc2-bb82-fe1cbd6d0241\"]]]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "insert",
       "table": "a",
       "row": {"a2b": ["set", [["uuid", "b516b960-5b19-4fc2-bb82-fe1cbd6d0241"]]]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '   [\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '   ["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]},
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]},
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"uuid\":[\"uuid\",\"<2>\"]},{\"details\":\"Table a column a2b row <2> references nonexistent row <3> in table b.\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete a row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete b row <1> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete a row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete b row <1> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"count\":1}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1125
#AT_START_1126
at_fn_group_banner 1126 'ovsdb-server.at:39' \
  "weak references" "                                " 71
at_xfail=no
(
  $as_echo "1126. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   weak_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"weak\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0,
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"],
                               [\"named-uuid\", \"row2\"],
                               [\"uuid\", \"0e767b36-6822-4044-8307-d58467e04669\"]]],
               \"a2a1\": [\"named-uuid\", \"row1\"],
               \"a2b\": [\"named-uuid\", \"row3\"]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 1,
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"],
                               [\"named-uuid\", \"row2\"]]],
               \"a2a1\": [\"named-uuid\", \"row2\"],
               \"a2b\": [\"named-uuid\", \"row3\"]},
       \"uuid-name\": \"row2\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 2,
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"],
                               [\"named-uuid\", \"row2\"]]],
               \"a2a1\": [\"named-uuid\", \"row2\"],
               \"a2b\": [\"named-uuid\", \"row4\"]}},
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 2,
               \"b2a\": [\"named-uuid\", \"row1\"]},
       \"uuid-name\": \"row3\"},
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 3,
               \"b2a\": [\"named-uuid\", \"row2\"]},
       \"uuid-name\": \"row4\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["weak",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"],
                               ["uuid", "0e767b36-6822-4044-8307-d58467e04669"]]],
               "a2a1": ["named-uuid", "row1"],
               "a2b": ["named-uuid", "row3"]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"]]],
               "a2a1": ["named-uuid", "row2"],
               "a2b": ["named-uuid", "row3"]},
       "uuid-name": "row2"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"]]],
               "a2a1": ["named-uuid", "row2"],
               "a2b": ["named-uuid", "row4"]}},
      {"op": "insert",
       "table": "b",
       "row": {"b": 2,
               "b2a": ["named-uuid", "row1"]},
       "uuid-name": "row3"},
      {"op": "insert",
       "table": "b",
       "row": {"b": 3,
               "b2a": ["named-uuid", "row2"]},
       "uuid-name": "row4"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '      [\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '      ["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '      [\"weak\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a2a1\": [\"named-uuid\", \"me\"]},
       \"uuid-name\": \"me\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '      ["weak",
      {"op": "insert",
       "table": "a",
       "row": {"a2a1": ["named-uuid", "me"]},
       "uuid-name": "me"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '      [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 3]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '      ["weak",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 3]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '      [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '      ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '      [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 2]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '      ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 2]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '   [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '   ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '   [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '   ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<0>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<2>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<4>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"uuid\",\"<0>\"]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"uuid\":[\"uuid\",\"<5>\"]},{\"details\":\"Weak reference column \\\"a2b\\\" in \\\"a\\\" row <5> (inserted within this transaction) contained all-zeros UUID (probably as the default value for this column) but deleting this value caused a constraint volation because this column is not allowed to be empty.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"details\":\"Deletion of 1 weak reference(s) to deleted (or never-existing) rows from column \\\"a2b\\\" in \\\"a\\\" row <2> caused this column to become empty, but constraints on this column disallow an empty column.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"details\":\"Deletion of 1 weak reference(s) to deleted (or never-existing) rows from column \\\"a2a1\\\" in \\\"a\\\" row <2> caused this column to become empty, but constraints on this column disallow an empty column.\",\"error\":\"constraint violation\"}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<0>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"uuid\",\"<0>\"]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"uuid\",\"<1>\"],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"set\",[]]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"set\",[]]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"set\",[]]}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1126
#AT_START_1127
at_fn_group_banner 1127 'ovsdb-server.at:39' \
  "immutable columns" "                              " 71
at_xfail=no
(
  $as_echo "1127. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   immutable_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"immutable\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"i\": 5},
       \"uuid-name\": \"row1\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["immutable",
      {"op": "insert",
       "table": "a",
       "row": {"i": 5},
       "uuid-name": "row1"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"immutable\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"row\": {\"i\": 10},
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["immutable",
      {"op": "update",
       "table": "a",
       "row": {"i": 10},
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"immutable\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"row\": {\"i\": 5},
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["immutable",
      {"op": "update",
       "table": "a",
       "row": {"i": 5},
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"immutable\",
      {\"op\": \"mutate\",
       \"table\": \"a\",
       \"where\": [],
       \"mutations\": [[\"i\", \"-=\", 5]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["immutable",
      {"op": "mutate",
       "table": "a",
       "where": [],
       "mutations": [["i", "-=", 5]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"immutable\",
      {\"op\": \"mutate\",
       \"table\": \"a\",
       \"where\": [],
       \"mutations\": [[\"i\", \"*=\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["immutable",
      {"op": "mutate",
       "table": "a",
       "where": [],
       "mutations": [["i", "*=", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"details\":\"Cannot update immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"{\\\"op\\\":\\\"update\\\",\\\"row\\\":{\\\"i\\\":10},\\\"table\\\":\\\"a\\\",\\\"where\\\":[]}\"}]
[{\"details\":\"Cannot update immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"{\\\"op\\\":\\\"update\\\",\\\"row\\\":{\\\"i\\\":5},\\\"table\\\":\\\"a\\\",\\\"where\\\":[]}\"}]
[{\"details\":\"Cannot mutate immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"[\\\"i\\\",\\\"-=\\\",5]\"}]
[{\"details\":\"Cannot mutate immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"[\\\"i\\\",\\\"*=\\\",1]\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1127
#AT_START_1128
at_fn_group_banner 1128 'ovsdb-server.at:39' \
  "garbage collection" "                             " 71
at_xfail=no
(
  $as_echo "1128. $at_setup_line: testing $at_desc ..."
  $at_traceon

  OVS_RUNDIR=`pwd`; export OVS_RUNDIR

   gc_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:39"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '   [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '      [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0, \"a2a\": [\"named-uuid\", \"row1\"]},
       \"uuid-name\": \"row0\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 1, \"a2a\": [\"named-uuid\", \"row2\"]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 2, \"a2a\": [\"named-uuid\", \"row3\"]},
       \"uuid-name\": \"row2\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 3},
       \"uuid-name\": \"row3\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0, "a2a": ["named-uuid", "row1"]},
       "uuid-name": "row0"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1, "a2a": ["named-uuid", "row2"]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2, "a2a": ["named-uuid", "row3"]},
       "uuid-name": "row2"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 3},
       "uuid-name": "row3"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '      [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 4, \"a2a\": [\"named-uuid\", \"row5\"]},
       \"uuid-name\": \"row4\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 5, \"a2a\": [\"named-uuid\", \"row4\"]},
       \"uuid-name\": \"row5\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 4, "a2a": ["named-uuid", "row5"]},
       "uuid-name": "row4"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 5, "a2a": ["named-uuid", "row4"]},
       "uuid-name": "row5"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '   [\"gc\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 4]],
       \"row\": {\"a2a\": [\"set\", []]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '   ["gc",
      {"op": "update",
       "table": "a",
       "where": [["a", "==", 4]],
       "row": {"a2a": ["set", []]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '      [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 6, \"wa2a\": [\"named-uuid\", \"row7\"]},
       \"uuid-name\": \"row6\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 7, \"wa2a\": [\"named-uuid\", \"row6\"]},
       \"uuid-name\": \"row7\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 6, "wa2a": ["named-uuid", "row7"]},
       "uuid-name": "row6"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 7, "wa2a": ["named-uuid", "row6"]},
       "uuid-name": "row7"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '   [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 8, \"a2a\": [\"named-uuid\", \"row9\"]},
       \"uuid-name\": \"row8\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 9, \"a2a\": [\"named-uuid\", \"row10\"]},
       \"uuid-name\": \"row9\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 10, \"a2a\": [\"named-uuid\", \"row11\"]},
       \"uuid-name\": \"row10\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 11, \"a2a\": [\"named-uuid\", \"row8\"]},
       \"uuid-name\": \"row11\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 8, "a2a": ["named-uuid", "row9"]},
       "uuid-name": "row8"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 9, "a2a": ["named-uuid", "row10"]},
       "uuid-name": "row9"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 10, "a2a": ["named-uuid", "row11"]},
       "uuid-name": "row10"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 11, "a2a": ["named-uuid", "row8"]},
       "uuid-name": "row11"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '   [\"gc\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 9]],
       \"row\": {\"a2a\": [\"set\", []]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '   ["gc",
      {"op": "update",
       "table": "a",
       "where": [["a", "==", 9]],
       "row": {"a2a": ["set", []]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '   [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 12, \"a2a\": [\"named-uuid\", \"self\"]},
       \"uuid-name\": \"self\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 12, "a2a": ["named-uuid", "self"]},
       "uuid-name": "self"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovsdb-client transact unix:socket '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:39"
( $at_check_trace; ovsdb-client transact unix:socket '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:39"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<5>\"]},{\"uuid\":[\"uuid\",\"<6>\"]}]
[{\"rows\":[{\"a\":4},{\"a\":5}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<7>\"]},{\"uuid\":[\"uuid\",\"<8>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<9>\"]},{\"uuid\":[\"uuid\",\"<10>\"]},{\"uuid\":[\"uuid\",\"<11>\"]},{\"uuid\":[\"uuid\",\"<12>\"]}]
[{\"rows\":[{\"a\":8},{\"a\":9},{\"a\":10},{\"a\":11}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<13>\"]}]
[{\"rows\":[]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:39: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:39"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:39"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1128
#AT_START_1129
at_fn_group_banner 1129 'ovsdb-server.at:41' \
  "truncating corrupted database log" "              " 71
at_xfail=no
(
  $as_echo "1129. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
ordinal_schema > schema
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:45: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:45"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:45"
$at_failed && at_fn_log_failure
$at_traceon; }

cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket \
'["ordinals",
  {"op": "insert",
   "table": "ordinals",
   "row": {"number": 0, "name": "zero"}}]'
_ATEOF

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:53: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:53"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:53"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
echo 'xxx' >> db
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket \
'["ordinals",
  {"op": "insert",
   "table": "ordinals",
   "row": {"number": 1, "name": "one"}}]'
_ATEOF

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:64: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:64"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:64"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:65: grep 'syntax error: db: parse error.* in header line \"xxx\"' stderr"
at_fn_check_prepare_trace "ovsdb-server.at:65"
( $at_check_trace; grep 'syntax error: db: parse error.* in header line "xxx"' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:65"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket \
'["ordinals",
  {"op": "select",
   "table": "ordinals",
   "where": [],
   "sort": ["number"]}]'
_ATEOF

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:78: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:78"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:78"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:80: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:80"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0},{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:80"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1129
#AT_START_1130
at_fn_group_banner 1130 'ovsdb-server.at:88' \
  "truncating database log with bad transaction" "   " 71
at_xfail=no
(
  $as_echo "1130. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
ordinal_schema > schema
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:92: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:92"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:92"
$at_failed && at_fn_log_failure
$at_traceon; }

cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket \
'["ordinals",
  {"op": "insert",
   "table": "ordinals",
   "row": {"number": 0, "name": "zero"}}]'
_ATEOF

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:100: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:100"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:100"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
echo 'OVSDB JSON 15 ffbcdae4b0386265f9ea3280dd7c8f0b72a20e56
{"invalid":{}}' >> db
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket \
'["ordinals",
  {"op": "insert",
   "table": "ordinals",
   "row": {"number": 1, "name": "one"}}]'
_ATEOF

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:112: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:112"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:112"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:113: grep 'syntax \"{\"invalid\":{}}\": unknown table: No table named invalid.' stderr"
at_fn_check_prepare_trace "ovsdb-server.at:113"
( $at_check_trace; grep 'syntax "{"invalid":{}}": unknown table: No table named invalid.' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:113"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket \
'["ordinals",
  {"op": "select",
   "table": "ordinals",
   "where": [],
   "sort": ["number"]}]'
_ATEOF

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:126: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:126"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:126"
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:128: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:128"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0},{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:128"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1130
#AT_START_1131
at_fn_group_banner 1131 'ovsdb-server.at:136' \
  "ovsdb-client get-schema-version" "                " 71
at_xfail=no
(
  $as_echo "1131. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
ordinal_schema > schema
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:140: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:140"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:140"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:141: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --unixctl=\"\`pwd\`\"/unixctl --remote=punix:socket db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:141"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --unixctl="`pwd`"/unixctl --remote=punix:socket db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:141"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:142: ovsdb-client get-schema-version unix:socket ordinals"
at_fn_check_prepare_trace "ovsdb-server.at:142"
( $at_check_trace; ovsdb-client get-schema-version unix:socket ordinals
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "5.1.3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:142"
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:144: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:144"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:144"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:144: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:144"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:144"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1131
#AT_START_1132
at_fn_group_banner 1132 'ovsdb-server.at:147' \
  "database multiplexing implementation" "           " 71
at_xfail=no
(
  $as_echo "1132. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
ordinal_schema > schema1
constraint_schema > schema2
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:152: ovsdb-tool create db1 schema1"
at_fn_check_prepare_trace "ovsdb-server.at:152"
( $at_check_trace; ovsdb-tool create db1 schema1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:152"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:153: ovsdb-tool create db2 schema2"
at_fn_check_prepare_trace "ovsdb-server.at:153"
( $at_check_trace; ovsdb-tool create db2 schema2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:153"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:154: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --unixctl=\"\`pwd\`\"/unixctl --remote=punix:socket db1 db2"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:154"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --unixctl="`pwd`"/unixctl --remote=punix:socket db1 db2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:154"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:155: ovsdb-client list-dbs unix:socket"
at_fn_check_prepare_trace "ovsdb-server.at:155"
( $at_check_trace; ovsdb-client list-dbs unix:socket
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "constraints
ordinals
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:155"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:160: test-jsonrpc request unix:socket get_schema [\\\"nonexistent\\\"]"
at_fn_check_prepare_trace "ovsdb-server.at:160"
( $at_check_trace; test-jsonrpc request unix:socket get_schema [\"nonexistent\"]
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"error\":null,\"id\":0,\"result\":{\"details\":\"get_schema request specifies unknown database nonexistent\",\"error\":\"unknown database\",\"syntax\":\"[\\\"nonexistent\\\"]\"}}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:160"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:164: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:164"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:164"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:164: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:164"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:164"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1132
#AT_START_1133
at_fn_group_banner 1133 'ovsdb-server.at:167' \
  "ovsdb-server/add-db and remove-db" "              " 71
at_xfail=no
(
  $as_echo "1133. $at_setup_line: testing $at_desc ..."
  $at_traceon


trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid`
EOF

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
OVS_LOGDIR=`pwd`; export OVS_LOGDIR
ordinal_schema > schema1
constraint_schema > schema2
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:174: ovsdb-tool create db1 schema1"
at_fn_check_prepare_trace "ovsdb-server.at:174"
( $at_check_trace; ovsdb-tool create db1 schema1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:174"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:175: ovsdb-tool create db2 schema2"
at_fn_check_prepare_trace "ovsdb-server.at:175"
( $at_check_trace; ovsdb-tool create db2 schema2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:175"
$at_failed && at_fn_log_failure
$at_traceon; }


# Start ovsdb-server with just a single database - db1.
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:178: ovsdb-server --detach --no-chdir --pidfile --remote=punix:socket db1"
at_fn_check_prepare_trace "ovsdb-server.at:178"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --remote=punix:socket db1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:178"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:179: ovs-appctl -t ovsdb-server ovsdb-server/list-dbs"
at_fn_check_prepare_trace "ovsdb-server.at:179"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-dbs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ordinals
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:179"
$at_failed && at_fn_log_failure
$at_traceon; }


# Add the second database.
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:184: ovs-appctl -t ovsdb-server ovsdb-server/add-db db2"
at_fn_check_prepare_trace "ovsdb-server.at:184"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/add-db db2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:184"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:185: ovs-appctl -t ovsdb-server ovsdb-server/list-dbs"
at_fn_check_prepare_trace "ovsdb-server.at:185"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-dbs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraints
ordinals
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:185"
$at_failed && at_fn_log_failure
$at_traceon; }


# The databases are responsive.
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:191: ovsdb-client list-tables unix:socket constraints"
at_fn_check_prepare_trace "ovsdb-server.at:191"
( $at_check_trace; ovsdb-client list-tables unix:socket constraints
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:191"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:192: ovsdb-client list-tables unix:socket ordinals"
at_fn_check_prepare_trace "ovsdb-server.at:192"
( $at_check_trace; ovsdb-client list-tables unix:socket ordinals
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:192"
$at_failed && at_fn_log_failure
$at_traceon; }


# Add an already added database.
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:195: ovs-appctl -t ovsdb-server ovsdb-server/add-db db2"
at_fn_check_prepare_trace "ovsdb-server.at:195"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/add-db db2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovsdb-server.at:195"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:196: sed 's/(.*)/(...)/' stderr"
at_fn_check_prepare_trace "ovsdb-server.at:196"
( $at_check_trace; sed 's/(.*)/(...)/' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "I/O error: db2: failed to lock lockfile (...)
ovs-appctl: ovsdb-server: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:196"
$at_failed && at_fn_log_failure
$at_traceon; }


# Add a non-existing database.
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:202: ovs-appctl -t ovsdb-server ovsdb-server/add-db db3"
at_fn_check_prepare_trace "ovsdb-server.at:202"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/add-db db3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovsdb-server.at:202"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:203: sed 's/(.*)/(...)/' stderr"
at_fn_check_prepare_trace "ovsdb-server.at:203"
( $at_check_trace; sed 's/(.*)/(...)/' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "I/O error: open: db3 failed (...)
ovs-appctl: ovsdb-server: server returned an error
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:203"
$at_failed && at_fn_log_failure
$at_traceon; }


# Add a remote through a db path in db1.
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:209: ovs-appctl -t ovsdb-server ovsdb-server/add-remote db:ordinals,ordinals,name"
at_fn_check_prepare_trace "ovsdb-server.at:209"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/add-remote db:ordinals,ordinals,name
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:209"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:210: ovs-appctl -t ovsdb-server ovsdb-server/list-remotes"
at_fn_check_prepare_trace "ovsdb-server.at:210"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-remotes
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "db:ordinals,ordinals,name
punix:socket
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:210"
$at_failed && at_fn_log_failure
$at_traceon; }


# Removing db1 has no effect on its remote.
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:216: ovs-appctl -t ovsdb-server ovsdb-server/remove-db ordinals"
at_fn_check_prepare_trace "ovsdb-server.at:216"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/remove-db ordinals
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:216"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:217: ovs-appctl -t ovsdb-server ovsdb-server/list-dbs"
at_fn_check_prepare_trace "ovsdb-server.at:217"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-dbs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraints
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:217"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:220: ovs-appctl -t ovsdb-server ovsdb-server/list-remotes"
at_fn_check_prepare_trace "ovsdb-server.at:220"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-remotes
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "db:ordinals,ordinals,name
punix:socket
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:220"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:224: ovsdb-client list-tables unix:socket ordinals"
at_fn_check_prepare_trace "ovsdb-server.at:224"
( $at_check_trace; ovsdb-client list-tables unix:socket ordinals
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-server.at:224"
$at_failed && at_fn_log_failure
$at_traceon; }


# Remove db2.
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:227: ovs-appctl -t ovsdb-server ovsdb-server/remove-db constraints"
at_fn_check_prepare_trace "ovsdb-server.at:227"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/remove-db constraints
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:227"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:228: ovs-appctl -t ovsdb-server ovsdb-server/list-dbs"
at_fn_check_prepare_trace "ovsdb-server.at:228"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-dbs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:228"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:230: ovsdb-client list-tables unix:socket constraints"
at_fn_check_prepare_trace "ovsdb-server.at:230"
( $at_check_trace; ovsdb-client list-tables unix:socket constraints
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/ovsdb-server.at:230"
$at_failed && at_fn_log_failure
$at_traceon; }


# Remove a non-existent database.
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:233: ovs-appctl -t ovsdb-server ovsdb-server/remove-db ordinals"
at_fn_check_prepare_trace "ovsdb-server.at:233"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/remove-db ordinals
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "Failed to find the database.
ovs-appctl: ovsdb-server: server returned an error
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovsdb-server.at:233"
$at_failed && at_fn_log_failure
$at_traceon; }


# Add a removed database.
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:239: ovs-appctl -t ovsdb-server ovsdb-server/add-db db2"
at_fn_check_prepare_trace "ovsdb-server.at:239"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/add-db db2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:239"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:240: ovs-appctl -t ovsdb-server ovsdb-server/list-dbs"
at_fn_check_prepare_trace "ovsdb-server.at:240"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-dbs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraints
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:240"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:243: ovsdb-client list-tables unix:socket constraints"
at_fn_check_prepare_trace "ovsdb-server.at:243"
( $at_check_trace; ovsdb-client list-tables unix:socket constraints
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:243"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1133
#AT_START_1134
at_fn_group_banner 1134 'ovsdb-server.at:246' \
  "ovsdb-server/add-db with --monitor" "             " 71
at_xfail=no
(
  $as_echo "1134. $at_setup_line: testing $at_desc ..."
  $at_traceon


# Start ovsdb-server, initially with one db.
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
OVS_LOGDIR=`pwd`; export OVS_LOGDIR
ordinal_schema > schema
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:252: ovsdb-tool create db1 schema"
at_fn_check_prepare_trace "ovsdb-server.at:252"
( $at_check_trace; ovsdb-tool create db1 schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:252"
$at_failed && at_fn_log_failure
$at_traceon; }

trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat *.pid`
EOF

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:254: ovsdb-server -v -vvlog:off --monitor --detach --no-chdir --pidfile --log-file db1"
at_fn_check_prepare_trace "ovsdb-server.at:254"
( $at_check_trace; ovsdb-server -v -vvlog:off --monitor --detach --no-chdir --pidfile --log-file db1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:254"
$at_failed && at_fn_log_failure
$at_traceon; }


# Add the second database.
constraint_schema > schema2
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:258: ovsdb-tool create db2 schema2"
at_fn_check_prepare_trace "ovsdb-server.at:258"
( $at_check_trace; ovsdb-tool create db2 schema2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:258"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:259: ovs-appctl -t ovsdb-server ovsdb-server/add-db db2"
at_fn_check_prepare_trace "ovsdb-server.at:259"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/add-db db2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:259"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:260: ovs-appctl -t ovsdb-server ovsdb-server/list-dbs"
at_fn_check_prepare_trace "ovsdb-server.at:260"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-dbs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraints
ordinals
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:260"
$at_failed && at_fn_log_failure
$at_traceon; }


# Kill the daemon process, making it look like a segfault,
# and wait for a new daemon process to get spawned.
cp ovsdb-server.pid old.pid
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:268: kill -SEGV \`cat ovsdb-server.pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:268"
( $at_check_trace; kill -SEGV `cat ovsdb-server.pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:268"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:269: ovs_wait_cond () { if kill -0 \`cat old.pid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:269"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat old.pid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:269"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:270: ovs_wait_cond () { test -s ovsdb-server.pid && test \`cat ovsdb-server.pid\` != \`cat old.pid\`
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:270"
( $at_check_trace; ovs_wait_cond () { test -s ovsdb-server.pid && test `cat ovsdb-server.pid` != `cat old.pid`
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:270"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:272: ovs-appctl -t ovsdb-server ovsdb-server/list-dbs"
at_fn_check_prepare_trace "ovsdb-server.at:272"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-dbs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "constraints
ordinals
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:272"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1134
#AT_START_1135
at_fn_group_banner 1135 'ovsdb-server.at:278' \
  "ovsdb-server/add-db and remove-db with --monitor" "" 71
at_xfail=no
(
  $as_echo "1135. $at_setup_line: testing $at_desc ..."
  $at_traceon


# Start ovsdb-server, initially with one db.
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
OVS_LOGDIR=`pwd`; export OVS_LOGDIR
ordinal_schema > schema
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:284: ovsdb-tool create db1 schema"
at_fn_check_prepare_trace "ovsdb-server.at:284"
( $at_check_trace; ovsdb-tool create db1 schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:284"
$at_failed && at_fn_log_failure
$at_traceon; }

constraint_schema > schema2
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:286: ovsdb-tool create db2 schema2"
at_fn_check_prepare_trace "ovsdb-server.at:286"
( $at_check_trace; ovsdb-tool create db2 schema2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:286"
$at_failed && at_fn_log_failure
$at_traceon; }

trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat *.pid`
EOF

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:288: ovsdb-server -v -vvlog:off --monitor --detach --no-chdir --pidfile --log-file db1 db2"
at_fn_check_prepare_trace "ovsdb-server.at:288"
( $at_check_trace; ovsdb-server -v -vvlog:off --monitor --detach --no-chdir --pidfile --log-file db1 db2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:288"
$at_failed && at_fn_log_failure
$at_traceon; }


# Remove the second database.
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:291: ovs-appctl -t ovsdb-server ovsdb-server/remove-db constraints"
at_fn_check_prepare_trace "ovsdb-server.at:291"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/remove-db constraints
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:291"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:292: ovs-appctl -t ovsdb-server ovsdb-server/list-dbs"
at_fn_check_prepare_trace "ovsdb-server.at:292"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-dbs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ordinals
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:292"
$at_failed && at_fn_log_failure
$at_traceon; }


# Kill the daemon process, making it look like a segfault,
# and wait for a new daemon process to get spawned.
cp ovsdb-server.pid old.pid
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:299: kill -SEGV \`cat ovsdb-server.pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:299"
( $at_check_trace; kill -SEGV `cat ovsdb-server.pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:299"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:300: ovs_wait_cond () { if kill -0 \`cat old.pid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:300"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat old.pid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:300"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:301: ovs_wait_cond () { test -s ovsdb-server.pid && test \`cat ovsdb-server.pid\` != \`cat old.pid\`
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:301"
( $at_check_trace; ovs_wait_cond () { test -s ovsdb-server.pid && test `cat ovsdb-server.pid` != `cat old.pid`
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:301"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:303: ovs-appctl -t ovsdb-server ovsdb-server/list-dbs"
at_fn_check_prepare_trace "ovsdb-server.at:303"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-dbs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ordinals
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:303"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1135
#AT_START_1136
at_fn_group_banner 1136 'ovsdb-server.at:308' \
  "--remote=db: implementation" "                    " 71
at_xfail=no
(
  $as_echo "1136. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
OVS_LOGDIR=`pwd`; export OVS_LOGDIR
cat >schema <<'_ATEOF'
{"name": "mydb",
     "tables": {
       "Root": {
         "columns": {
           "managers": {
             "type": {
               "key": "string",
               "min": 0,
               "max": "unlimited"}},
           "manager_options": {
             "type": {
               "key": {"type": "uuid", "refTable": "Manager"},
               "min": 0,
               "max": "unlimited"}}}},
       "Manager": {
         "columns": {
           "target": {
             "type": "string"},
           "is_connected": {
             "type": {
               "key": "boolean",
               "min": 0,
               "max": 1}}}}}}
_ATEOF

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:337: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:337"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:337"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:338: ovsdb-tool transact db \\
     '[\"mydb\",
       {\"op\": \"insert\",
        \"table\": \"Root\",
        \"row\": {
          \"managers\": \"punix:socket1\",
          \"manager_options\": [\"set\", [[\"named-uuid\", \"x\"]]]}},
       {\"op\": \"insert\",
        \"table\": \"Manager\",
        \"uuid-name\": \"x\",
        \"row\": {\"target\": \"punix:socket2\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:338"
( $at_check_trace; ovsdb-tool transact db \
     '["mydb",
       {"op": "insert",
        "table": "Root",
        "row": {
          "managers": "punix:socket1",
          "manager_options": ["set", [["named-uuid", "x"]]]}},
       {"op": "insert",
        "table": "Manager",
        "uuid-name": "x",
        "row": {"target": "punix:socket2"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:338"
$at_failed && at_fn_log_failure
$at_traceon; }

trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid`
EOF

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:351: ovsdb-server --enable-dummy --detach --no-chdir --pidfile --remote=db:mydb,Root,managers --remote=db:mydb,Root,manager_options --log-file db"
at_fn_check_prepare_trace "ovsdb-server.at:351"
( $at_check_trace; ovsdb-server --enable-dummy --detach --no-chdir --pidfile --remote=db:mydb,Root,managers --remote=db:mydb,Root,manager_options --log-file db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:351"
$at_failed && at_fn_log_failure
$at_traceon; }

for i in 1 2 3 4 5 6; do ovs-appctl -t ovsdb-server time/warp 1000; done
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:353: ovsdb-client transact unix:socket1 \\
     '[\"mydb\",
       {\"op\": \"select\",
        \"table\": \"Root\",
        \"where\": [],
        \"columns\": [\"managers\"]},
       {\"op\": \"select\",
        \"table\": \"Manager\",
        \"where\": [],
        \"columns\": [\"target\", \"is_connected\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:353"
( $at_check_trace; ovsdb-client transact unix:socket1 \
     '["mydb",
       {"op": "select",
        "table": "Root",
        "where": [],
        "columns": ["managers"]},
       {"op": "select",
        "table": "Manager",
        "where": [],
        "columns": ["target", "is_connected"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:353"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:365: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:365"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"rows\":[{\"managers\":\"punix:socket1\"}]},{\"rows\":[{\"is_connected\":false,\"target\":\"punix:socket2\"}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:365"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1136
#AT_START_1137
at_fn_group_banner 1137 'ovsdb-server.at:373' \
  "ovsdb-server/add-remote and remove-remote" "      " 71
at_xfail=no
(
  $as_echo "1137. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
OVS_LOGDIR=`pwd`; export OVS_LOGDIR
ordinal_schema > schema
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:378: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:378"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:378"
$at_failed && at_fn_log_failure
$at_traceon; }

trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat *.pid`
EOF

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:380: ovsdb-server --detach --no-chdir --pidfile db"
at_fn_check_prepare_trace "ovsdb-server.at:380"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:380"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:382: test ! -e socket1"
at_fn_check_prepare_trace "ovsdb-server.at:382"
( $at_check_trace; test ! -e socket1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:382"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:383: ovs-appctl -t ovsdb-server ovsdb-server/add-remote punix:socket1"
at_fn_check_prepare_trace "ovsdb-server.at:383"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/add-remote punix:socket1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:383"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:384: ovs_wait_cond () { test -S socket1
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:384"
( $at_check_trace; ovs_wait_cond () { test -S socket1
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:384"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:385: ovs-appctl -t ovsdb-server ovsdb-server/list-remotes"
at_fn_check_prepare_trace "ovsdb-server.at:385"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-remotes
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "punix:socket1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:385"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:389: test ! -e socket2"
at_fn_check_prepare_trace "ovsdb-server.at:389"
( $at_check_trace; test ! -e socket2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:389"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:390: ovs-appctl -t ovsdb-server ovsdb-server/add-remote punix:socket2"
at_fn_check_prepare_trace "ovsdb-server.at:390"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/add-remote punix:socket2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:390"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:391: ovs_wait_cond () { test -S socket2
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:391"
( $at_check_trace; ovs_wait_cond () { test -S socket2
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:391"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:392: ovs-appctl -t ovsdb-server ovsdb-server/list-remotes"
at_fn_check_prepare_trace "ovsdb-server.at:392"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-remotes
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "punix:socket1
punix:socket2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:392"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:397: ovs-appctl -t ovsdb-server ovsdb-server/add-remote db:x,y,z"
at_fn_check_prepare_trace "ovsdb-server.at:397"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/add-remote db:x,y,z
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "\"db:x,y,z\": no database named x
ovs-appctl: ovsdb-server: server returned an error
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovsdb-server.at:397"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:402: ovs-appctl -t ovsdb-server ovsdb-server/remove-remote punix:socket1"
at_fn_check_prepare_trace "ovsdb-server.at:402"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/remove-remote punix:socket1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:402"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:403: ovs_wait_cond () { test ! -e socket1
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:403"
( $at_check_trace; ovs_wait_cond () { test ! -e socket1
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:403"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:404: test -S socket2"
at_fn_check_prepare_trace "ovsdb-server.at:404"
( $at_check_trace; test -S socket2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:404"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:405: ovs-appctl -t ovsdb-server ovsdb-server/list-remotes"
at_fn_check_prepare_trace "ovsdb-server.at:405"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-remotes
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "punix:socket2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:405"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:409: ovs-appctl -t ovsdb-server ovsdb-server/remove-remote punix:socket2"
at_fn_check_prepare_trace "ovsdb-server.at:409"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/remove-remote punix:socket2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:409"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:410: ovs_wait_cond () { test ! -e socket2
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:410"
( $at_check_trace; ovs_wait_cond () { test ! -e socket2
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:410"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:411: test ! -e socket1"
at_fn_check_prepare_trace "ovsdb-server.at:411"
( $at_check_trace; test ! -e socket1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:411"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:412: ovs-appctl -t ovsdb-server ovsdb-server/list-remotes"
at_fn_check_prepare_trace "ovsdb-server.at:412"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-remotes
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:412"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1137
#AT_START_1138
at_fn_group_banner 1138 'ovsdb-server.at:415' \
  "ovsdb-server/add-remote with --monitor" "         " 71
at_xfail=no
(
  $as_echo "1138. $at_setup_line: testing $at_desc ..."
  $at_traceon


# Start ovsdb-server, initially with no remotes.
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
OVS_LOGDIR=`pwd`; export OVS_LOGDIR
ordinal_schema > schema
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:421: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:421"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:421"
$at_failed && at_fn_log_failure
$at_traceon; }

trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat *.pid`
EOF

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:423: ovsdb-server -v -vvlog:off --monitor --detach --no-chdir --pidfile --log-file db"
at_fn_check_prepare_trace "ovsdb-server.at:423"
( $at_check_trace; ovsdb-server -v -vvlog:off --monitor --detach --no-chdir --pidfile --log-file db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:423"
$at_failed && at_fn_log_failure
$at_traceon; }


# Add a remote.
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:426: test ! -e socket1"
at_fn_check_prepare_trace "ovsdb-server.at:426"
( $at_check_trace; test ! -e socket1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:426"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:427: ovs-appctl -t ovsdb-server ovsdb-server/add-remote punix:socket1"
at_fn_check_prepare_trace "ovsdb-server.at:427"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/add-remote punix:socket1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:427"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:428: ovs_wait_cond () { test -S socket1
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:428"
( $at_check_trace; ovs_wait_cond () { test -S socket1
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:428"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:429: ovs-appctl -t ovsdb-server ovsdb-server/list-remotes"
at_fn_check_prepare_trace "ovsdb-server.at:429"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-remotes
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "punix:socket1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:429"
$at_failed && at_fn_log_failure
$at_traceon; }


# Kill the daemon process, making it look like a segfault,
# and wait for a new daemon process to get spawned and for it to
# start listening on 'socket1'.
cp ovsdb-server.pid old.pid
rm socket1
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:438: kill -SEGV \`cat ovsdb-server.pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:438"
( $at_check_trace; kill -SEGV `cat ovsdb-server.pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:438"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:439: ovs_wait_cond () { if kill -0 \`cat old.pid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:439"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat old.pid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:439"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:440: ovs_wait_cond () { test -s ovsdb-server.pid && test \`cat ovsdb-server.pid\` != \`cat old.pid\`
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:440"
( $at_check_trace; ovs_wait_cond () { test -s ovsdb-server.pid && test `cat ovsdb-server.pid` != `cat old.pid`
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:440"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:442: ovs_wait_cond () { test -S socket1
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:442"
( $at_check_trace; ovs_wait_cond () { test -S socket1
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:442"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1138
#AT_START_1139
at_fn_group_banner 1139 'ovsdb-server.at:445' \
  "ovsdb-server/add-remote and remove-remote with --monitor" "" 71
at_xfail=no
(
  $as_echo "1139. $at_setup_line: testing $at_desc ..."
  $at_traceon


# Start ovsdb-server, initially with no remotes.
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
OVS_LOGDIR=`pwd`; export OVS_LOGDIR
ordinal_schema > schema
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:451: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:451"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:451"
$at_failed && at_fn_log_failure
$at_traceon; }

trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat *.pid`
EOF

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:453: ovsdb-server -v -vvlog:off --monitor --detach --no-chdir --pidfile --log-file db"
at_fn_check_prepare_trace "ovsdb-server.at:453"
( $at_check_trace; ovsdb-server -v -vvlog:off --monitor --detach --no-chdir --pidfile --log-file db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:453"
$at_failed && at_fn_log_failure
$at_traceon; }


# Add a remote.
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:456: test ! -e socket1"
at_fn_check_prepare_trace "ovsdb-server.at:456"
( $at_check_trace; test ! -e socket1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:456"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:457: ovs-appctl -t ovsdb-server ovsdb-server/add-remote punix:socket1"
at_fn_check_prepare_trace "ovsdb-server.at:457"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/add-remote punix:socket1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:457"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:458: ovs_wait_cond () { test -S socket1
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:458"
( $at_check_trace; ovs_wait_cond () { test -S socket1
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:458"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:459: ovs-appctl -t ovsdb-server ovsdb-server/list-remotes"
at_fn_check_prepare_trace "ovsdb-server.at:459"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-remotes
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "punix:socket1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:459"
$at_failed && at_fn_log_failure
$at_traceon; }


# Remove the remote.
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:464: ovs-appctl -t ovsdb-server ovsdb-server/remove-remote punix:socket1"
at_fn_check_prepare_trace "ovsdb-server.at:464"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/remove-remote punix:socket1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:464"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:465: ovs_wait_cond () { test ! -e socket1
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:465"
( $at_check_trace; ovs_wait_cond () { test ! -e socket1
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:465"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:466: ovs-appctl -t ovsdb-server ovsdb-server/list-remotes"
at_fn_check_prepare_trace "ovsdb-server.at:466"
( $at_check_trace; ovs-appctl -t ovsdb-server ovsdb-server/list-remotes
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:466"
$at_failed && at_fn_log_failure
$at_traceon; }


# Kill the daemon process, making it look like a segfault,
# and wait for a new daemon process to get spawned and make sure that it
# does not listen on 'socket1'.
cp ovsdb-server.pid old.pid
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:472: kill -SEGV \`cat ovsdb-server.pid\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:472"
( $at_check_trace; kill -SEGV `cat ovsdb-server.pid`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:472"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:473: ovs_wait_cond () { if kill -0 \`cat old.pid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:473"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat old.pid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:473"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:474: ovs_wait_cond () { test -s ovsdb-server.pid && test \`cat ovsdb-server.pid\` != \`cat old.pid\`
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:474"
( $at_check_trace; ovs_wait_cond () { test -s ovsdb-server.pid && test `cat ovsdb-server.pid` != `cat old.pid`
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:474"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:476: test ! -e socket1"
at_fn_check_prepare_trace "ovsdb-server.at:476"
( $at_check_trace; test ! -e socket1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:476"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1139
#AT_START_1140
at_fn_group_banner 1140 'ovsdb-server.at:479' \
  "SSL db: implementation" "                         " 71
at_xfail=no
(
  $as_echo "1140. $at_setup_line: testing $at_desc ..."
  $at_traceon


$as_echo "ovsdb-server.at:481" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:481"
PKIDIR=$abs_top_builddir/tests
$as_echo "ovsdb-server.at:483" >"$at_check_line_file"
(expr "$PKIDIR" : ".* 	'\"

\\") \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:483"
cat >schema <<'_ATEOF'
{"name": "mydb",
     "tables": {
       "SSL": {
         "columns": {
           "private_key": {"type": "string"},
           "certificate": {"type": "string"},
           "ca_cert": {"type": "string"}}}}}
_ATEOF

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:494: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:494"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:494"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:495: ovsdb-tool transact db \\
     '[\"mydb\",
       {\"op\": \"insert\",
        \"table\": \"SSL\",
        \"row\": {\"private_key\": \"'\"\$PKIDIR/testpki-privkey2.pem\"'\",
                \"certificate\": \"'\"\$PKIDIR/testpki-cert2.pem\"'\",
                \"ca_cert\": \"'\"\$PKIDIR/testpki-cacert.pem\"'\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:495"
( $at_check_trace; ovsdb-tool transact db \
     '["mydb",
       {"op": "insert",
        "table": "SSL",
        "row": {"private_key": "'"$PKIDIR/testpki-privkey2.pem"'",
                "certificate": "'"$PKIDIR/testpki-cert2.pem"'",
                "ca_cert": "'"$PKIDIR/testpki-cacert.pem"'"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:495"
$at_failed && at_fn_log_failure
$at_traceon; }

OVS_LOGDIR=`pwd`; export OVS_LOGDIR
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:505: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid \\
        --private-key=db:mydb,SSL,private_key \\
        --certificate=db:mydb,SSL,certificate \\
        --ca-cert=db:mydb,SSL,ca_cert \\
        --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:505"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid \
        --private-key=db:mydb,SSL,private_key \
        --certificate=db:mydb,SSL,certificate \
        --ca-cert=db:mydb,SSL,ca_cert \
        --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:505"
$at_failed && at_fn_log_failure
$at_traceon; }

SSL_PORT=`parse_listening_port < ovsdb-server.log`
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:513: ovsdb-client \\
        --private-key=\$PKIDIR/testpki-privkey.pem \\
        --certificate=\$PKIDIR/testpki-cert.pem \\
        --ca-cert=\$PKIDIR/testpki-cacert.pem \\
        transact ssl:127.0.0.1:\$SSL_PORT \\
        '[\"mydb\",
          {\"op\": \"select\",
           \"table\": \"SSL\",
           \"where\": [],
           \"columns\": [\"private_key\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:513"
( $at_check_trace; ovsdb-client \
        --private-key=$PKIDIR/testpki-privkey.pem \
        --certificate=$PKIDIR/testpki-cert.pem \
        --ca-cert=$PKIDIR/testpki-cacert.pem \
        transact ssl:127.0.0.1:$SSL_PORT \
        '["mydb",
          {"op": "select",
           "table": "SSL",
           "where": [],
           "columns": ["private_key"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:513"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:526: cat output"
at_fn_check_prepare_trace "ovsdb-server.at:526"
( $at_check_trace; cat output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"rows\":[{\"private_key\":\"$PKIDIR/testpki-privkey2.pem\"}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:526"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:530: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:530"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:530"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:530: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:530"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:530"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1140
#AT_START_1141
at_fn_group_banner 1141 'ovsdb-server.at:533' \
  "compacting online" "                              " 71
at_xfail=no
(
  $as_echo "1141. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
ordinal_schema > schema
mkdir dir
ln -s dir/db db
ln -s dir/.db.~lock~ .db.~lock~
$as_echo "ovsdb-server.at:543" >"$at_check_line_file"
(test ! -h db || test ! -h .db.~lock~) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:543"
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:544: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:544"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:546: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --unixctl=\"\`pwd\`\"/unixctl --remote=punix:socket --log-file=\"\`pwd\`\"/ovsdb-server.log db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:546"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --unixctl="`pwd`"/unixctl --remote=punix:socket --log-file="`pwd`"/ovsdb-server.log db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:546"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:549: for pair in 'zero 0' 'one 1' 'two 2' 'three 3' 'four 4' 'five 5'; do
      set -- \$pair
      ovsdb-client transact unix:socket '
        [\"ordinals\",
         {\"op\": \"insert\",
          \"table\": \"ordinals\",
          \"row\": {\"name\": \"'\$1'\", \"number\": '\$2'}},
         {\"op\": \"comment\",
          \"comment\": \"add row for '\"\$pair\"'\"}]'
      ovsdb-client transact unix:socket '
        [\"ordinals\",
         {\"op\": \"delete\",
          \"table\": \"ordinals\",
          \"where\": [[\"number\", \"==\", '\$2']]},
         {\"op\": \"comment\",
          \"comment\": \"delete row for '\"\$2\"'\"}]'
      ovsdb-client transact unix:socket '
        [\"ordinals\",
         {\"op\": \"insert\",
          \"table\": \"ordinals\",
          \"row\": {\"name\": \"'\$1'\", \"number\": '\$2'}},
         {\"op\": \"comment\",
          \"comment\": \"add back row for '\"\$pair\"'\"}]'
    done"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:549"
( $at_check_trace; for pair in 'zero 0' 'one 1' 'two 2' 'three 3' 'four 4' 'five 5'; do
      set -- $pair
      ovsdb-client transact unix:socket '
        ["ordinals",
         {"op": "insert",
          "table": "ordinals",
          "row": {"name": "'$1'", "number": '$2'}},
         {"op": "comment",
          "comment": "add row for '"$pair"'"}]'
      ovsdb-client transact unix:socket '
        ["ordinals",
         {"op": "delete",
          "table": "ordinals",
          "where": [["number", "==", '$2']]},
         {"op": "comment",
          "comment": "delete row for '"$2"'"}]'
      ovsdb-client transact unix:socket '
        ["ordinals",
         {"op": "insert",
          "table": "ordinals",
          "row": {"name": "'$1'", "number": '$2'}},
         {"op": "comment",
          "comment": "add back row for '"$pair"'"}]'
    done
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:549"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:576: \${PERL} \$srcdir/uuidfilt.pl db | grep -v ^OVSDB | sed 's/\"_date\":[0-9]*/\"_date\":0/' | test-json --multiple -"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:576"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl db | grep -v ^OVSDB | sed 's/"_date":[0-9]*/"_date":0/' | test-json --multiple -
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{\"cksum\":\"12345678 9\",\"name\":\"ordinals\",\"tables\":{\"ordinals\":{\"columns\":{\"name\":{\"type\":\"string\"},\"number\":{\"type\":\"integer\"}},\"indexes\":[[\"number\"]]}},\"version\":\"5.1.3\"}
{\"_comment\":\"add row for zero 0\",\"_date\":0,\"ordinals\":{\"<0>\":{\"name\":\"zero\"}}}
{\"_comment\":\"delete row for 0\",\"_date\":0,\"ordinals\":{\"<0>\":null}}
{\"_comment\":\"add back row for zero 0\",\"_date\":0,\"ordinals\":{\"<1>\":{\"name\":\"zero\"}}}
{\"_comment\":\"add row for one 1\",\"_date\":0,\"ordinals\":{\"<2>\":{\"name\":\"one\",\"number\":1}}}
{\"_comment\":\"delete row for 1\",\"_date\":0,\"ordinals\":{\"<2>\":null}}
{\"_comment\":\"add back row for one 1\",\"_date\":0,\"ordinals\":{\"<3>\":{\"name\":\"one\",\"number\":1}}}
{\"_comment\":\"add row for two 2\",\"_date\":0,\"ordinals\":{\"<4>\":{\"name\":\"two\",\"number\":2}}}
{\"_comment\":\"delete row for 2\",\"_date\":0,\"ordinals\":{\"<4>\":null}}
{\"_comment\":\"add back row for two 2\",\"_date\":0,\"ordinals\":{\"<5>\":{\"name\":\"two\",\"number\":2}}}
{\"_comment\":\"add row for three 3\",\"_date\":0,\"ordinals\":{\"<6>\":{\"name\":\"three\",\"number\":3}}}
{\"_comment\":\"delete row for 3\",\"_date\":0,\"ordinals\":{\"<6>\":null}}
{\"_comment\":\"add back row for three 3\",\"_date\":0,\"ordinals\":{\"<7>\":{\"name\":\"three\",\"number\":3}}}
{\"_comment\":\"add row for four 4\",\"_date\":0,\"ordinals\":{\"<8>\":{\"name\":\"four\",\"number\":4}}}
{\"_comment\":\"delete row for 4\",\"_date\":0,\"ordinals\":{\"<8>\":null}}
{\"_comment\":\"add back row for four 4\",\"_date\":0,\"ordinals\":{\"<9>\":{\"name\":\"four\",\"number\":4}}}
{\"_comment\":\"add row for five 5\",\"_date\":0,\"ordinals\":{\"<10>\":{\"name\":\"five\",\"number\":5}}}
{\"_comment\":\"delete row for 5\",\"_date\":0,\"ordinals\":{\"<10>\":null}}
{\"_comment\":\"add back row for five 5\",\"_date\":0,\"ordinals\":{\"<11>\":{\"name\":\"five\",\"number\":5}}}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:576"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:598: ovsdb-client dump unix:socket ordinals"
at_fn_check_prepare_trace "ovsdb-server.at:598"
( $at_check_trace; ovsdb-client dump unix:socket ordinals
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:598"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:600: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:600"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ordinals table
_uuid                                name  number
------------------------------------ ----- ------
<0> five  5     
<1> four  4     
<2> one   1     
<3> three 3     
<4> two   2     
<5> zero  0     
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:600"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:612: ovs-appctl -t \"\`pwd\`\"/unixctl ovsdb-server/compact"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:612"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl ovsdb-server/compact
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:612"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:616: test -h db"
at_fn_check_prepare_trace "ovsdb-server.at:616"
( $at_check_trace; test -h db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:616"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:617: test -h .db.~lock~"
at_fn_check_prepare_trace "ovsdb-server.at:617"
( $at_check_trace; test -h .db.~lock~
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:617"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:618: test -f dir/db"
at_fn_check_prepare_trace "ovsdb-server.at:618"
( $at_check_trace; test -f dir/db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:618"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:619: test -f dir/.db.~lock~"
at_fn_check_prepare_trace "ovsdb-server.at:619"
( $at_check_trace; test -f dir/.db.~lock~
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:619"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:624: test \`wc -l < db\` -eq 4"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:624"
( $at_check_trace; test `wc -l < db` -eq 4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:624"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"db"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:627: ovsdb-client dump unix:socket ordinals"
at_fn_check_prepare_trace "ovsdb-server.at:627"
( $at_check_trace; ovsdb-client dump unix:socket ordinals
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:627"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"db"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:629: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:629"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ordinals table
_uuid                                name  number
------------------------------------ ----- ------
<0> five  5     
<1> four  4     
<2> one   1     
<3> three 3     
<4> two   2     
<5> zero  0     
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:629"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"db"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:641: ovsdb-client transact unix:socket '
     [\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"number\", \"<\", 3]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:641"
( $at_check_trace; ovsdb-client transact unix:socket '
     ["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": [["number", "<", 3]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"count\":3}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:641"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"db"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:650: test \`wc -l < db\` -eq 6"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:650"
( $at_check_trace; test `wc -l < db` -eq 6
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:650"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"db"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:653: ovsdb-client dump unix:socket ordinals"
at_fn_check_prepare_trace "ovsdb-server.at:653"
( $at_check_trace; ovsdb-client dump unix:socket ordinals
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:653"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"db"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:655: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:655"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ordinals table
_uuid                                name  number
------------------------------------ ----- ------
<0> five  5     
<1> four  4     
<2> three 3     
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:655"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"db"
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:663: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:663"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:663"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"db"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:663: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:663"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:663"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"db"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1141
#AT_START_1142
at_fn_group_banner 1142 'ovsdb-server.at:703' \
  "insert default row, query table" "                " 72
at_xfail=no
(
  $as_echo "1142. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"\",\"number\":0}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1142
#AT_START_1143
at_fn_group_banner 1143 'ovsdb-server.at:703' \
  "insert row, query table" "                        " 72
at_xfail=no
(
  $as_echo "1143. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1143
#AT_START_1144
at_fn_group_banner 1144 'ovsdb-server.at:703' \
  "insert rows, query by value" "                    " 72
at_xfail=no
(
  $as_echo "1144. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [["name", "==", "zero"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"one\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [["name", "==", "one"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1144
#AT_START_1145
at_fn_group_banner 1145 'ovsdb-server.at:703' \
  "insert rows, query by named-uuid" "               " 72
at_xfail=no
(
  $as_echo "1145. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"second\"},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"first\"]]]},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"second\"]]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "select",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "first"]]]},
      {"op": "select",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "second"]]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0}]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1145
#AT_START_1146
at_fn_group_banner 1146 'ovsdb-server.at:703' \
  "insert rows, update rows by value" "              " 72
at_xfail=no
(
  $as_echo "1146. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]],
       \"row\": {\"name\": \"nought\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "zero"]],
       "row": {"name": "nought"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"nought\",\"number\":0},{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1146
#AT_START_1147
at_fn_group_banner 1147 'ovsdb-server.at:703' \
  "insert rows, mutate rows" "                       " 72
at_xfail=no
(
  $as_echo "1147. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"mutate\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]],
       \"mutations\": [[\"number\", \"+=\", 2]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "mutate",
       "table": "ordinals",
       "where": [["name", "==", "zero"]],
       "mutations": [["number", "+=", 2]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"one\",\"number\":1},{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"zero\",\"number\":2}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1147
#AT_START_1148
at_fn_group_banner 1148 'ovsdb-server.at:703' \
  "insert rows, delete by named-uuid" "              " 72
at_xfail=no
(
  $as_echo "1148. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"second\"},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"first\"]]]},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\",\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "delete",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "first"]]]},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["name","number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"count\":1},{\"rows\":[{\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1148
#AT_START_1149
at_fn_group_banner 1149 'ovsdb-server.at:703' \
  "insert rows, delete rows by value" "              " 72
at_xfail=no
(
  $as_echo "1149. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "zero"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1149
#AT_START_1150
at_fn_group_banner 1150 'ovsdb-server.at:703' \
  "insert rows, delete by (non-matching) value" "    " 72
at_xfail=no
(
  $as_echo "1150. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"nought\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "nought"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":0}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0},{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1150
#AT_START_1151
at_fn_group_banner 1151 'ovsdb-server.at:703' \
  "insert rows, delete all" "                        " 72
at_xfail=no
(
  $as_echo "1151. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"second\"},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\",\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "delete",
       "table": "ordinals",
       "where": []},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["name","number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"count\":2},{\"rows\":[]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1151
#AT_START_1152
at_fn_group_banner 1152 'ovsdb-server.at:703' \
  "insert row, query table, commit" "                " 72
at_xfail=no
(
  $as_echo "1152. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"commit\",
       \"durable\": false}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "select",
       "table": "ordinals",
       "where": []},
      {"op": "commit",
       "durable": false}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1152
#AT_START_1153
at_fn_group_banner 1153 'ovsdb-server.at:703' \
  "insert row, query table, commit durably" "        " 72
at_xfail=no
(
  $as_echo "1153. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"commit\",
       \"durable\": true}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "select",
       "table": "ordinals",
       "where": []},
      {"op": "commit",
       "durable": true}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1153
#AT_START_1154
at_fn_group_banner 1154 'ovsdb-server.at:703' \
  "equality wait with correct rows" "                " 72
at_xfail=no
(
  $as_echo "1154. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1154
#AT_START_1155
at_fn_group_banner 1155 'ovsdb-server.at:703' \
  "equality wait with extra row" "                   " 72
at_xfail=no
(
  $as_echo "1155. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1},
                {\"name\": \"two\", \"number\": 2}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1},
                {"name": "two", "number": 2}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1155
#AT_START_1156
at_fn_group_banner 1156 'ovsdb-server.at:703' \
  "equality wait with missing row" "                 " 72
at_xfail=no
(
  $as_echo "1156. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1156
#AT_START_1157
at_fn_group_banner 1157 'ovsdb-server.at:703' \
  "inequality wait with correct rows" "              " 72
at_xfail=no
(
  $as_echo "1157. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"!=\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1157
#AT_START_1158
at_fn_group_banner 1158 'ovsdb-server.at:703' \
  "inequality wait with extra row" "                 " 72
at_xfail=no
(
  $as_echo "1158. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"!=\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1},
                {\"name\": \"two\", \"number\": 2}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1},
                {"name": "two", "number": 2}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1158
#AT_START_1159
at_fn_group_banner 1159 'ovsdb-server.at:703' \
  "inequality wait with missing row" "               " 72
at_xfail=no
(
  $as_echo "1159. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"!=\",
       \"rows\": [{\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1159
#AT_START_1160
at_fn_group_banner 1160 'ovsdb-server.at:703' \
  "insert and update constraints" "                  " 72
at_xfail=no
(
  $as_echo "1160. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   constraint_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {\"positive\": -1}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": -1}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"update\",
       \"table\": \"constrained\",
       \"where\": [],
       \"row\": {\"positive\": -2}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "update",
       "table": "constrained",
       "where": [],
       "row": {"positive": -2}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {\"positive\": 1}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": 1}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {\"positive\": 2}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": 2}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"details\":\"0 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"details\":\"-1 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"details\":\"-2 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"transaction causes \\\"constrained\\\" table to contain 2 rows, greater than the schema-defined limit of 1 row(s)\",\"error\":\"constraint violation\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1160
#AT_START_1161
at_fn_group_banner 1161 'ovsdb-server.at:703' \
  "index uniqueness checking" "                      " 72
at_xfail=no
(
  $as_echo "1161. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '   [\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"another one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "another one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '   [\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"another one\"}},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"one\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "another one"}},
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "one"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '   [\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"still another one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '   ["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": []},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "still another one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '   [\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 2, \"name\": \"two\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 2, "name": "two"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '   [\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"row\": {\"number\": 3}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '   ["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [],
       "row": {"number": 3}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '   [\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"number\", \"==\", 1]],
       \"row\": {\"number\": 2, \"name\": \"old two\"}},
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"two\"]],
       \"row\": {\"number\": 1, \"name\": \"old one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '   ["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["number", "==", 1]],
       "row": {"number": 2, "name": "old two"}},
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "two"]],
       "row": {"number": 1, "name": "old one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '   [\"ordinals\",
      {\"op\": \"mutate\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"mutations\": [[\"number\", \"*=\", 10]]},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"new one\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 2, \"name\": \"new two\"}},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"number\", \"name\"],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '   ["ordinals",
      {"op": "mutate",
       "table": "ordinals",
       "where": [],
       "mutations": [["number", "*=", 10]]},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "new one"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 2, "name": "new two"}},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["number", "name"],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (1) for index on column \\\"number\\\".  First row, with UUID <0>, existed in the database before this transaction and was not modified by the transaction.  Second row, with UUID <1>, was inserted by this transaction.\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<2>\"]},{\"count\":1}]
[{\"count\":1},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (1) for index on column \\\"number\\\".  First row, with UUID <4>, was inserted by this transaction.  Second row, with UUID <3>, was inserted by this transaction.\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<5>\"]}]
[{\"count\":2},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (3) for index on column \\\"number\\\".  First row, with UUID <5>, had the following index values before the transaction: 2.  Second row, with UUID <2>, had the following index values before the transaction: 1.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"count\":1}]
[{\"count\":2},{\"uuid\":[\"uuid\",\"<6>\"]},{\"uuid\":[\"uuid\",\"<7>\"]},{\"rows\":[{\"name\":\"new one\",\"number\":1},{\"name\":\"new two\",\"number\":2},{\"name\":\"old one\",\"number\":10},{\"name\":\"old two\",\"number\":20}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1161
#AT_START_1162
at_fn_group_banner 1162 'ovsdb-server.at:703' \
  "referential integrity -- simple" "                " 72
at_xfail=no
(
  $as_echo "1162. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   constraint_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 1},
       \"uuid-name\": \"brow\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0,
               \"a2b\": [\"set\", [[\"named-uuid\", \"brow\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 1,
               \"a2b\": [\"set\", [[\"named-uuid\", \"brow\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 2,
               \"a2b\": [\"set\", [[\"named-uuid\", \"brow\"]]]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "insert",
       "table": "b",
       "row": {"b": 1},
       "uuid-name": "brow"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2b": ["set", [["named-uuid", "brow"]]]}},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1,
               "a2b": ["set", [["named-uuid", "brow"]]]}},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2,
               "a2b": ["set", [["named-uuid", "brow"]]]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '   [\"constraints\",
      {\"op\": \"mutate\",
       \"table\": \"b\",
       \"where\": [],
       \"mutations\": [[\"x\", \"delete\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '   ["constraints",
      {"op": "mutate",
       "table": "b",
       "where": [],
       "mutations": [["x", "delete", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 2]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 2]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 3 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"details\":\"Attempted to store 0 elements in set of 1 to 2 integers.\",\"error\":\"constraint violation\"}]
[{\"count\":1}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 2 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1}]
[{\"count\":1}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1162
#AT_START_1163
at_fn_group_banner 1163 'ovsdb-server.at:703' \
  "referential integrity -- mutual references" "     " 72
at_xfail=no
(
  $as_echo "1163. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   constraint_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0,
               \"a2b\": [\"set\", [[\"named-uuid\", \"row2\"]]],
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"]]]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 1,
               \"b2b\": [\"set\", [[\"named-uuid\", \"row2\"]]],
               \"b2a\": [\"set\", [[\"named-uuid\", \"row1\"]]]},
       \"uuid-name\": \"row2\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2b": ["set", [["named-uuid", "row2"]]],
               "a2a": ["set", [["named-uuid", "row1"]]]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "b",
       "row": {"b": 1,
               "b2b": ["set", [["named-uuid", "row2"]]],
               "b2a": ["set", [["named-uuid", "row1"]]]},
       "uuid-name": "row2"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a2b\": [\"set\", [[\"uuid\", \"b516b960-5b19-4fc2-bb82-fe1cbd6d0241\"]]]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "insert",
       "table": "a",
       "row": {"a2b": ["set", [["uuid", "b516b960-5b19-4fc2-bb82-fe1cbd6d0241"]]]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '   [\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '   ["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]},
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]},
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"uuid\":[\"uuid\",\"<2>\"]},{\"details\":\"Table a column a2b row <2> references nonexistent row <3> in table b.\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete a row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete b row <1> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete a row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete b row <1> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"count\":1}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1163
#AT_START_1164
at_fn_group_banner 1164 'ovsdb-server.at:703' \
  "weak references" "                                " 72
at_xfail=no
(
  $as_echo "1164. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   weak_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"weak\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0,
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"],
                               [\"named-uuid\", \"row2\"],
                               [\"uuid\", \"0e767b36-6822-4044-8307-d58467e04669\"]]],
               \"a2a1\": [\"named-uuid\", \"row1\"],
               \"a2b\": [\"named-uuid\", \"row3\"]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 1,
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"],
                               [\"named-uuid\", \"row2\"]]],
               \"a2a1\": [\"named-uuid\", \"row2\"],
               \"a2b\": [\"named-uuid\", \"row3\"]},
       \"uuid-name\": \"row2\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 2,
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"],
                               [\"named-uuid\", \"row2\"]]],
               \"a2a1\": [\"named-uuid\", \"row2\"],
               \"a2b\": [\"named-uuid\", \"row4\"]}},
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 2,
               \"b2a\": [\"named-uuid\", \"row1\"]},
       \"uuid-name\": \"row3\"},
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 3,
               \"b2a\": [\"named-uuid\", \"row2\"]},
       \"uuid-name\": \"row4\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["weak",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"],
                               ["uuid", "0e767b36-6822-4044-8307-d58467e04669"]]],
               "a2a1": ["named-uuid", "row1"],
               "a2b": ["named-uuid", "row3"]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"]]],
               "a2a1": ["named-uuid", "row2"],
               "a2b": ["named-uuid", "row3"]},
       "uuid-name": "row2"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"]]],
               "a2a1": ["named-uuid", "row2"],
               "a2b": ["named-uuid", "row4"]}},
      {"op": "insert",
       "table": "b",
       "row": {"b": 2,
               "b2a": ["named-uuid", "row1"]},
       "uuid-name": "row3"},
      {"op": "insert",
       "table": "b",
       "row": {"b": 3,
               "b2a": ["named-uuid", "row2"]},
       "uuid-name": "row4"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '      [\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '      ["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '      [\"weak\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a2a1\": [\"named-uuid\", \"me\"]},
       \"uuid-name\": \"me\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '      ["weak",
      {"op": "insert",
       "table": "a",
       "row": {"a2a1": ["named-uuid", "me"]},
       "uuid-name": "me"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '      [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 3]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '      ["weak",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 3]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '      [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '      ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '      [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 2]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '      ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 2]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '   [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '   ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '   [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '   ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<0>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<2>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<4>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"uuid\",\"<0>\"]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"uuid\":[\"uuid\",\"<5>\"]},{\"details\":\"Weak reference column \\\"a2b\\\" in \\\"a\\\" row <5> (inserted within this transaction) contained all-zeros UUID (probably as the default value for this column) but deleting this value caused a constraint volation because this column is not allowed to be empty.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"details\":\"Deletion of 1 weak reference(s) to deleted (or never-existing) rows from column \\\"a2b\\\" in \\\"a\\\" row <2> caused this column to become empty, but constraints on this column disallow an empty column.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"details\":\"Deletion of 1 weak reference(s) to deleted (or never-existing) rows from column \\\"a2a1\\\" in \\\"a\\\" row <2> caused this column to become empty, but constraints on this column disallow an empty column.\",\"error\":\"constraint violation\"}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<0>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"uuid\",\"<0>\"]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"uuid\",\"<1>\"],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"set\",[]]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"set\",[]]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"set\",[]]}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1164
#AT_START_1165
at_fn_group_banner 1165 'ovsdb-server.at:703' \
  "immutable columns" "                              " 72
at_xfail=no
(
  $as_echo "1165. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   immutable_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"immutable\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"i\": 5},
       \"uuid-name\": \"row1\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["immutable",
      {"op": "insert",
       "table": "a",
       "row": {"i": 5},
       "uuid-name": "row1"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"immutable\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"row\": {\"i\": 10},
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["immutable",
      {"op": "update",
       "table": "a",
       "row": {"i": 10},
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"immutable\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"row\": {\"i\": 5},
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["immutable",
      {"op": "update",
       "table": "a",
       "row": {"i": 5},
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"immutable\",
      {\"op\": \"mutate\",
       \"table\": \"a\",
       \"where\": [],
       \"mutations\": [[\"i\", \"-=\", 5]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["immutable",
      {"op": "mutate",
       "table": "a",
       "where": [],
       "mutations": [["i", "-=", 5]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"immutable\",
      {\"op\": \"mutate\",
       \"table\": \"a\",
       \"where\": [],
       \"mutations\": [[\"i\", \"*=\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["immutable",
      {"op": "mutate",
       "table": "a",
       "where": [],
       "mutations": [["i", "*=", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"details\":\"Cannot update immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"{\\\"op\\\":\\\"update\\\",\\\"row\\\":{\\\"i\\\":10},\\\"table\\\":\\\"a\\\",\\\"where\\\":[]}\"}]
[{\"details\":\"Cannot update immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"{\\\"op\\\":\\\"update\\\",\\\"row\\\":{\\\"i\\\":5},\\\"table\\\":\\\"a\\\",\\\"where\\\":[]}\"}]
[{\"details\":\"Cannot mutate immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"[\\\"i\\\",\\\"-=\\\",5]\"}]
[{\"details\":\"Cannot mutate immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"[\\\"i\\\",\\\"*=\\\",1]\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1165
#AT_START_1166
at_fn_group_banner 1166 'ovsdb-server.at:703' \
  "garbage collection" "                             " 72
at_xfail=no
(
  $as_echo "1166. $at_setup_line: testing $at_desc ..."
  $at_traceon


   $as_echo "ovsdb-server.at:703" >"$at_check_line_file"
(test "$HAVE_OPENSSL" = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-server.at:703"
   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   gc_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:703"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --private-key=\$PKIDIR/testpki-privkey2.pem --certificate=\$PKIDIR/testpki-cert2.pem --ca-cert=\$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --private-key=$PKIDIR/testpki-privkey2.pem --certificate=$PKIDIR/testpki-cert2.pem --ca-cert=$PKIDIR/testpki-cacert.pem --remote=pssl:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   SSL_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '   [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '      [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0, \"a2a\": [\"named-uuid\", \"row1\"]},
       \"uuid-name\": \"row0\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 1, \"a2a\": [\"named-uuid\", \"row2\"]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 2, \"a2a\": [\"named-uuid\", \"row3\"]},
       \"uuid-name\": \"row2\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 3},
       \"uuid-name\": \"row3\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0, "a2a": ["named-uuid", "row1"]},
       "uuid-name": "row0"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1, "a2a": ["named-uuid", "row2"]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2, "a2a": ["named-uuid", "row3"]},
       "uuid-name": "row2"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 3},
       "uuid-name": "row3"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '      [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 4, \"a2a\": [\"named-uuid\", \"row5\"]},
       \"uuid-name\": \"row4\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 5, \"a2a\": [\"named-uuid\", \"row4\"]},
       \"uuid-name\": \"row5\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 4, "a2a": ["named-uuid", "row5"]},
       "uuid-name": "row4"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 5, "a2a": ["named-uuid", "row4"]},
       "uuid-name": "row5"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '   [\"gc\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 4]],
       \"row\": {\"a2a\": [\"set\", []]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '   ["gc",
      {"op": "update",
       "table": "a",
       "where": [["a", "==", 4]],
       "row": {"a2a": ["set", []]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '      [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 6, \"wa2a\": [\"named-uuid\", \"row7\"]},
       \"uuid-name\": \"row6\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 7, \"wa2a\": [\"named-uuid\", \"row6\"]},
       \"uuid-name\": \"row7\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 6, "wa2a": ["named-uuid", "row7"]},
       "uuid-name": "row6"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 7, "wa2a": ["named-uuid", "row6"]},
       "uuid-name": "row7"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '   [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 8, \"a2a\": [\"named-uuid\", \"row9\"]},
       \"uuid-name\": \"row8\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 9, \"a2a\": [\"named-uuid\", \"row10\"]},
       \"uuid-name\": \"row9\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 10, \"a2a\": [\"named-uuid\", \"row11\"]},
       \"uuid-name\": \"row10\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 11, \"a2a\": [\"named-uuid\", \"row8\"]},
       \"uuid-name\": \"row11\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 8, "a2a": ["named-uuid", "row9"]},
       "uuid-name": "row8"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 9, "a2a": ["named-uuid", "row10"]},
       "uuid-name": "row9"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 10, "a2a": ["named-uuid", "row11"]},
       "uuid-name": "row10"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 11, "a2a": ["named-uuid", "row8"]},
       "uuid-name": "row11"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '   [\"gc\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 9]],
       \"row\": {\"a2a\": [\"set\", []]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '   ["gc",
      {"op": "update",
       "table": "a",
       "where": [["a", "==", 9]],
       "row": {"a2a": ["set", []]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '   [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 12, \"a2a\": [\"named-uuid\", \"self\"]},
       \"uuid-name\": \"self\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 12, "a2a": ["named-uuid", "self"]},
       "uuid-name": "self"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovsdb-client --private-key=\$PKIDIR/testpki-privkey.pem --certificate=\$PKIDIR/testpki-cert.pem --ca-cert=\$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:\$SSL_PORT '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:703"
( $at_check_trace; ovsdb-client --private-key=$PKIDIR/testpki-privkey.pem --certificate=$PKIDIR/testpki-cert.pem --ca-cert=$PKIDIR/testpki-cacert.pem transact ssl:127.0.0.1:$SSL_PORT '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:703"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<5>\"]},{\"uuid\":[\"uuid\",\"<6>\"]}]
[{\"rows\":[{\"a\":4},{\"a\":5}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<7>\"]},{\"uuid\":[\"uuid\",\"<8>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<9>\"]},{\"uuid\":[\"uuid\",\"<10>\"]},{\"uuid\":[\"uuid\",\"<11>\"]},{\"uuid\":[\"uuid\",\"<12>\"]}]
[{\"rows\":[{\"a\":8},{\"a\":9},{\"a\":10},{\"a\":11}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<13>\"]}]
[{\"rows\":[]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1166
#AT_START_1167
at_fn_group_banner 1167 'ovsdb-server.at:707' \
  "ovsdb-client get-schema-version - tcp socket" "   " 73
at_xfail=no
(
  $as_echo "1167. $at_setup_line: testing $at_desc ..."
  $at_traceon


ordinal_schema > schema
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:710: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:710"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:710"
$at_failed && at_fn_log_failure
$at_traceon; }

OVS_LOGDIR=`pwd`; export OVS_LOGDIR
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:712: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --unixctl=\"\`pwd\`\"/unixctl --remote=ptcp:0:127.0.0.1 db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:712"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --unixctl="`pwd`"/unixctl --remote=ptcp:0:127.0.0.1 db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:712"
$at_failed && at_fn_log_failure
$at_traceon; }

TCP_PORT=`parse_listening_port < ovsdb-server.log`
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:714: ovsdb-client get-schema-version tcp:127.0.0.1:\$TCP_PORT ordinals"
at_fn_check_prepare_dynamic "ovsdb-client get-schema-version tcp:127.0.0.1:$TCP_PORT ordinals" "ovsdb-server.at:714"
( $at_check_trace; ovsdb-client get-schema-version tcp:127.0.0.1:$TCP_PORT ordinals
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "5.1.3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:714"
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:716: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:716"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:716"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:716: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:716"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:716"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1167
#AT_START_1168
at_fn_group_banner 1168 'ovsdb-server.at:753' \
  "insert default row, query table" "                " 73
at_xfail=no
(
  $as_echo "1168. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"\",\"number\":0}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1168
#AT_START_1169
at_fn_group_banner 1169 'ovsdb-server.at:753' \
  "insert row, query table" "                        " 73
at_xfail=no
(
  $as_echo "1169. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1169
#AT_START_1170
at_fn_group_banner 1170 'ovsdb-server.at:753' \
  "insert rows, query by value" "                    " 73
at_xfail=no
(
  $as_echo "1170. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [["name", "==", "zero"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"one\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [["name", "==", "one"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1170
#AT_START_1171
at_fn_group_banner 1171 'ovsdb-server.at:753' \
  "insert rows, query by named-uuid" "               " 73
at_xfail=no
(
  $as_echo "1171. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"second\"},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"first\"]]]},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"second\"]]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "select",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "first"]]]},
      {"op": "select",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "second"]]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0}]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1171
#AT_START_1172
at_fn_group_banner 1172 'ovsdb-server.at:753' \
  "insert rows, update rows by value" "              " 73
at_xfail=no
(
  $as_echo "1172. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]],
       \"row\": {\"name\": \"nought\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "zero"]],
       "row": {"name": "nought"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"nought\",\"number\":0},{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1172
#AT_START_1173
at_fn_group_banner 1173 'ovsdb-server.at:753' \
  "insert rows, mutate rows" "                       " 73
at_xfail=no
(
  $as_echo "1173. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"mutate\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]],
       \"mutations\": [[\"number\", \"+=\", 2]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "mutate",
       "table": "ordinals",
       "where": [["name", "==", "zero"]],
       "mutations": [["number", "+=", 2]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"one\",\"number\":1},{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"zero\",\"number\":2}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1173
#AT_START_1174
at_fn_group_banner 1174 'ovsdb-server.at:753' \
  "insert rows, delete by named-uuid" "              " 73
at_xfail=no
(
  $as_echo "1174. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"second\"},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"first\"]]]},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\",\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "delete",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "first"]]]},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["name","number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"count\":1},{\"rows\":[{\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1174
#AT_START_1175
at_fn_group_banner 1175 'ovsdb-server.at:753' \
  "insert rows, delete rows by value" "              " 73
at_xfail=no
(
  $as_echo "1175. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"zero\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "zero"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1175
#AT_START_1176
at_fn_group_banner 1176 'ovsdb-server.at:753' \
  "insert rows, delete by (non-matching) value" "    " 73
at_xfail=no
(
  $as_echo "1176. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"first\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"nought\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "nought"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":0}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0},{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1176
#AT_START_1177
at_fn_group_banner 1177 'ovsdb-server.at:753' \
  "insert rows, delete all" "                        " 73
at_xfail=no
(
  $as_echo "1177. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"},
       \"uuid-name\": \"first\"},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"},
       \"uuid-name\": \"second\"},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\",\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "delete",
       "table": "ordinals",
       "where": []},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["name","number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"count\":2},{\"rows\":[]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1177
#AT_START_1178
at_fn_group_banner 1178 'ovsdb-server.at:753' \
  "insert row, query table, commit" "                " 73
at_xfail=no
(
  $as_echo "1178. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"commit\",
       \"durable\": false}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "select",
       "table": "ordinals",
       "where": []},
      {"op": "commit",
       "durable": false}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1178
#AT_START_1179
at_fn_group_banner 1179 'ovsdb-server.at:753' \
  "insert row, query table, commit durably" "        " 73
at_xfail=no
(
  $as_echo "1179. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"commit\",
       \"durable\": true}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "select",
       "table": "ordinals",
       "where": []},
      {"op": "commit",
       "durable": true}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1179
#AT_START_1180
at_fn_group_banner 1180 'ovsdb-server.at:753' \
  "equality wait with correct rows" "                " 73
at_xfail=no
(
  $as_echo "1180. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1180
#AT_START_1181
at_fn_group_banner 1181 'ovsdb-server.at:753' \
  "equality wait with extra row" "                   " 73
at_xfail=no
(
  $as_echo "1181. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1},
                {\"name\": \"two\", \"number\": 2}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1},
                {"name": "two", "number": 2}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1181
#AT_START_1182
at_fn_group_banner 1182 'ovsdb-server.at:753' \
  "equality wait with missing row" "                 " 73
at_xfail=no
(
  $as_echo "1182. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"==\",
       \"rows\": [{\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1182
#AT_START_1183
at_fn_group_banner 1183 'ovsdb-server.at:753' \
  "inequality wait with correct rows" "              " 73
at_xfail=no
(
  $as_echo "1183. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"!=\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1183
#AT_START_1184
at_fn_group_banner 1184 'ovsdb-server.at:753' \
  "inequality wait with extra row" "                 " 73
at_xfail=no
(
  $as_echo "1184. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"!=\",
       \"rows\": [{\"name\": \"zero\", \"number\": 0},
                {\"name\": \"one\", \"number\": 1},
                {\"name\": \"two\", \"number\": 2}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1},
                {"name": "two", "number": 2}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1184
#AT_START_1185
at_fn_group_banner 1185 'ovsdb-server.at:753' \
  "inequality wait with missing row" "               " 73
at_xfail=no
(
  $as_echo "1185. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"wait\",
       \"timeout\": 0,
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"name\", \"number\"],
       \"until\": \"!=\",
       \"rows\": [{\"name\": \"one\", \"number\": 1}]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "one", "number": 1}]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1185
#AT_START_1186
at_fn_group_banner 1186 'ovsdb-server.at:753' \
  "insert and update constraints" "                  " 73
at_xfail=no
(
  $as_echo "1186. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   constraint_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {\"positive\": -1}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": -1}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"update\",
       \"table\": \"constrained\",
       \"where\": [],
       \"row\": {\"positive\": -2}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "update",
       "table": "constrained",
       "where": [],
       "row": {"positive": -2}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {\"positive\": 1}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": 1}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"constrained\",
       \"row\": {\"positive\": 2}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": 2}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"details\":\"0 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"details\":\"-1 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"details\":\"-2 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"transaction causes \\\"constrained\\\" table to contain 2 rows, greater than the schema-defined limit of 1 row(s)\",\"error\":\"constraint violation\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1186
#AT_START_1187
at_fn_group_banner 1187 'ovsdb-server.at:753' \
  "index uniqueness checking" "                      " 73
at_xfail=no
(
  $as_echo "1187. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   ordinal_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '   [\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"another one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "another one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '   [\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"another one\"}},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"one\"]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "another one"}},
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "one"]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '   [\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": []},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"one\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"still another one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '   ["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": []},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "still another one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '   [\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 2, \"name\": \"two\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 2, "name": "two"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '   [\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"row\": {\"number\": 3}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '   ["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [],
       "row": {"number": 3}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '   [\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"number\", \"==\", 1]],
       \"row\": {\"number\": 2, \"name\": \"old two\"}},
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"two\"]],
       \"row\": {\"number\": 1, \"name\": \"old one\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '   ["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["number", "==", 1]],
       "row": {"number": 2, "name": "old two"}},
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "two"]],
       "row": {"number": 1, "name": "old one"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '   [\"ordinals\",
      {\"op\": \"mutate\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"mutations\": [[\"number\", \"*=\", 10]]},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 1, \"name\": \"new one\"}},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 2, \"name\": \"new two\"}},
      {\"op\": \"select\",
       \"table\": \"ordinals\",
       \"where\": [],
       \"columns\": [\"number\", \"name\"],
       \"sort\": [\"number\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '   ["ordinals",
      {"op": "mutate",
       "table": "ordinals",
       "where": [],
       "mutations": [["number", "*=", 10]]},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "new one"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 2, "name": "new two"}},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["number", "name"],
       "sort": ["number"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (1) for index on column \\\"number\\\".  First row, with UUID <0>, existed in the database before this transaction and was not modified by the transaction.  Second row, with UUID <1>, was inserted by this transaction.\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<2>\"]},{\"count\":1}]
[{\"count\":1},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (1) for index on column \\\"number\\\".  First row, with UUID <4>, was inserted by this transaction.  Second row, with UUID <3>, was inserted by this transaction.\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<5>\"]}]
[{\"count\":2},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (3) for index on column \\\"number\\\".  First row, with UUID <5>, had the following index values before the transaction: 2.  Second row, with UUID <2>, had the following index values before the transaction: 1.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"count\":1}]
[{\"count\":2},{\"uuid\":[\"uuid\",\"<6>\"]},{\"uuid\":[\"uuid\",\"<7>\"]},{\"rows\":[{\"name\":\"new one\",\"number\":1},{\"name\":\"new two\",\"number\":2},{\"name\":\"old one\",\"number\":10},{\"name\":\"old two\",\"number\":20}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1187
#AT_START_1188
at_fn_group_banner 1188 'ovsdb-server.at:753' \
  "referential integrity -- simple" "                " 73
at_xfail=no
(
  $as_echo "1188. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   constraint_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 1},
       \"uuid-name\": \"brow\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0,
               \"a2b\": [\"set\", [[\"named-uuid\", \"brow\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 1,
               \"a2b\": [\"set\", [[\"named-uuid\", \"brow\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 2,
               \"a2b\": [\"set\", [[\"named-uuid\", \"brow\"]]]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "insert",
       "table": "b",
       "row": {"b": 1},
       "uuid-name": "brow"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2b": ["set", [["named-uuid", "brow"]]]}},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1,
               "a2b": ["set", [["named-uuid", "brow"]]]}},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2,
               "a2b": ["set", [["named-uuid", "brow"]]]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '   [\"constraints\",
      {\"op\": \"mutate\",
       \"table\": \"b\",
       \"where\": [],
       \"mutations\": [[\"x\", \"delete\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '   ["constraints",
      {"op": "mutate",
       "table": "b",
       "where": [],
       "mutations": [["x", "delete", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 2]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 2]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 3 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"details\":\"Attempted to store 0 elements in set of 1 to 2 integers.\",\"error\":\"constraint violation\"}]
[{\"count\":1}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 2 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1}]
[{\"count\":1}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1188
#AT_START_1189
at_fn_group_banner 1189 'ovsdb-server.at:753' \
  "referential integrity -- mutual references" "     " 73
at_xfail=no
(
  $as_echo "1189. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   constraint_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0,
               \"a2b\": [\"set\", [[\"named-uuid\", \"row2\"]]],
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"]]]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 1,
               \"b2b\": [\"set\", [[\"named-uuid\", \"row2\"]]],
               \"b2a\": [\"set\", [[\"named-uuid\", \"row1\"]]]},
       \"uuid-name\": \"row2\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2b": ["set", [["named-uuid", "row2"]]],
               "a2a": ["set", [["named-uuid", "row1"]]]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "b",
       "row": {"b": 1,
               "b2b": ["set", [["named-uuid", "row2"]]],
               "b2a": ["set", [["named-uuid", "row1"]]]},
       "uuid-name": "row2"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a2b\": [\"set\", [[\"uuid\", \"b516b960-5b19-4fc2-bb82-fe1cbd6d0241\"]]]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "insert",
       "table": "a",
       "row": {"a2b": ["set", [["uuid", "b516b960-5b19-4fc2-bb82-fe1cbd6d0241"]]]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '   [\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '   ["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"constraints\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]},
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]},
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"uuid\":[\"uuid\",\"<2>\"]},{\"details\":\"Table a column a2b row <2> references nonexistent row <3> in table b.\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete a row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete b row <1> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete a row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete b row <1> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"count\":1}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1189
#AT_START_1190
at_fn_group_banner 1190 'ovsdb-server.at:753' \
  "weak references" "                                " 73
at_xfail=no
(
  $as_echo "1190. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   weak_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"weak\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0,
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"],
                               [\"named-uuid\", \"row2\"],
                               [\"uuid\", \"0e767b36-6822-4044-8307-d58467e04669\"]]],
               \"a2a1\": [\"named-uuid\", \"row1\"],
               \"a2b\": [\"named-uuid\", \"row3\"]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 1,
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"],
                               [\"named-uuid\", \"row2\"]]],
               \"a2a1\": [\"named-uuid\", \"row2\"],
               \"a2b\": [\"named-uuid\", \"row3\"]},
       \"uuid-name\": \"row2\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 2,
               \"a2a\": [\"set\", [[\"named-uuid\", \"row1\"],
                               [\"named-uuid\", \"row2\"]]],
               \"a2a1\": [\"named-uuid\", \"row2\"],
               \"a2b\": [\"named-uuid\", \"row4\"]}},
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 2,
               \"b2a\": [\"named-uuid\", \"row1\"]},
       \"uuid-name\": \"row3\"},
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 3,
               \"b2a\": [\"named-uuid\", \"row2\"]},
       \"uuid-name\": \"row4\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["weak",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"],
                               ["uuid", "0e767b36-6822-4044-8307-d58467e04669"]]],
               "a2a1": ["named-uuid", "row1"],
               "a2b": ["named-uuid", "row3"]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"]]],
               "a2a1": ["named-uuid", "row2"],
               "a2b": ["named-uuid", "row3"]},
       "uuid-name": "row2"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"]]],
               "a2a1": ["named-uuid", "row2"],
               "a2b": ["named-uuid", "row4"]}},
      {"op": "insert",
       "table": "b",
       "row": {"b": 2,
               "b2a": ["named-uuid", "row1"]},
       "uuid-name": "row3"},
      {"op": "insert",
       "table": "b",
       "row": {"b": 3,
               "b2a": ["named-uuid", "row2"]},
       "uuid-name": "row4"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '      [\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '      ["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '      [\"weak\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a2a1\": [\"named-uuid\", \"me\"]},
       \"uuid-name\": \"me\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '      ["weak",
      {"op": "insert",
       "table": "a",
       "row": {"a2a1": ["named-uuid", "me"]},
       "uuid-name": "me"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '      [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"b\",
       \"where\": [[\"b\", \"==\", 3]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '      ["weak",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 3]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '      [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '      ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '      [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 2]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '      ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 2]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '   [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '   ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '   [\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '   ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"a2a\", \"a2a1\", \"a2b\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"weak\",
      {\"op\": \"select\",
       \"table\": \"b\",
       \"where\": [],
       \"columns\": [\"_uuid\", \"b\", \"b2a\"],
       \"sort\": [\"b\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<0>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<2>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<4>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"uuid\",\"<0>\"]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"uuid\":[\"uuid\",\"<5>\"]},{\"details\":\"Weak reference column \\\"a2b\\\" in \\\"a\\\" row <5> (inserted within this transaction) contained all-zeros UUID (probably as the default value for this column) but deleting this value caused a constraint volation because this column is not allowed to be empty.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"details\":\"Deletion of 1 weak reference(s) to deleted (or never-existing) rows from column \\\"a2b\\\" in \\\"a\\\" row <2> caused this column to become empty, but constraints on this column disallow an empty column.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"details\":\"Deletion of 1 weak reference(s) to deleted (or never-existing) rows from column \\\"a2a1\\\" in \\\"a\\\" row <2> caused this column to become empty, but constraints on this column disallow an empty column.\",\"error\":\"constraint violation\"}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<0>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"uuid\",\"<0>\"]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"uuid\",\"<1>\"],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"set\",[]]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"set\",[]]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"set\",[]]}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1190
#AT_START_1191
at_fn_group_banner 1191 'ovsdb-server.at:753' \
  "immutable columns" "                              " 73
at_xfail=no
(
  $as_echo "1191. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   immutable_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"immutable\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"i\": 5},
       \"uuid-name\": \"row1\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["immutable",
      {"op": "insert",
       "table": "a",
       "row": {"i": 5},
       "uuid-name": "row1"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"immutable\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"row\": {\"i\": 10},
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["immutable",
      {"op": "update",
       "table": "a",
       "row": {"i": 10},
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"immutable\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"row\": {\"i\": 5},
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["immutable",
      {"op": "update",
       "table": "a",
       "row": {"i": 5},
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"immutable\",
      {\"op\": \"mutate\",
       \"table\": \"a\",
       \"where\": [],
       \"mutations\": [[\"i\", \"-=\", 5]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["immutable",
      {"op": "mutate",
       "table": "a",
       "where": [],
       "mutations": [["i", "-=", 5]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"immutable\",
      {\"op\": \"mutate\",
       \"table\": \"a\",
       \"where\": [],
       \"mutations\": [[\"i\", \"*=\", 1]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["immutable",
      {"op": "mutate",
       "table": "a",
       "where": [],
       "mutations": [["i", "*=", 1]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"details\":\"Cannot update immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"{\\\"op\\\":\\\"update\\\",\\\"row\\\":{\\\"i\\\":10},\\\"table\\\":\\\"a\\\",\\\"where\\\":[]}\"}]
[{\"details\":\"Cannot update immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"{\\\"op\\\":\\\"update\\\",\\\"row\\\":{\\\"i\\\":5},\\\"table\\\":\\\"a\\\",\\\"where\\\":[]}\"}]
[{\"details\":\"Cannot mutate immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"[\\\"i\\\",\\\"-=\\\",5]\"}]
[{\"details\":\"Cannot mutate immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"[\\\"i\\\",\\\"*=\\\",1]\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1191
#AT_START_1192
at_fn_group_banner 1192 'ovsdb-server.at:753' \
  "garbage collection" "                             " 73
at_xfail=no
(
  $as_echo "1192. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   gc_schema > schema
   PKIDIR=$abs_top_builddir/tests
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:753"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-server --log-file --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-server --log-file --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '   [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '      [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0, \"a2a\": [\"named-uuid\", \"row1\"]},
       \"uuid-name\": \"row0\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 1, \"a2a\": [\"named-uuid\", \"row2\"]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 2, \"a2a\": [\"named-uuid\", \"row3\"]},
       \"uuid-name\": \"row2\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 3},
       \"uuid-name\": \"row3\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0, "a2a": ["named-uuid", "row1"]},
       "uuid-name": "row0"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1, "a2a": ["named-uuid", "row2"]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2, "a2a": ["named-uuid", "row3"]},
       "uuid-name": "row2"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 3},
       "uuid-name": "row3"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '      [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 4, \"a2a\": [\"named-uuid\", \"row5\"]},
       \"uuid-name\": \"row4\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 5, \"a2a\": [\"named-uuid\", \"row4\"]},
       \"uuid-name\": \"row5\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 4, "a2a": ["named-uuid", "row5"]},
       "uuid-name": "row4"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 5, "a2a": ["named-uuid", "row4"]},
       "uuid-name": "row5"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '   [\"gc\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 4]],
       \"row\": {\"a2a\": [\"set\", []]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '   ["gc",
      {"op": "update",
       "table": "a",
       "where": [["a", "==", 4]],
       "row": {"a2a": ["set", []]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '      [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 6, \"wa2a\": [\"named-uuid\", \"row7\"]},
       \"uuid-name\": \"row6\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 7, \"wa2a\": [\"named-uuid\", \"row6\"]},
       \"uuid-name\": \"row7\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 6, "wa2a": ["named-uuid", "row7"]},
       "uuid-name": "row6"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 7, "wa2a": ["named-uuid", "row6"]},
       "uuid-name": "row7"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '   [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 8, \"a2a\": [\"named-uuid\", \"row9\"]},
       \"uuid-name\": \"row8\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 9, \"a2a\": [\"named-uuid\", \"row10\"]},
       \"uuid-name\": \"row9\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 10, \"a2a\": [\"named-uuid\", \"row11\"]},
       \"uuid-name\": \"row10\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 11, \"a2a\": [\"named-uuid\", \"row8\"]},
       \"uuid-name\": \"row11\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 8, "a2a": ["named-uuid", "row9"]},
       "uuid-name": "row8"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 9, "a2a": ["named-uuid", "row10"]},
       "uuid-name": "row9"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 10, "a2a": ["named-uuid", "row11"]},
       "uuid-name": "row10"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 11, "a2a": ["named-uuid", "row8"]},
       "uuid-name": "row11"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"],
       \"sort\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"],
       "sort": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '   [\"gc\",
      {\"op\": \"update\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 9]],
       \"row\": {\"a2a\": [\"set\", []]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '   ["gc",
      {"op": "update",
       "table": "a",
       "where": [["a", "==", 9]],
       "row": {"a2a": ["set", []]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '   [\"gc\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 12, \"a2a\": [\"named-uuid\", \"self\"]},
       \"uuid-name\": \"self\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 12, "a2a": ["named-uuid", "self"]},
       "uuid-name": "self"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output
{ set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"gc\",
      {\"op\": \"select\",
       \"table\": \"a\",
       \"where\": [],
       \"columns\": [\"a\"]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-server.at:753"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:753"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<5>\"]},{\"uuid\":[\"uuid\",\"<6>\"]}]
[{\"rows\":[{\"a\":4},{\"a\":5}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<7>\"]},{\"uuid\":[\"uuid\",\"<8>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<9>\"]},{\"uuid\":[\"uuid\",\"<10>\"]},{\"uuid\":[\"uuid\",\"<11>\"]},{\"uuid\":[\"uuid\",\"<12>\"]}]
[{\"rows\":[{\"a\":8},{\"a\":9},{\"a\":10},{\"a\":11}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<13>\"]}]
[{\"rows\":[]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:753: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:753"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:753"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1192
#AT_START_1193
at_fn_group_banner 1193 'ovsdb-server.at:789' \
  "insert default row, query table" "                " 74
at_xfail=no
(
  $as_echo "1193. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"\",\"number\":0}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1193
#AT_START_1194
at_fn_group_banner 1194 'ovsdb-server.at:789' \
  "insert row, query table" "                        " 74
at_xfail=no
(
  $as_echo "1194. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1194
#AT_START_1195
at_fn_group_banner 1195 'ovsdb-server.at:789' \
  "insert rows, query by value" "                    " 74
at_xfail=no
(
  $as_echo "1195. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [["name", "==", "zero"]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [["name", "==", "one"]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1195
#AT_START_1196
at_fn_group_banner 1196 'ovsdb-server.at:789' \
  "insert rows, query by named-uuid" "               " 74
at_xfail=no
(
  $as_echo "1196. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "select",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "first"]]]},
      {"op": "select",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "second"]]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0}]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1196
#AT_START_1197
at_fn_group_banner 1197 'ovsdb-server.at:789' \
  "insert rows, update rows by value" "              " 74
at_xfail=no
(
  $as_echo "1197. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "zero"]],
       "row": {"name": "nought"}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"nought\",\"number\":0},{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1197
#AT_START_1198
at_fn_group_banner 1198 'ovsdb-server.at:789' \
  "insert rows, mutate rows" "                       " 74
at_xfail=no
(
  $as_echo "1198. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "mutate",
       "table": "ordinals",
       "where": [["name", "==", "zero"]],
       "mutations": [["number", "+=", 2]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"one\",\"number\":1},{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"zero\",\"number\":2}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1198
#AT_START_1199
at_fn_group_banner 1199 'ovsdb-server.at:789' \
  "insert rows, delete by named-uuid" "              " 74
at_xfail=no
(
  $as_echo "1199. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "delete",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "first"]]]},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["name","number"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"count\":1},{\"rows\":[{\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1199
#AT_START_1200
at_fn_group_banner 1200 'ovsdb-server.at:789' \
  "insert rows, delete rows by value" "              " 74
at_xfail=no
(
  $as_echo "1200. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "zero"]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": []}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1200
#AT_START_1201
at_fn_group_banner 1201 'ovsdb-server.at:789' \
  "insert rows, delete by (non-matching) value" "    " 74
at_xfail=no
(
  $as_echo "1201. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "first"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "nought"]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "sort": ["number"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"count\":0}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<2>\"],\"name\":\"zero\",\"number\":0},{\"_uuid\":[\"uuid\",\"<1>\"],\"_version\":[\"uuid\",\"<3>\"],\"name\":\"one\",\"number\":1}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1201
#AT_START_1202
at_fn_group_banner 1202 'ovsdb-server.at:789' \
  "insert rows, delete all" "                        " 74
at_xfail=no
(
  $as_echo "1202. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"},
       "uuid-name": "first"},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"},
       "uuid-name": "second"},
      {"op": "delete",
       "table": "ordinals",
       "where": []},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["name","number"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"count\":2},{\"rows\":[]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1202
#AT_START_1203
at_fn_group_banner 1203 'ovsdb-server.at:789' \
  "insert row, query table, commit" "                " 74
at_xfail=no
(
  $as_echo "1203. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "select",
       "table": "ordinals",
       "where": []},
      {"op": "commit",
       "durable": false}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1203
#AT_START_1204
at_fn_group_banner 1204 'ovsdb-server.at:789' \
  "insert row, query table, commit durably" "        " 74
at_xfail=no
(
  $as_echo "1204. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "select",
       "table": "ordinals",
       "where": []},
      {"op": "commit",
       "durable": true}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"_version\":[\"uuid\",\"<1>\"],\"name\":\"zero\",\"number\":0}]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1204
#AT_START_1205
at_fn_group_banner 1205 'ovsdb-server.at:789' \
  "equality wait with correct rows" "                " 74
at_xfail=no
(
  $as_echo "1205. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1}]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1205
#AT_START_1206
at_fn_group_banner 1206 'ovsdb-server.at:789' \
  "equality wait with extra row" "                   " 74
at_xfail=no
(
  $as_echo "1206. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1},
                {"name": "two", "number": 2}]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1206
#AT_START_1207
at_fn_group_banner 1207 'ovsdb-server.at:789' \
  "equality wait with missing row" "                 " 74
at_xfail=no
(
  $as_echo "1207. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "==",
       "rows": [{"name": "one", "number": 1}]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1207
#AT_START_1208
at_fn_group_banner 1208 'ovsdb-server.at:789' \
  "inequality wait with correct rows" "              " 74
at_xfail=no
(
  $as_echo "1208. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1}]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"\\\"wait\\\" timed out\",\"error\":\"timed out\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1208
#AT_START_1209
at_fn_group_banner 1209 'ovsdb-server.at:789' \
  "inequality wait with extra row" "                 " 74
at_xfail=no
(
  $as_echo "1209. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "zero", "number": 0},
                {"name": "one", "number": 1},
                {"name": "two", "number": 2}]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1209
#AT_START_1210
at_fn_group_banner 1210 'ovsdb-server.at:789' \
  "inequality wait with missing row" "               " 74
at_xfail=no
(
  $as_echo "1210. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "wait",
       "timeout": 0,
       "table": "ordinals",
       "where": [],
       "columns": ["name", "number"],
       "until": "!=",
       "rows": [{"name": "one", "number": 1}]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1210
#AT_START_1211
at_fn_group_banner 1211 'ovsdb-server.at:789' \
  "insert and update constraints" "                  " 74
at_xfail=no
(
  $as_echo "1211. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   constraint_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": -1}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "update",
       "table": "constrained",
       "where": [],
       "row": {"positive": -2}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": 1}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "insert",
       "table": "constrained",
       "row": {"positive": 2}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"details\":\"0 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"details\":\"-1 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"details\":\"-2 is less than minimum allowed value 1\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"transaction causes \\\"constrained\\\" table to contain 2 rows, greater than the schema-defined limit of 1 row(s)\",\"error\":\"constraint violation\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1211
#AT_START_1212
at_fn_group_banner 1212 'ovsdb-server.at:789' \
  "index uniqueness checking" "                      " 74
at_xfail=no
(
  $as_echo "1212. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "another one"}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "another one"}},
      {"op": "delete",
       "table": "ordinals",
       "where": [["name", "==", "one"]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '   ["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": []},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "one"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "still another one"}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '   ["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 2, "name": "two"}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '   ["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [],
       "row": {"number": 3}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '   ["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["number", "==", 1]],
       "row": {"number": 2, "name": "old two"}},
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "two"]],
       "row": {"number": 1, "name": "old one"}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '   ["ordinals",
      {"op": "mutate",
       "table": "ordinals",
       "where": [],
       "mutations": [["number", "*=", 10]]},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 1, "name": "new one"}},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 2, "name": "new two"}},
      {"op": "select",
       "table": "ordinals",
       "where": [],
       "columns": ["number", "name"],
       "sort": ["number"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (1) for index on column \\\"number\\\".  First row, with UUID <0>, existed in the database before this transaction and was not modified by the transaction.  Second row, with UUID <1>, was inserted by this transaction.\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<2>\"]},{\"count\":1}]
[{\"count\":1},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (1) for index on column \\\"number\\\".  First row, with UUID <4>, was inserted by this transaction.  Second row, with UUID <3>, was inserted by this transaction.\",\"error\":\"constraint violation\"}]
[{\"uuid\":[\"uuid\",\"<5>\"]}]
[{\"count\":2},{\"details\":\"Transaction causes multiple rows in \\\"ordinals\\\" table to have identical values (3) for index on column \\\"number\\\".  First row, with UUID <5>, had the following index values before the transaction: 2.  Second row, with UUID <2>, had the following index values before the transaction: 1.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"count\":1}]
[{\"count\":2},{\"uuid\":[\"uuid\",\"<6>\"]},{\"uuid\":[\"uuid\",\"<7>\"]},{\"rows\":[{\"name\":\"new one\",\"number\":1},{\"name\":\"new two\",\"number\":2},{\"name\":\"old one\",\"number\":10},{\"name\":\"old two\",\"number\":20}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1212
#AT_START_1213
at_fn_group_banner 1213 'ovsdb-server.at:789' \
  "referential integrity -- simple" "                " 74
at_xfail=no
(
  $as_echo "1213. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   constraint_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "insert",
       "table": "b",
       "row": {"b": 1},
       "uuid-name": "brow"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2b": ["set", [["named-uuid", "brow"]]]}},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1,
               "a2b": ["set", [["named-uuid", "brow"]]]}},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2,
               "a2b": ["set", [["named-uuid", "brow"]]]}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '   ["constraints",
      {"op": "mutate",
       "table": "b",
       "where": [],
       "mutations": [["x", "delete", 0]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 2]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "b",
       "where": []}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 3 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"details\":\"Attempted to store 0 elements in set of 1 to 2 integers.\",\"error\":\"constraint violation\"}]
[{\"count\":1}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 2 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1}]
[{\"count\":1},{\"details\":\"cannot delete b row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1}]
[{\"count\":1}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1213
#AT_START_1214
at_fn_group_banner 1214 'ovsdb-server.at:789' \
  "referential integrity -- mutual references" "     " 74
at_xfail=no
(
  $as_echo "1214. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   constraint_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2b": ["set", [["named-uuid", "row2"]]],
               "a2a": ["set", [["named-uuid", "row1"]]]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "b",
       "row": {"b": 1,
               "b2b": ["set", [["named-uuid", "row2"]]],
               "b2a": ["set", [["named-uuid", "row1"]]]},
       "uuid-name": "row2"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "insert",
       "table": "a",
       "row": {"a2b": ["set", [["uuid", "b516b960-5b19-4fc2-bb82-fe1cbd6d0241"]]]}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '   ["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["constraints",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]},
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 1]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]}]
[{\"uuid\":[\"uuid\",\"<2>\"]},{\"details\":\"Table a column a2b row <2> references nonexistent row <3> in table b.\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete a row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete b row <1> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete a row <0> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"details\":\"cannot delete b row <1> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]
[{\"count\":1},{\"count\":1}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1214
#AT_START_1215
at_fn_group_banner 1215 'ovsdb-server.at:789' \
  "weak references" "                                " 74
at_xfail=no
(
  $as_echo "1215. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   weak_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["weak",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"],
                               ["uuid", "0e767b36-6822-4044-8307-d58467e04669"]]],
               "a2a1": ["named-uuid", "row1"],
               "a2b": ["named-uuid", "row3"]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"]]],
               "a2a1": ["named-uuid", "row2"],
               "a2b": ["named-uuid", "row3"]},
       "uuid-name": "row2"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2,
               "a2a": ["set", [["named-uuid", "row1"],
                               ["named-uuid", "row2"]]],
               "a2a1": ["named-uuid", "row2"],
               "a2b": ["named-uuid", "row4"]}},
      {"op": "insert",
       "table": "b",
       "row": {"b": 2,
               "b2a": ["named-uuid", "row1"]},
       "uuid-name": "row3"},
      {"op": "insert",
       "table": "b",
       "row": {"b": 3,
               "b2a": ["named-uuid", "row2"]},
       "uuid-name": "row4"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '      ["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '      ["weak",
      {"op": "insert",
       "table": "a",
       "row": {"a2a1": ["named-uuid", "me"]},
       "uuid-name": "me"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '      ["weak",
      {"op": "delete",
       "table": "b",
       "where": [["b", "==", 3]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '      ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '      ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 2]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '   ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '   ["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 1]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["weak",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["_uuid", "a2a", "a2a1", "a2b"],
       "sort": ["a"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["weak",
      {"op": "select",
       "table": "b",
       "where": [],
       "columns": ["_uuid", "b", "b2a"],
       "sort": ["b"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<0>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<2>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<4>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"uuid\",\"<0>\"]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"uuid\":[\"uuid\",\"<5>\"]},{\"details\":\"Weak reference column \\\"a2b\\\" in \\\"a\\\" row <5> (inserted within this transaction) contained all-zeros UUID (probably as the default value for this column) but deleting this value caused a constraint volation because this column is not allowed to be empty.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"details\":\"Deletion of 1 weak reference(s) to deleted (or never-existing) rows from column \\\"a2b\\\" in \\\"a\\\" row <2> caused this column to become empty, but constraints on this column disallow an empty column.\",\"error\":\"constraint violation\"}]
[{\"count\":1},{\"details\":\"Deletion of 1 weak reference(s) to deleted (or never-existing) rows from column \\\"a2a1\\\" in \\\"a\\\" row <2> caused this column to become empty, but constraints on this column disallow an empty column.\",\"error\":\"constraint violation\"}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<0>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<0>\"],\"a2b\":[\"uuid\",\"<3>\"]},{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"set\",[[\"uuid\",\"<0>\"],[\"uuid\",\"<1>\"]]],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"uuid\",\"<0>\"]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"count\":1}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<1>\"],\"a2a\":[\"uuid\",\"<1>\"],\"a2a1\":[\"uuid\",\"<1>\"],\"a2b\":[\"uuid\",\"<3>\"]}]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"set\",[]]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"uuid\",\"<1>\"]}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"rows\":[{\"_uuid\":[\"uuid\",\"<3>\"],\"b\":2,\"b2a\":[\"set\",[]]},{\"_uuid\":[\"uuid\",\"<4>\"],\"b\":3,\"b2a\":[\"set\",[]]}]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1215
#AT_START_1216
at_fn_group_banner 1216 'ovsdb-server.at:789' \
  "immutable columns" "                              " 74
at_xfail=no
(
  $as_echo "1216. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   immutable_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["immutable",
      {"op": "insert",
       "table": "a",
       "row": {"i": 5},
       "uuid-name": "row1"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["immutable",
      {"op": "update",
       "table": "a",
       "row": {"i": 10},
       "where": []}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["immutable",
      {"op": "update",
       "table": "a",
       "row": {"i": 5},
       "where": []}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["immutable",
      {"op": "mutate",
       "table": "a",
       "where": [],
       "mutations": [["i", "-=", 5]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["immutable",
      {"op": "mutate",
       "table": "a",
       "where": [],
       "mutations": [["i", "*=", 1]]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"details\":\"Cannot update immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"{\\\"op\\\":\\\"update\\\",\\\"row\\\":{\\\"i\\\":10},\\\"table\\\":\\\"a\\\",\\\"where\\\":[]}\"}]
[{\"details\":\"Cannot update immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"{\\\"op\\\":\\\"update\\\",\\\"row\\\":{\\\"i\\\":5},\\\"table\\\":\\\"a\\\",\\\"where\\\":[]}\"}]
[{\"details\":\"Cannot mutate immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"[\\\"i\\\",\\\"-=\\\",5]\"}]
[{\"details\":\"Cannot mutate immutable column i in table a.\",\"error\":\"constraint violation\",\"syntax\":\"[\\\"i\\\",\\\"*=\\\",1]\"}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1216
#AT_START_1217
at_fn_group_banner 1217 'ovsdb-server.at:789' \
  "garbage collection" "                             " 74
at_xfail=no
(
  $as_echo "1217. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   gc_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-server.at:789"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

   cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0, "a2a": ["named-uuid", "row1"]},
       "uuid-name": "row0"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1, "a2a": ["named-uuid", "row2"]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 2, "a2a": ["named-uuid", "row3"]},
       "uuid-name": "row2"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 3},
       "uuid-name": "row3"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 4, "a2a": ["named-uuid", "row5"]},
       "uuid-name": "row4"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 5, "a2a": ["named-uuid", "row4"]},
       "uuid-name": "row5"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"],
       "sort": ["a"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '   ["gc",
      {"op": "update",
       "table": "a",
       "where": [["a", "==", 4]],
       "row": {"a2a": ["set", []]}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '      ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 6, "wa2a": ["named-uuid", "row7"]},
       "uuid-name": "row6"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 7, "wa2a": ["named-uuid", "row6"]},
       "uuid-name": "row7"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 8, "a2a": ["named-uuid", "row9"]},
       "uuid-name": "row8"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 9, "a2a": ["named-uuid", "row10"]},
       "uuid-name": "row9"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 10, "a2a": ["named-uuid", "row11"]},
       "uuid-name": "row10"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 11, "a2a": ["named-uuid", "row8"]},
       "uuid-name": "row11"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"],
       "sort": ["a"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '   ["gc",
      {"op": "update",
       "table": "a",
       "where": [["a", "==", 9]],
       "row": {"a2a": ["set", []]}}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '   ["gc",
      {"op": "insert",
       "table": "a",
       "row": {"a": 12, "a2a": ["named-uuid", "self"]},
       "uuid-name": "self"}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output
cat >txnfile <<'_ATEOF'
ovsdb-client transact unix:socket '["gc",
      {"op": "select",
       "table": "a",
       "where": [],
       "columns": ["a"]}]'
_ATEOF

      { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: ovsdb-server --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db --run=\"sh txnfile\""
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-server.at:789"
( $at_check_trace; ovsdb-server --remote=punix:socket --unixctl="`pwd`"/unixctl db --run="sh txnfile"
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

      cat stdout >> output

   { set +x
$as_echo "$at_srcdir/ovsdb-server.at:789: \${PERL} \$srcdir/uuidfilt.pl output"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-server.at:789"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "[{\"uuid\":[\"uuid\",\"<0>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]},{\"uuid\":[\"uuid\",\"<4>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<5>\"]},{\"uuid\":[\"uuid\",\"<6>\"]}]
[{\"rows\":[{\"a\":4},{\"a\":5}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<7>\"]},{\"uuid\":[\"uuid\",\"<8>\"]}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<9>\"]},{\"uuid\":[\"uuid\",\"<10>\"]},{\"uuid\":[\"uuid\",\"<11>\"]},{\"uuid\":[\"uuid\",\"<12>\"]}]
[{\"rows\":[{\"a\":8},{\"a\":9},{\"a\":10},{\"a\":11}]}]
[{\"count\":1}]
[{\"rows\":[]}]
[{\"uuid\":[\"uuid\",\"<13>\"]}]
[{\"rows\":[]}]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-server.at:789"
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1217
#AT_START_1218
at_fn_group_banner 1218 'ovsdb-monitor.at:42' \
  "monitor insert into empty table" "                " 75
at_xfail=no
(
  $as_echo "1218. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:42: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-monitor.at:42"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:42"
$at_failed && at_fn_log_failure
$at_traceon; }



   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:42: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/server-pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl --log-file=\"\`pwd\`\"/ovsdb-server-log db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:42"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/server-pid --remote=punix:socket --unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server-log db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:42"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:42: ovsdb-client -vjsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:42"
( $at_check_trace; ovsdb-client -vjsonrpc --detach --no-chdir --pidfile="`pwd`"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:42"
if $at_failed; then :
  kill `cat server-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:42: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:42"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:42"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:42: ovsdb-client transact unix:socket '[\"ordinals\"]'"
at_fn_check_prepare_trace "ovsdb-monitor.at:42"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:42"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:42: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:42"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:42"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:42: ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:42"
( $at_check_trace; ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:42"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:42: \${PERL} \$srcdir/ovsdb-monitor-sort.pl < output | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-monitor.at:42"
( $at_check_trace; ${PERL} $srcdir/ovsdb-monitor-sort.pl < output | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "row,action,name,number,_version
<0>,insert,\"\"\"zero\"\"\",0,\"[\"\"uuid\"\",\"\"<1>\"\"]\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:42"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1218
#AT_START_1219
at_fn_group_banner 1219 'ovsdb-monitor.at:54' \
  "monitor insert into populated table" "            " 75
at_xfail=no
(
  $as_echo "1219. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:54: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-monitor.at:54"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:54"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:54: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 10, \"name\": \"ten\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:54"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 10, "name": "ten"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:54"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:54: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/server-pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl --log-file=\"\`pwd\`\"/ovsdb-server-log db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:54"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/server-pid --remote=punix:socket --unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server-log db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:54: ovsdb-client -vjsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:54"
( $at_check_trace; ovsdb-client -vjsonrpc --detach --no-chdir --pidfile="`pwd`"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:54"
if $at_failed; then :
  kill `cat server-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:54: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 0, \"name\": \"zero\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:54"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 0, "name": "zero"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:54"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:54: ovsdb-client transact unix:socket '[\"ordinals\"]'"
at_fn_check_prepare_trace "ovsdb-monitor.at:54"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:54"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:54: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:54"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:54: ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:54"
( $at_check_trace; ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:54: \${PERL} \$srcdir/ovsdb-monitor-sort.pl < output | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-monitor.at:54"
( $at_check_trace; ${PERL} $srcdir/ovsdb-monitor-sort.pl < output | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "row,action,name,number,_version
<0>,initial,\"\"\"ten\"\"\",10,\"[\"\"uuid\"\",\"\"<1>\"\"]\"

row,action,name,number,_version
<2>,insert,\"\"\"zero\"\"\",0,\"[\"\"uuid\"\",\"\"<3>\"\"]\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:54"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1219
#AT_START_1220
at_fn_group_banner 1220 'ovsdb-monitor.at:72' \
  "monitor delete" "                                 " 75
at_xfail=no
(
  $as_echo "1220. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:72: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-monitor.at:72"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:72"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:72: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 10, \"name\": \"ten\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:72"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 10, "name": "ten"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:72"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:72: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/server-pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl --log-file=\"\`pwd\`\"/ovsdb-server-log db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:72"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/server-pid --remote=punix:socket --unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server-log db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:72"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:72: ovsdb-client -vjsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:72"
( $at_check_trace; ovsdb-client -vjsonrpc --detach --no-chdir --pidfile="`pwd`"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:72"
if $at_failed; then :
  kill `cat server-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:72: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"number\", \"==\", 10]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:72"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": [["number", "==", 10]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:72"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:72: ovsdb-client transact unix:socket '[\"ordinals\"]'"
at_fn_check_prepare_trace "ovsdb-monitor.at:72"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:72"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:72: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:72"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:72"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:72: ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:72"
( $at_check_trace; ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:72"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:72: \${PERL} \$srcdir/ovsdb-monitor-sort.pl < output | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-monitor.at:72"
( $at_check_trace; ${PERL} $srcdir/ovsdb-monitor-sort.pl < output | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "row,action,name,number,_version
<0>,initial,\"\"\"ten\"\"\",10,\"[\"\"uuid\"\",\"\"<1>\"\"]\"

row,action,name,number,_version
<0>,delete,\"\"\"ten\"\"\",10,\"[\"\"uuid\"\",\"\"<1>\"\"]\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:72"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1220
#AT_START_1221
at_fn_group_banner 1221 'ovsdb-monitor.at:90' \
  "monitor row update" "                             " 75
at_xfail=no
(
  $as_echo "1221. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:90: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-monitor.at:90"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:90"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:90: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 10, \"name\": \"ten\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:90"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 10, "name": "ten"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:90"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:90: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/server-pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl --log-file=\"\`pwd\`\"/ovsdb-server-log db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:90"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/server-pid --remote=punix:socket --unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server-log db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:90"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:90: ovsdb-client -vjsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:90"
( $at_check_trace; ovsdb-client -vjsonrpc --detach --no-chdir --pidfile="`pwd`"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:90"
if $at_failed; then :
  kill `cat server-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:90: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"number\", \"==\", 10]],
       \"row\": {\"name\": \"five plus five\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:90"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["number", "==", 10]],
       "row": {"name": "five plus five"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:90"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:90: ovsdb-client transact unix:socket '[\"ordinals\"]'"
at_fn_check_prepare_trace "ovsdb-monitor.at:90"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:90"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:90: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:90"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:90"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:90: ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:90"
( $at_check_trace; ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:90"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:90: \${PERL} \$srcdir/ovsdb-monitor-sort.pl < output | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-monitor.at:90"
( $at_check_trace; ${PERL} $srcdir/ovsdb-monitor-sort.pl < output | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "row,action,name,number,_version
<0>,initial,\"\"\"ten\"\"\",10,\"[\"\"uuid\"\",\"\"<1>\"\"]\"

row,action,name,number,_version
<0>,old,\"\"\"ten\"\"\",,\"[\"\"uuid\"\",\"\"<1>\"\"]\"
,new,\"\"\"five plus five\"\"\",10,\"[\"\"uuid\"\",\"\"<2>\"\"]\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:90"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1221
#AT_START_1222
at_fn_group_banner 1222 'ovsdb-monitor.at:110' \
  "monitor no-op row updates" "                      " 75
at_xfail=no
(
  $as_echo "1222. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:110: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-monitor.at:110"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:110"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:110: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 10, \"name\": \"ten\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:110"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 10, "name": "ten"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:110"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:110: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/server-pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl --log-file=\"\`pwd\`\"/ovsdb-server-log db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:110"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/server-pid --remote=punix:socket --unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server-log db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:110"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:110: ovsdb-client -vjsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:110"
( $at_check_trace; ovsdb-client -vjsonrpc --detach --no-chdir --pidfile="`pwd`"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:110"
if $at_failed; then :
  kill `cat server-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:110: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"number\", \"==\", 10]],
       \"row\": {\"number\": 10, \"name\": \"ten\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:110"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["number", "==", 10]],
       "row": {"number": 10, "name": "ten"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:110"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:110: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 9, \"name\": \"nine\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:110"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 9, "name": "nine"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:110"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:110: ovsdb-client transact unix:socket '[\"ordinals\"]'"
at_fn_check_prepare_trace "ovsdb-monitor.at:110"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:110"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:110: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:110"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:110"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:110: ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:110"
( $at_check_trace; ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:110"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:110: \${PERL} \$srcdir/ovsdb-monitor-sort.pl < output | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-monitor.at:110"
( $at_check_trace; ${PERL} $srcdir/ovsdb-monitor-sort.pl < output | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "row,action,name,number,_version
<0>,initial,\"\"\"ten\"\"\",10,\"[\"\"uuid\"\",\"\"<1>\"\"]\"

row,action,name,number,_version
<2>,insert,\"\"\"nine\"\"\",9,\"[\"\"uuid\"\",\"\"<3>\"\"]\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:110"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1222
#AT_START_1223
at_fn_group_banner 1223 'ovsdb-monitor.at:133' \
  "monitor insert-and-update transaction" "          " 75
at_xfail=no
(
  $as_echo "1223. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:133: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-monitor.at:133"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:133"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:133: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 10, \"name\": \"ten\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:133"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 10, "name": "ten"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:133"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:133: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/server-pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl --log-file=\"\`pwd\`\"/ovsdb-server-log db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:133"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/server-pid --remote=punix:socket --unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server-log db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:133"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:133: ovsdb-client -vjsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:133"
( $at_check_trace; ovsdb-client -vjsonrpc --detach --no-chdir --pidfile="`pwd`"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:133"
if $at_failed; then :
  kill `cat server-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:133: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 9, \"name\": \"nine\"},
       \"uuid-name\": \"nine\"},
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"nine\"]]],
       \"row\": {\"name\": \"three squared\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:133"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 9, "name": "nine"},
       "uuid-name": "nine"},
      {"op": "update",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "nine"]]],
       "row": {"name": "three squared"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:133"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:133: ovsdb-client transact unix:socket '[\"ordinals\"]'"
at_fn_check_prepare_trace "ovsdb-monitor.at:133"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:133"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:133: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:133"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:133"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:133: ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:133"
( $at_check_trace; ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:133"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:133: \${PERL} \$srcdir/ovsdb-monitor-sort.pl < output | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-monitor.at:133"
( $at_check_trace; ${PERL} $srcdir/ovsdb-monitor-sort.pl < output | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "row,action,name,number,_version
<0>,initial,\"\"\"ten\"\"\",10,\"[\"\"uuid\"\",\"\"<1>\"\"]\"

row,action,name,number,_version
<2>,insert,\"\"\"three squared\"\"\",9,\"[\"\"uuid\"\",\"\"<3>\"\"]\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:133"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1223
#AT_START_1224
at_fn_group_banner 1224 'ovsdb-monitor.at:156' \
  "monitor insert-update-and-delete transaction" "   " 75
at_xfail=no
(
  $as_echo "1224. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:156: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-monitor.at:156"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:156"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:156: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 10, \"name\": \"ten\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:156"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 10, "name": "ten"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:156"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:156: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/server-pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl --log-file=\"\`pwd\`\"/ovsdb-server-log db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:156"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/server-pid --remote=punix:socket --unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server-log db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:156"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:156: ovsdb-client -vjsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:156"
( $at_check_trace; ovsdb-client -vjsonrpc --detach --no-chdir --pidfile="`pwd`"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:156"
if $at_failed; then :
  kill `cat server-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:156: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 9, \"name\": \"nine\"},
       \"uuid-name\": \"nine\"},
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"nine\"]]],
       \"row\": {\"name\": \"three squared\"}},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"nine\"]]]},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 7, \"name\": \"seven\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:156"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 9, "name": "nine"},
       "uuid-name": "nine"},
      {"op": "update",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "nine"]]],
       "row": {"name": "three squared"}},
      {"op": "delete",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "nine"]]]},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 7, "name": "seven"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:156"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:156: ovsdb-client transact unix:socket '[\"ordinals\"]'"
at_fn_check_prepare_trace "ovsdb-monitor.at:156"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:156"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:156: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:156"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:156"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:156: ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:156"
( $at_check_trace; ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:156"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:156: \${PERL} \$srcdir/ovsdb-monitor-sort.pl < output | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-monitor.at:156"
( $at_check_trace; ${PERL} $srcdir/ovsdb-monitor-sort.pl < output | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "row,action,name,number,_version
<0>,initial,\"\"\"ten\"\"\",10,\"[\"\"uuid\"\",\"\"<1>\"\"]\"

row,action,name,number,_version
<2>,insert,\"\"\"seven\"\"\",7,\"[\"\"uuid\"\",\"\"<3>\"\"]\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:156"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1224
#AT_START_1225
at_fn_group_banner 1225 'ovsdb-monitor.at:185' \
  "monitor weak reference change" "                  " 75
at_xfail=no
(
  $as_echo "1225. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   weak_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:185: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-monitor.at:185"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:185"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:185: ovsdb-tool transact db '[\"weak\",
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 0,
               \"a2a1\": [\"named-uuid\", \"a0\"],
               \"a2b\": [\"named-uuid\", \"b2\"]},
       \"uuid-name\": \"a0\"},
      {\"op\": \"insert\",
       \"table\": \"a\",
       \"row\": {\"a\": 1,
               \"a2a\": [\"named-uuid\", \"a0\"],
               \"a2a1\": [\"named-uuid\", \"a1\"],
               \"a2b\": [\"named-uuid\", \"b2\"]},
       \"uuid-name\": \"a1\"},
      {\"op\": \"insert\",
       \"table\": \"b\",
       \"row\": {\"b\": 2},
       \"uuid-name\": \"b2\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:185"
( $at_check_trace; ovsdb-tool transact db '["weak",
      {"op": "insert",
       "table": "a",
       "row": {"a": 0,
               "a2a1": ["named-uuid", "a0"],
               "a2b": ["named-uuid", "b2"]},
       "uuid-name": "a0"},
      {"op": "insert",
       "table": "a",
       "row": {"a": 1,
               "a2a": ["named-uuid", "a0"],
               "a2a1": ["named-uuid", "a1"],
               "a2b": ["named-uuid", "b2"]},
       "uuid-name": "a1"},
      {"op": "insert",
       "table": "b",
       "row": {"b": 2},
       "uuid-name": "b2"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:185"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:185: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/server-pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl --log-file=\"\`pwd\`\"/ovsdb-server-log db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:185"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/server-pid --remote=punix:socket --unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server-log db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:185"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:185: ovsdb-client -vjsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/client-pid -d json monitor --format=csv unix:socket weak a  > output"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:185"
( $at_check_trace; ovsdb-client -vjsonrpc --detach --no-chdir --pidfile="`pwd`"/client-pid -d json monitor --format=csv unix:socket weak a  > output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:185"
if $at_failed; then :
  kill `cat server-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:185: ovsdb-client transact unix:socket '[\"weak\",
      {\"op\": \"delete\",
       \"table\": \"a\",
       \"where\": [[\"a\", \"==\", 0]]}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:185"
( $at_check_trace; ovsdb-client transact unix:socket '["weak",
      {"op": "delete",
       "table": "a",
       "where": [["a", "==", 0]]}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:185"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:185: ovsdb-client transact unix:socket '[\"weak\"]'"
at_fn_check_prepare_trace "ovsdb-monitor.at:185"
( $at_check_trace; ovsdb-client transact unix:socket '["weak"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:185"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:185: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:185"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:185"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:185: ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:185"
( $at_check_trace; ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:185"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:185: \${PERL} \$srcdir/ovsdb-monitor-sort.pl < output | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-monitor.at:185"
( $at_check_trace; ${PERL} $srcdir/ovsdb-monitor-sort.pl < output | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "row,action,a,a2a,a2a1,a2b,_version
<0>,initial,0,\"[\"\"set\"\",[]]\",\"[\"\"uuid\"\",\"\"<0>\"\"]\",\"[\"\"uuid\"\",\"\"<1>\"\"]\",\"[\"\"uuid\"\",\"\"<2>\"\"]\"
<3>,initial,1,\"[\"\"uuid\"\",\"\"<0>\"\"]\",\"[\"\"uuid\"\",\"\"<3>\"\"]\",\"[\"\"uuid\"\",\"\"<1>\"\"]\",\"[\"\"uuid\"\",\"\"<4>\"\"]\"

row,action,a,a2a,a2a1,a2b,_version
<0>,delete,0,\"[\"\"set\"\",[]]\",\"[\"\"uuid\"\",\"\"<0>\"\"]\",\"[\"\"uuid\"\",\"\"<1>\"\"]\",\"[\"\"uuid\"\",\"\"<2>\"\"]\"
<3>,old,,\"[\"\"uuid\"\",\"\"<0>\"\"]\",,,
,new,1,\"[\"\"set\"\",[]]\",\"[\"\"uuid\"\",\"\"<3>\"\"]\",\"[\"\"uuid\"\",\"\"<1>\"\"]\",\"[\"\"uuid\"\",\"\"<5>\"\"]\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:185"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1225
#AT_START_1226
at_fn_group_banner 1226 'ovsdb-monitor.at:220' \
  "monitor insert-update-and-delete transaction" "   " 75
at_xfail=no
(
  $as_echo "1226. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:220: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-monitor.at:220"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:220"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:220: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 10, \"name\": \"ten\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:220"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 10, "name": "ten"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:220"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:220: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/server-pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl --log-file=\"\`pwd\`\"/ovsdb-server-log db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:220"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/server-pid --remote=punix:socket --unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server-log db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:220"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:220: ovsdb-client -vjsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:220"
( $at_check_trace; ovsdb-client -vjsonrpc --detach --no-chdir --pidfile="`pwd`"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:220"
if $at_failed; then :
  kill `cat server-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:220: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 9, \"name\": \"nine\"},
       \"uuid-name\": \"nine\"},
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"nine\"]]],
       \"row\": {\"name\": \"three squared\"}},
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": [[\"_uuid\", \"==\", [\"named-uuid\", \"nine\"]]]},
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 7, \"name\": \"seven\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:220"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 9, "name": "nine"},
       "uuid-name": "nine"},
      {"op": "update",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "nine"]]],
       "row": {"name": "three squared"}},
      {"op": "delete",
       "table": "ordinals",
       "where": [["_uuid", "==", ["named-uuid", "nine"]]]},
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 7, "name": "seven"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:220"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:220: ovsdb-client transact unix:socket '[\"ordinals\"]'"
at_fn_check_prepare_trace "ovsdb-monitor.at:220"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:220"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:220: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:220"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:220"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:220: ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:220"
( $at_check_trace; ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:220"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:220: \${PERL} \$srcdir/ovsdb-monitor-sort.pl < output | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-monitor.at:220"
( $at_check_trace; ${PERL} $srcdir/ovsdb-monitor-sort.pl < output | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "row,action,name,number,_version
<0>,initial,\"\"\"ten\"\"\",10,\"[\"\"uuid\"\",\"\"<1>\"\"]\"

row,action,name,number,_version
<2>,insert,\"\"\"seven\"\"\",7,\"[\"\"uuid\"\",\"\"<3>\"\"]\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:220"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1226
#AT_START_1227
at_fn_group_banner 1227 'ovsdb-monitor.at:271' \
  "monitor all operations" "                         " 76
at_xfail=no
(
  $as_echo "1227. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:271: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-monitor.at:271"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:271"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:271: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 10, \"name\": \"ten\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:271"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 10, "name": "ten"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:271"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:271: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/server-pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl --log-file=\"\`pwd\`\"/ovsdb-server-log db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:271"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/server-pid --remote=punix:socket --unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server-log db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:271"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:271: ovsdb-client -vjsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:271"
( $at_check_trace; ovsdb-client -vjsonrpc --detach --no-chdir --pidfile="`pwd`"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals  > output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:271"
if $at_failed; then :
  kill `cat server-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:271: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 5, \"name\": \"five\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:271"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 5, "name": "five"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:271"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:271: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"five\"]],
       \"row\": {\"name\": \"FIVE\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:271"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "five"]],
       "row": {"name": "FIVE"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:271"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:271: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:271"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:271"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:271: ovsdb-client transact unix:socket '[\"ordinals\"]'"
at_fn_check_prepare_trace "ovsdb-monitor.at:271"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:271"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:271: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:271"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:271"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:271: ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:271"
( $at_check_trace; ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:271"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:271: \${PERL} \$srcdir/ovsdb-monitor-sort.pl < output | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-monitor.at:271"
( $at_check_trace; ${PERL} $srcdir/ovsdb-monitor-sort.pl < output | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "row,action,name,number,_version
<0>,initial,\"\"\"ten\"\"\",10,\"[\"\"uuid\"\",\"\"<1>\"\"]\"

row,action,name,number,_version
<2>,insert,\"\"\"five\"\"\",5,\"[\"\"uuid\"\",\"\"<3>\"\"]\"

row,action,name,number,_version
<2>,old,\"\"\"five\"\"\",,\"[\"\"uuid\"\",\"\"<3>\"\"]\"
,new,\"\"\"FIVE\"\"\",5,\"[\"\"uuid\"\",\"\"<4>\"\"]\"

row,action,name,number,_version
<2>,delete,\"\"\"FIVE\"\"\",5,\"[\"\"uuid\"\",\"\"<4>\"\"]\"
<0>,delete,\"\"\"ten\"\"\",10,\"[\"\"uuid\"\",\"\"<1>\"\"]\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:271"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1227
#AT_START_1228
at_fn_group_banner 1228 'ovsdb-monitor.at:291' \
  "monitor initial only" "                           " 76
at_xfail=no
(
  $as_echo "1228. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:291: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-monitor.at:291"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:291"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:291: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 10, \"name\": \"ten\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:291"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 10, "name": "ten"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:291"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:291: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/server-pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl --log-file=\"\`pwd\`\"/ovsdb-server-log db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:291"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/server-pid --remote=punix:socket --unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server-log db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:291"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:291: ovsdb-client -vjsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals !insert,!delete,!modify > output"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:291"
( $at_check_trace; ovsdb-client -vjsonrpc --detach --no-chdir --pidfile="`pwd`"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals !insert,!delete,!modify > output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:291"
if $at_failed; then :
  kill `cat server-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:291: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 5, \"name\": \"five\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:291"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 5, "name": "five"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:291"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:291: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"five\"]],
       \"row\": {\"name\": \"FIVE\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:291"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "five"]],
       "row": {"name": "FIVE"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:291"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:291: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:291"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:291"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:291: ovsdb-client transact unix:socket '[\"ordinals\"]'"
at_fn_check_prepare_trace "ovsdb-monitor.at:291"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:291"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:291: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:291"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:291"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:291: ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:291"
( $at_check_trace; ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:291"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:291: \${PERL} \$srcdir/ovsdb-monitor-sort.pl < output | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-monitor.at:291"
( $at_check_trace; ${PERL} $srcdir/ovsdb-monitor-sort.pl < output | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "row,action,name,number,_version
<0>,initial,\"\"\"ten\"\"\",10,\"[\"\"uuid\"\",\"\"<1>\"\"]\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:291"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1228
#AT_START_1229
at_fn_group_banner 1229 'ovsdb-monitor.at:298' \
  "monitor insert only" "                            " 76
at_xfail=no
(
  $as_echo "1229. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:298: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-monitor.at:298"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:298"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:298: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 10, \"name\": \"ten\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:298"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 10, "name": "ten"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:298"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:298: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/server-pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl --log-file=\"\`pwd\`\"/ovsdb-server-log db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:298"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/server-pid --remote=punix:socket --unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server-log db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:298"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:298: ovsdb-client -vjsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals !initial,!delete,!modify > output"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:298"
( $at_check_trace; ovsdb-client -vjsonrpc --detach --no-chdir --pidfile="`pwd`"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals !initial,!delete,!modify > output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:298"
if $at_failed; then :
  kill `cat server-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:298: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 5, \"name\": \"five\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:298"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 5, "name": "five"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:298"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:298: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"five\"]],
       \"row\": {\"name\": \"FIVE\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:298"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "five"]],
       "row": {"name": "FIVE"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:298"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:298: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:298"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:298"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:298: ovsdb-client transact unix:socket '[\"ordinals\"]'"
at_fn_check_prepare_trace "ovsdb-monitor.at:298"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:298"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:298: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:298"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:298"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:298: ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:298"
( $at_check_trace; ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:298"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:298: \${PERL} \$srcdir/ovsdb-monitor-sort.pl < output | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-monitor.at:298"
( $at_check_trace; ${PERL} $srcdir/ovsdb-monitor-sort.pl < output | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "row,action,name,number,_version
<0>,insert,\"\"\"five\"\"\",5,\"[\"\"uuid\"\",\"\"<1>\"\"]\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:298"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1229
#AT_START_1230
at_fn_group_banner 1230 'ovsdb-monitor.at:305' \
  "monitor delete only" "                            " 76
at_xfail=no
(
  $as_echo "1230. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:305: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-monitor.at:305"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:305"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:305: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 10, \"name\": \"ten\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:305"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 10, "name": "ten"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:305"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:305: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/server-pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl --log-file=\"\`pwd\`\"/ovsdb-server-log db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:305"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/server-pid --remote=punix:socket --unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server-log db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:305"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:305: ovsdb-client -vjsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals !initial,!insert,!modify > output"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:305"
( $at_check_trace; ovsdb-client -vjsonrpc --detach --no-chdir --pidfile="`pwd`"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals !initial,!insert,!modify > output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:305"
if $at_failed; then :
  kill `cat server-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:305: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 5, \"name\": \"five\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:305"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 5, "name": "five"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:305"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:305: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"five\"]],
       \"row\": {\"name\": \"FIVE\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:305"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "five"]],
       "row": {"name": "FIVE"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:305"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:305: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:305"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:305"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:305: ovsdb-client transact unix:socket '[\"ordinals\"]'"
at_fn_check_prepare_trace "ovsdb-monitor.at:305"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:305"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:305: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:305"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:305"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:305: ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:305"
( $at_check_trace; ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:305"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:305: \${PERL} \$srcdir/ovsdb-monitor-sort.pl < output | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-monitor.at:305"
( $at_check_trace; ${PERL} $srcdir/ovsdb-monitor-sort.pl < output | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "row,action,name,number,_version
<0>,delete,\"\"\"FIVE\"\"\",5,\"[\"\"uuid\"\",\"\"<1>\"\"]\"
<2>,delete,\"\"\"ten\"\"\",10,\"[\"\"uuid\"\",\"\"<3>\"\"]\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:305"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1230
#AT_START_1231
at_fn_group_banner 1231 'ovsdb-monitor.at:313' \
  "monitor modify only" "                            " 76
at_xfail=no
(
  $as_echo "1231. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   ordinal_schema > schema
   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:313: ovsdb-tool create db schema"
at_fn_check_prepare_trace "ovsdb-monitor.at:313"
( $at_check_trace; ovsdb-tool create db schema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:313"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:313: ovsdb-tool transact db '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 10, \"name\": \"ten\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:313"
( $at_check_trace; ovsdb-tool transact db '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 10, "name": "ten"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:313"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:313: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/server-pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl --log-file=\"\`pwd\`\"/ovsdb-server-log db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:313"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/server-pid --remote=punix:socket --unixctl="`pwd`"/unixctl --log-file="`pwd`"/ovsdb-server-log db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:313"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:313: ovsdb-client -vjsonrpc --detach --no-chdir --pidfile=\"\`pwd\`\"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals !initial,!insert,!delete > output"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:313"
( $at_check_trace; ovsdb-client -vjsonrpc --detach --no-chdir --pidfile="`pwd`"/client-pid -d json monitor --format=csv unix:socket ordinals ordinals !initial,!insert,!delete > output
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:313"
if $at_failed; then :
  kill `cat server-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:313: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"insert\",
       \"table\": \"ordinals\",
       \"row\": {\"number\": 5, \"name\": \"five\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:313"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "insert",
       "table": "ordinals",
       "row": {"number": 5, "name": "five"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:313"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:313: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"update\",
       \"table\": \"ordinals\",
       \"where\": [[\"name\", \"==\", \"five\"]],
       \"row\": {\"name\": \"FIVE\"}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:313"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "update",
       "table": "ordinals",
       "where": [["name", "==", "five"]],
       "row": {"name": "FIVE"}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:313"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:313: ovsdb-client transact unix:socket '[\"ordinals\",
      {\"op\": \"delete\",
       \"table\": \"ordinals\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:313"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals",
      {"op": "delete",
       "table": "ordinals",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:313"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:313: ovsdb-client transact unix:socket '[\"ordinals\"]'"
at_fn_check_prepare_trace "ovsdb-monitor.at:313"
( $at_check_trace; ovsdb-client transact unix:socket '["ordinals"]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:313"
if $at_failed; then :
  kill `cat server-pid client-pid`
fi
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:313: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-monitor.at:313"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:313"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:313: ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-monitor.at:313"
( $at_check_trace; ovs_wait_cond () { test ! -e server-pid && test ! -e client-pid
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:313"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-monitor.at:313: \${PERL} \$srcdir/ovsdb-monitor-sort.pl < output | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-monitor.at:313"
( $at_check_trace; ${PERL} $srcdir/ovsdb-monitor-sort.pl < output | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "row,action,name,number,_version
<0>,old,\"\"\"five\"\"\",,\"[\"\"uuid\"\",\"\"<1>\"\"]\"
,new,\"\"\"FIVE\"\"\",5,\"[\"\"uuid\"\",\"\"<2>\"\"]\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-monitor.at:313"
$at_failed && at_fn_log_failure  \
"ovsdb-server-log"
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1231
#AT_START_1232
at_fn_group_banner 1232 'ovsdb-idl.at:80' \
  "simple idl, initially empty, no ops - C" "        " 77
at_xfail=no
(
  $as_echo "1232. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:80"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:80"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket "
at_fn_check_prepare_notrace 'a shell pipeline' "ovsdb-idl.at:80"
( $at_check_trace; test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:80"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:80"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:80"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1232
#AT_START_1233
at_fn_group_banner 1233 'ovsdb-idl.at:80' \
  "simple idl, initially empty, no ops - Python" "   " 77
at_xfail=no
(
  $as_echo "1233. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:80" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:80"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:80"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:80"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema unix:socket "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket " "ovsdb-idl.at:80"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:80"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:80"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:80"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1233
#AT_START_1234
at_fn_group_banner 1234 'ovsdb-idl.at:80' \
  "simple idl, initially empty, no ops - Python tcp" "" 77
at_xfail=no
(
  $as_echo "1234. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:80" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:80"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:80"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:80"
( $at_check_trace; ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema tcp:127.0.0.1:\$TCP_PORT "
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema tcp:127.0.0.1:$TCP_PORT " "ovsdb-idl.at:80"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema tcp:127.0.0.1:$TCP_PORT
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:80"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:80"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:80: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:80"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:80"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1234
#AT_START_1235
at_fn_group_banner 1235 'ovsdb-idl.at:87' \
  "simple idl, initially empty, various ops - C" "   " 77
at_xfail=no
(
  $as_echo "1235. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:87"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:87"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {\"i\": 1,
               \"r\": 2.0,
               \"b\": true,
               \"s\": \"mystring\",
               \"u\": [\"uuid\", \"84f5c8f5-ac76-4dbc-a24f-8860eb407fc1\"],
               \"ia\": [\"set\", [1, 2, 3]],
               \"ra\": [\"set\", [-0.5]],
               \"ba\": [\"set\", [true]],
               \"sa\": [\"set\", [\"abc\", \"def\"]],
               \"ua\": [\"set\", [[\"uuid\", \"69443985-7806-45e2-b35f-574a04e720f9\"],
                              [\"uuid\", \"aad11ef0-816a-4b01-93e6-03b8b4256b98\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"simple\",
       \"where\": [],
       \"row\": {\"b\": true}}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"simple\",
       \"where\": [],
       \"row\": {\"r\": 123.5}}]' \\
    '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {\"i\": -1,
               \"r\": 125,
               \"b\": false,
               \"s\": \"\",
               \"ia\": [\"set\", [1]],
               \"ra\": [\"set\", [1.5]],
               \"ba\": [\"set\", [false]],
               \"sa\": [\"set\", []],
               \"ua\": [\"set\", []]}}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"simple\",
       \"where\": [[\"i\", \"<\", 1]],
       \"row\": {\"s\": \"newstring\"}}]' \\
    '[\"idltest\",
      {\"op\": \"delete\",
       \"table\": \"simple\",
       \"where\": [[\"i\", \"==\", 0]]}]' \\
    'reconnect'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:87"
( $at_check_trace; test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {"i": 1,
               "r": 2.0,
               "b": true,
               "s": "mystring",
               "u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
               "ia": ["set", [1, 2, 3]],
               "ra": ["set", [-0.5]],
               "ba": ["set", [true]],
               "sa": ["set", ["abc", "def"]],
               "ua": ["set", [["uuid", "69443985-7806-45e2-b35f-574a04e720f9"],
                              ["uuid", "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
      {"op": "insert",
       "table": "simple",
       "row": {}}]' \
    '["idltest",
      {"op": "update",
       "table": "simple",
       "where": [],
       "row": {"b": true}}]' \
    '["idltest",
      {"op": "update",
       "table": "simple",
       "where": [],
       "row": {"r": 123.5}}]' \
    '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {"i": -1,
               "r": 125,
               "b": false,
               "s": "",
               "ia": ["set", [1]],
               "ra": ["set", [1.5]],
               "ba": ["set", [false]],
               "sa": ["set", []],
               "ua": ["set", []]}}]' \
    '["idltest",
      {"op": "update",
       "table": "simple",
       "where": [["i", "<", 1]],
       "row": {"s": "newstring"}}]' \
    '["idltest",
      {"op": "delete",
       "table": "simple",
       "where": [["i", "==", 0]]}]' \
    'reconnect'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:87"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]}]}
002: i=0 r=0 b=false s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
002: i=1 r=2 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
003: {\"error\":null,\"result\":[{\"count\":2}]}
004: i=0 r=0 b=true s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
004: i=1 r=2 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
005: {\"error\":null,\"result\":[{\"count\":2}]}
006: i=0 r=123.5 b=true s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
006: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
007: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<6>\"]}]}
008: i=-1 r=125 b=false s= u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[] uuid=<6>
008: i=0 r=123.5 b=true s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
008: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
009: {\"error\":null,\"result\":[{\"count\":2}]}
010: i=-1 r=125 b=false s=newstring u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[] uuid=<6>
010: i=0 r=123.5 b=true s=newstring u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
010: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
011: {\"error\":null,\"result\":[{\"count\":1}]}
012: i=-1 r=125 b=false s=newstring u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[] uuid=<6>
012: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
013: reconnect
014: i=-1 r=125 b=false s=newstring u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[] uuid=<6>
014: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
015: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:87"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:87"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1235
#AT_START_1236
at_fn_group_banner 1236 'ovsdb-idl.at:87' \
  "simple idl, initially empty, various ops - Python" "" 77
at_xfail=no
(
  $as_echo "1236. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:87" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:87"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:87"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:87"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {\"i\": 1,
               \"r\": 2.0,
               \"b\": true,
               \"s\": \"mystring\",
               \"u\": [\"uuid\", \"84f5c8f5-ac76-4dbc-a24f-8860eb407fc1\"],
               \"ia\": [\"set\", [1, 2, 3]],
               \"ra\": [\"set\", [-0.5]],
               \"ba\": [\"set\", [true]],
               \"sa\": [\"set\", [\"abc\", \"def\"]],
               \"ua\": [\"set\", [[\"uuid\", \"69443985-7806-45e2-b35f-574a04e720f9\"],
                              [\"uuid\", \"aad11ef0-816a-4b01-93e6-03b8b4256b98\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"simple\",
       \"where\": [],
       \"row\": {\"b\": true}}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"simple\",
       \"where\": [],
       \"row\": {\"r\": 123.5}}]' \\
    '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {\"i\": -1,
               \"r\": 125,
               \"b\": false,
               \"s\": \"\",
               \"ia\": [\"set\", [1]],
               \"ra\": [\"set\", [1.5]],
               \"ba\": [\"set\", [false]],
               \"sa\": [\"set\", []],
               \"ua\": [\"set\", []]}}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"simple\",
       \"where\": [[\"i\", \"<\", 1]],
       \"row\": {\"s\": \"newstring\"}}]' \\
    '[\"idltest\",
      {\"op\": \"delete\",
       \"table\": \"simple\",
       \"where\": [[\"i\", \"==\", 0]]}]' \\
    'reconnect'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:87"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {"i": 1,
               "r": 2.0,
               "b": true,
               "s": "mystring",
               "u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
               "ia": ["set", [1, 2, 3]],
               "ra": ["set", [-0.5]],
               "ba": ["set", [true]],
               "sa": ["set", ["abc", "def"]],
               "ua": ["set", [["uuid", "69443985-7806-45e2-b35f-574a04e720f9"],
                              ["uuid", "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
      {"op": "insert",
       "table": "simple",
       "row": {}}]' \
    '["idltest",
      {"op": "update",
       "table": "simple",
       "where": [],
       "row": {"b": true}}]' \
    '["idltest",
      {"op": "update",
       "table": "simple",
       "where": [],
       "row": {"r": 123.5}}]' \
    '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {"i": -1,
               "r": 125,
               "b": false,
               "s": "",
               "ia": ["set", [1]],
               "ra": ["set", [1.5]],
               "ba": ["set", [false]],
               "sa": ["set", []],
               "ua": ["set", []]}}]' \
    '["idltest",
      {"op": "update",
       "table": "simple",
       "where": [["i", "<", 1]],
       "row": {"s": "newstring"}}]' \
    '["idltest",
      {"op": "delete",
       "table": "simple",
       "where": [["i", "==", 0]]}]' \
    'reconnect'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:87"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]}]}
002: i=0 r=0 b=false s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
002: i=1 r=2 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
003: {\"error\":null,\"result\":[{\"count\":2}]}
004: i=0 r=0 b=true s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
004: i=1 r=2 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
005: {\"error\":null,\"result\":[{\"count\":2}]}
006: i=0 r=123.5 b=true s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
006: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
007: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<6>\"]}]}
008: i=-1 r=125 b=false s= u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[] uuid=<6>
008: i=0 r=123.5 b=true s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
008: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
009: {\"error\":null,\"result\":[{\"count\":2}]}
010: i=-1 r=125 b=false s=newstring u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[] uuid=<6>
010: i=0 r=123.5 b=true s=newstring u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
010: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
011: {\"error\":null,\"result\":[{\"count\":1}]}
012: i=-1 r=125 b=false s=newstring u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[] uuid=<6>
012: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
013: reconnect
014: i=-1 r=125 b=false s=newstring u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[] uuid=<6>
014: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
015: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:87"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:87"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1236
#AT_START_1237
at_fn_group_banner 1237 'ovsdb-idl.at:87' \
  "simple idl, initially empty, various ops - Python tcp" "" 77
at_xfail=no
(
  $as_echo "1237. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:87" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:87"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:87"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:87"
( $at_check_trace; ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema tcp:127.0.0.1:\$TCP_PORT '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {\"i\": 1,
               \"r\": 2.0,
               \"b\": true,
               \"s\": \"mystring\",
               \"u\": [\"uuid\", \"84f5c8f5-ac76-4dbc-a24f-8860eb407fc1\"],
               \"ia\": [\"set\", [1, 2, 3]],
               \"ra\": [\"set\", [-0.5]],
               \"ba\": [\"set\", [true]],
               \"sa\": [\"set\", [\"abc\", \"def\"]],
               \"ua\": [\"set\", [[\"uuid\", \"69443985-7806-45e2-b35f-574a04e720f9\"],
                              [\"uuid\", \"aad11ef0-816a-4b01-93e6-03b8b4256b98\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"simple\",
       \"where\": [],
       \"row\": {\"b\": true}}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"simple\",
       \"where\": [],
       \"row\": {\"r\": 123.5}}]' \\
    '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {\"i\": -1,
               \"r\": 125,
               \"b\": false,
               \"s\": \"\",
               \"ia\": [\"set\", [1]],
               \"ra\": [\"set\", [1.5]],
               \"ba\": [\"set\", [false]],
               \"sa\": [\"set\", []],
               \"ua\": [\"set\", []]}}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"simple\",
       \"where\": [[\"i\", \"<\", 1]],
       \"row\": {\"s\": \"newstring\"}}]' \\
    '[\"idltest\",
      {\"op\": \"delete\",
       \"table\": \"simple\",
       \"where\": [[\"i\", \"==\", 0]]}]' \\
    'reconnect'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:87"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema tcp:127.0.0.1:$TCP_PORT '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {"i": 1,
               "r": 2.0,
               "b": true,
               "s": "mystring",
               "u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
               "ia": ["set", [1, 2, 3]],
               "ra": ["set", [-0.5]],
               "ba": ["set", [true]],
               "sa": ["set", ["abc", "def"]],
               "ua": ["set", [["uuid", "69443985-7806-45e2-b35f-574a04e720f9"],
                              ["uuid", "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
      {"op": "insert",
       "table": "simple",
       "row": {}}]' \
    '["idltest",
      {"op": "update",
       "table": "simple",
       "where": [],
       "row": {"b": true}}]' \
    '["idltest",
      {"op": "update",
       "table": "simple",
       "where": [],
       "row": {"r": 123.5}}]' \
    '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {"i": -1,
               "r": 125,
               "b": false,
               "s": "",
               "ia": ["set", [1]],
               "ra": ["set", [1.5]],
               "ba": ["set", [false]],
               "sa": ["set", []],
               "ua": ["set", []]}}]' \
    '["idltest",
      {"op": "update",
       "table": "simple",
       "where": [["i", "<", 1]],
       "row": {"s": "newstring"}}]' \
    '["idltest",
      {"op": "delete",
       "table": "simple",
       "where": [["i", "==", 0]]}]' \
    'reconnect'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:87"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]}]}
002: i=0 r=0 b=false s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
002: i=1 r=2 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
003: {\"error\":null,\"result\":[{\"count\":2}]}
004: i=0 r=0 b=true s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
004: i=1 r=2 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
005: {\"error\":null,\"result\":[{\"count\":2}]}
006: i=0 r=123.5 b=true s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
006: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
007: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<6>\"]}]}
008: i=-1 r=125 b=false s= u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[] uuid=<6>
008: i=0 r=123.5 b=true s= u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
008: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
009: {\"error\":null,\"result\":[{\"count\":2}]}
010: i=-1 r=125 b=false s=newstring u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[] uuid=<6>
010: i=0 r=123.5 b=true s=newstring u=<2> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
010: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
011: {\"error\":null,\"result\":[{\"count\":1}]}
012: i=-1 r=125 b=false s=newstring u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[] uuid=<6>
012: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
013: reconnect
014: i=-1 r=125 b=false s=newstring u=<2> ia=[1] ra=[1.5] ba=[false] sa=[] ua=[] uuid=<6>
014: i=1 r=123.5 b=true s=mystring u=<3> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<4> <5>] uuid=<0>
015: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:87"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:87: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:87"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:87"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1237
#AT_START_1238
at_fn_group_banner 1238 'ovsdb-idl.at:165' \
  "simple idl, initially populated - C" "            " 77
at_xfail=no
(
  $as_echo "1238. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:165"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:165"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: ovsdb-client transact unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {\"i\": 1,
               \"r\": 2.0,
               \"b\": true,
               \"s\": \"mystring\",
               \"u\": [\"uuid\", \"84f5c8f5-ac76-4dbc-a24f-8860eb407fc1\"],
               \"ia\": [\"set\", [1, 2, 3]],
               \"ra\": [\"set\", [-0.5]],
               \"ba\": [\"set\", [true]],
               \"sa\": [\"set\", [\"abc\", \"def\"]],
               \"ua\": [\"set\", [[\"uuid\", \"69443985-7806-45e2-b35f-574a04e720f9\"],
                              [\"uuid\", \"aad11ef0-816a-4b01-93e6-03b8b4256b98\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:165"
( $at_check_trace; ovsdb-client transact unix:socket '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {"i": 1,
               "r": 2.0,
               "b": true,
               "s": "mystring",
               "u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
               "ia": ["set", [1, 2, 3]],
               "ra": ["set", [-0.5]],
               "ba": ["set", [true]],
               "sa": ["set", ["abc", "def"]],
               "ua": ["set", [["uuid", "69443985-7806-45e2-b35f-574a04e720f9"],
                              ["uuid", "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"simple\",
       \"where\": [],
       \"row\": {\"b\": true}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:165"
( $at_check_trace; test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket '["idltest",
      {"op": "update",
       "table": "simple",
       "where": [],
       "row": {"b": true}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:165"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
000: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<3> <4>] uuid=<5>
001: {\"error\":null,\"result\":[{\"count\":2}]}
002: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
002: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<3> <4>] uuid=<5>
003: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:165"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:165"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1238
#AT_START_1239
at_fn_group_banner 1239 'ovsdb-idl.at:165' \
  "simple idl, initially populated - Python" "       " 77
at_xfail=no
(
  $as_echo "1239. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:165" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:165"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:165"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:165"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: ovsdb-client transact unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {\"i\": 1,
               \"r\": 2.0,
               \"b\": true,
               \"s\": \"mystring\",
               \"u\": [\"uuid\", \"84f5c8f5-ac76-4dbc-a24f-8860eb407fc1\"],
               \"ia\": [\"set\", [1, 2, 3]],
               \"ra\": [\"set\", [-0.5]],
               \"ba\": [\"set\", [true]],
               \"sa\": [\"set\", [\"abc\", \"def\"]],
               \"ua\": [\"set\", [[\"uuid\", \"69443985-7806-45e2-b35f-574a04e720f9\"],
                              [\"uuid\", \"aad11ef0-816a-4b01-93e6-03b8b4256b98\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:165"
( $at_check_trace; ovsdb-client transact unix:socket '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {"i": 1,
               "r": 2.0,
               "b": true,
               "s": "mystring",
               "u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
               "ia": ["set", [1, 2, 3]],
               "ra": ["set", [-0.5]],
               "ba": ["set", [true]],
               "sa": ["set", ["abc", "def"]],
               "ua": ["set", [["uuid", "69443985-7806-45e2-b35f-574a04e720f9"],
                              ["uuid", "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema unix:socket '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"simple\",
       \"where\": [],
       \"row\": {\"b\": true}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:165"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket '["idltest",
      {"op": "update",
       "table": "simple",
       "where": [],
       "row": {"b": true}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:165"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
000: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<3> <4>] uuid=<5>
001: {\"error\":null,\"result\":[{\"count\":2}]}
002: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
002: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<3> <4>] uuid=<5>
003: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:165"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:165"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1239
#AT_START_1240
at_fn_group_banner 1240 'ovsdb-idl.at:165' \
  "simple idl, initially populated - Python tcp" "   " 77
at_xfail=no
(
  $as_echo "1240. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:165" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:165"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:165"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:165"
( $at_check_trace; ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {\"i\": 1,
               \"r\": 2.0,
               \"b\": true,
               \"s\": \"mystring\",
               \"u\": [\"uuid\", \"84f5c8f5-ac76-4dbc-a24f-8860eb407fc1\"],
               \"ia\": [\"set\", [1, 2, 3]],
               \"ra\": [\"set\", [-0.5]],
               \"ba\": [\"set\", [true]],
               \"sa\": [\"set\", [\"abc\", \"def\"]],
               \"ua\": [\"set\", [[\"uuid\", \"69443985-7806-45e2-b35f-574a04e720f9\"],
                              [\"uuid\", \"aad11ef0-816a-4b01-93e6-03b8b4256b98\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:165"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {"i": 1,
               "r": 2.0,
               "b": true,
               "s": "mystring",
               "u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
               "ia": ["set", [1, 2, 3]],
               "ra": ["set", [-0.5]],
               "ba": ["set", [true]],
               "sa": ["set", ["abc", "def"]],
               "ua": ["set", [["uuid", "69443985-7806-45e2-b35f-574a04e720f9"],
                              ["uuid", "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema tcp:127.0.0.1:\$TCP_PORT '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"simple\",
       \"where\": [],
       \"row\": {\"b\": true}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:165"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema tcp:127.0.0.1:$TCP_PORT '["idltest",
      {"op": "update",
       "table": "simple",
       "where": [],
       "row": {"b": true}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:165"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
000: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<3> <4>] uuid=<5>
001: {\"error\":null,\"result\":[{\"count\":2}]}
002: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
002: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<3> <4>] uuid=<5>
003: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:165"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:165: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:165"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:165"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1240
#AT_START_1241
at_fn_group_banner 1241 'ovsdb-idl.at:196' \
  "simple idl, writing via IDL - C" "                " 77
at_xfail=no
(
  $as_echo "1241. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:196"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:196"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: ovsdb-client transact unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {\"i\": 1,
               \"r\": 2.0,
               \"b\": true,
               \"s\": \"mystring\",
               \"u\": [\"uuid\", \"84f5c8f5-ac76-4dbc-a24f-8860eb407fc1\"],
               \"ia\": [\"set\", [1, 2, 3]],
               \"ra\": [\"set\", [-0.5]],
               \"ba\": [\"set\", [true]],
               \"sa\": [\"set\", [\"abc\", \"def\"]],
               \"ua\": [\"set\", [[\"uuid\", \"69443985-7806-45e2-b35f-574a04e720f9\"],
                              [\"uuid\", \"aad11ef0-816a-4b01-93e6-03b8b4256b98\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:196"
( $at_check_trace; ovsdb-client transact unix:socket '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {"i": 1,
               "r": 2.0,
               "b": true,
               "s": "mystring",
               "u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
               "ia": ["set", [1, 2, 3]],
               "ra": ["set", [-0.5]],
               "ba": ["set", [true]],
               "sa": ["set", ["abc", "def"]],
               "ua": ["set", [["uuid", "69443985-7806-45e2-b35f-574a04e720f9"],
                              ["uuid", "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket 'verify 0 b, verify 1 r, set 0 b 1, set 1 r 3.5' \\
    'insert 2, verify 2 i, verify 1 b, delete 1'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:196"
( $at_check_trace; test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket 'verify 0 b, verify 1 r, set 0 b 1, set 1 r 3.5' \
    'insert 2, verify 2 i, verify 1 b, delete 1'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:196"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
000: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<3> <4>] uuid=<5>
001: commit, status=success
002: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
002: i=1 r=3.5 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<3> <4>] uuid=<5>
003: commit, status=success
004: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
004: i=2 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<6>
005: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:196"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:196"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1241
#AT_START_1242
at_fn_group_banner 1242 'ovsdb-idl.at:196' \
  "simple idl, writing via IDL - Python" "           " 77
at_xfail=no
(
  $as_echo "1242. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:196" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:196"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:196"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:196"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: ovsdb-client transact unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {\"i\": 1,
               \"r\": 2.0,
               \"b\": true,
               \"s\": \"mystring\",
               \"u\": [\"uuid\", \"84f5c8f5-ac76-4dbc-a24f-8860eb407fc1\"],
               \"ia\": [\"set\", [1, 2, 3]],
               \"ra\": [\"set\", [-0.5]],
               \"ba\": [\"set\", [true]],
               \"sa\": [\"set\", [\"abc\", \"def\"]],
               \"ua\": [\"set\", [[\"uuid\", \"69443985-7806-45e2-b35f-574a04e720f9\"],
                              [\"uuid\", \"aad11ef0-816a-4b01-93e6-03b8b4256b98\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:196"
( $at_check_trace; ovsdb-client transact unix:socket '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {"i": 1,
               "r": 2.0,
               "b": true,
               "s": "mystring",
               "u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
               "ia": ["set", [1, 2, 3]],
               "ra": ["set", [-0.5]],
               "ba": ["set", [true]],
               "sa": ["set", ["abc", "def"]],
               "ua": ["set", [["uuid", "69443985-7806-45e2-b35f-574a04e720f9"],
                              ["uuid", "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema unix:socket 'verify 0 b, verify 1 r, set 0 b 1, set 1 r 3.5' \\
    'insert 2, verify 2 i, verify 1 b, delete 1'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:196"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket 'verify 0 b, verify 1 r, set 0 b 1, set 1 r 3.5' \
    'insert 2, verify 2 i, verify 1 b, delete 1'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:196"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
000: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<3> <4>] uuid=<5>
001: commit, status=success
002: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
002: i=1 r=3.5 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<3> <4>] uuid=<5>
003: commit, status=success
004: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
004: i=2 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<6>
005: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:196"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:196"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1242
#AT_START_1243
at_fn_group_banner 1243 'ovsdb-idl.at:196' \
  "simple idl, writing via IDL - Python tcp" "       " 77
at_xfail=no
(
  $as_echo "1243. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:196" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:196"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:196"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:196"
( $at_check_trace; ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {\"i\": 1,
               \"r\": 2.0,
               \"b\": true,
               \"s\": \"mystring\",
               \"u\": [\"uuid\", \"84f5c8f5-ac76-4dbc-a24f-8860eb407fc1\"],
               \"ia\": [\"set\", [1, 2, 3]],
               \"ra\": [\"set\", [-0.5]],
               \"ba\": [\"set\", [true]],
               \"sa\": [\"set\", [\"abc\", \"def\"]],
               \"ua\": [\"set\", [[\"uuid\", \"69443985-7806-45e2-b35f-574a04e720f9\"],
                              [\"uuid\", \"aad11ef0-816a-4b01-93e6-03b8b4256b98\"]]]}},
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:196"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {"i": 1,
               "r": 2.0,
               "b": true,
               "s": "mystring",
               "u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
               "ia": ["set", [1, 2, 3]],
               "ra": ["set", [-0.5]],
               "ba": ["set", [true]],
               "sa": ["set", ["abc", "def"]],
               "ua": ["set", [["uuid", "69443985-7806-45e2-b35f-574a04e720f9"],
                              ["uuid", "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema tcp:127.0.0.1:\$TCP_PORT 'verify 0 b, verify 1 r, set 0 b 1, set 1 r 3.5' \\
    'insert 2, verify 2 i, verify 1 b, delete 1'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:196"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema tcp:127.0.0.1:$TCP_PORT 'verify 0 b, verify 1 r, set 0 b 1, set 1 r 3.5' \
    'insert 2, verify 2 i, verify 1 b, delete 1'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:196"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
000: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<3> <4>] uuid=<5>
001: commit, status=success
002: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
002: i=1 r=3.5 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[true] sa=[abc def] ua=[<3> <4>] uuid=<5>
003: commit, status=success
004: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
004: i=2 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<6>
005: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:196"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:196: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:196"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:196"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1243
#AT_START_1244
at_fn_group_banner 1244 'ovsdb-idl.at:227' \
  "simple idl, handling verification failure - C" "  " 77
at_xfail=no
(
  $as_echo "1244. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:227"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:227"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: ovsdb-client transact unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {\"i\": 1,
               \"r\": 2.0}},
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:227"
( $at_check_trace; ovsdb-client transact unix:socket '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {"i": 1,
               "r": 2.0}},
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket 'set 0 b 1' \\
    '+[\"idltest\",
       {\"op\": \"update\",
        \"table\": \"simple\",
        \"where\": [[\"i\", \"==\", 1]],
        \"row\": {\"r\": 5.0}}]' \\
    '+verify 1 r, set 1 r 3' \\
    'verify 1 r, set 1 r 3' \\
    "
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:227"
( $at_check_trace; test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket 'set 0 b 1' \
    '+["idltest",
       {"op": "update",
        "table": "simple",
        "where": [["i", "==", 1]],
        "row": {"r": 5.0}}]' \
    '+verify 1 r, set 1 r 3' \
    'verify 1 r, set 1 r 3' \

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:227"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
000: i=1 r=2 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<2>
001: commit, status=success
002: {\"error\":null,\"result\":[{\"count\":1}]}
003: commit, status=try again
004: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
004: i=1 r=5 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<2>
005: commit, status=success
006: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
006: i=1 r=3 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<2>
007: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:227"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:227"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1244
#AT_START_1245
at_fn_group_banner 1245 'ovsdb-idl.at:227' \
  "simple idl, handling verification failure - Python" "" 77
at_xfail=no
(
  $as_echo "1245. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:227" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:227"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:227"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:227"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: ovsdb-client transact unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {\"i\": 1,
               \"r\": 2.0}},
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:227"
( $at_check_trace; ovsdb-client transact unix:socket '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {"i": 1,
               "r": 2.0}},
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema unix:socket 'set 0 b 1' \\
    '+[\"idltest\",
       {\"op\": \"update\",
        \"table\": \"simple\",
        \"where\": [[\"i\", \"==\", 1]],
        \"row\": {\"r\": 5.0}}]' \\
    '+verify 1 r, set 1 r 3' \\
    'verify 1 r, set 1 r 3' \\
    "
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:227"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket 'set 0 b 1' \
    '+["idltest",
       {"op": "update",
        "table": "simple",
        "where": [["i", "==", 1]],
        "row": {"r": 5.0}}]' \
    '+verify 1 r, set 1 r 3' \
    'verify 1 r, set 1 r 3' \

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:227"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
000: i=1 r=2 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<2>
001: commit, status=success
002: {\"error\":null,\"result\":[{\"count\":1}]}
003: commit, status=try again
004: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
004: i=1 r=5 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<2>
005: commit, status=success
006: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
006: i=1 r=3 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<2>
007: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:227"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:227"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1245
#AT_START_1246
at_fn_group_banner 1246 'ovsdb-idl.at:227' \
  "simple idl, handling verification failure - Python tcp" "" 77
at_xfail=no
(
  $as_echo "1246. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:227" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:227"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:227"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:227"
( $at_check_trace; ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {\"i\": 1,
               \"r\": 2.0}},
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:227"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {"i": 1,
               "r": 2.0}},
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema tcp:127.0.0.1:\$TCP_PORT 'set 0 b 1' \\
    '+[\"idltest\",
       {\"op\": \"update\",
        \"table\": \"simple\",
        \"where\": [[\"i\", \"==\", 1]],
        \"row\": {\"r\": 5.0}}]' \\
    '+verify 1 r, set 1 r 3' \\
    'verify 1 r, set 1 r 3' \\
    "
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:227"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema tcp:127.0.0.1:$TCP_PORT 'set 0 b 1' \
    '+["idltest",
       {"op": "update",
        "table": "simple",
        "where": [["i", "==", 1]],
        "row": {"r": 5.0}}]' \
    '+verify 1 r, set 1 r 3' \
    'verify 1 r, set 1 r 3' \

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:227"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
000: i=1 r=2 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<2>
001: commit, status=success
002: {\"error\":null,\"result\":[{\"count\":1}]}
003: commit, status=try again
004: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
004: i=1 r=5 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<2>
005: commit, status=success
006: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
006: i=1 r=3 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<2>
007: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:227"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:227: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:227"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:227"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1246
#AT_START_1247
at_fn_group_banner 1247 'ovsdb-idl.at:258' \
  "simple idl, increment operation - C" "            " 77
at_xfail=no
(
  $as_echo "1247. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:258"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:258"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: ovsdb-client transact unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:258"
( $at_check_trace; ovsdb-client transact unix:socket '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket 'set 0 r 2.0, increment 0'"
at_fn_check_prepare_notrace 'a shell pipeline' "ovsdb-idl.at:258"
( $at_check_trace; test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket 'set 0 r 2.0, increment 0'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:258"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
001: commit, status=success, increment=1
002: i=1 r=2 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
003: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:258"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:258"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1247
#AT_START_1248
at_fn_group_banner 1248 'ovsdb-idl.at:258' \
  "simple idl, increment operation - Python" "       " 77
at_xfail=no
(
  $as_echo "1248. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:258" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:258"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:258"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:258"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: ovsdb-client transact unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:258"
( $at_check_trace; ovsdb-client transact unix:socket '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema unix:socket 'set 0 r 2.0, increment 0'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket 'set 0 r 2.0, increment 0'" "ovsdb-idl.at:258"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket 'set 0 r 2.0, increment 0'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:258"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
001: commit, status=success, increment=1
002: i=1 r=2 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
003: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:258"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:258"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1248
#AT_START_1249
at_fn_group_banner 1249 'ovsdb-idl.at:258' \
  "simple idl, increment operation - Python tcp" "   " 77
at_xfail=no
(
  $as_echo "1249. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:258" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:258"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:258"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:258"
( $at_check_trace; ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:258"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema tcp:127.0.0.1:\$TCP_PORT 'set 0 r 2.0, increment 0'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema tcp:127.0.0.1:$TCP_PORT 'set 0 r 2.0, increment 0'" "ovsdb-idl.at:258"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema tcp:127.0.0.1:$TCP_PORT 'set 0 r 2.0, increment 0'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:258"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
001: commit, status=success, increment=1
002: i=1 r=2 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
003: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:258"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:258: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:258"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:258"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1249
#AT_START_1250
at_fn_group_banner 1250 'ovsdb-idl.at:270' \
  "simple idl, aborting - C" "                       " 77
at_xfail=no
(
  $as_echo "1250. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:270"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:270"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: ovsdb-client transact unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:270"
( $at_check_trace; ovsdb-client transact unix:socket '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket 'set 0 r 2.0, abort' \\
'+set 0 b 1'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:270"
( $at_check_trace; test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket 'set 0 r 2.0, abort' \
'+set 0 b 1'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:270"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
001: commit, status=aborted
002: commit, status=success
003: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
004: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:270"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:270"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1250
#AT_START_1251
at_fn_group_banner 1251 'ovsdb-idl.at:270' \
  "simple idl, aborting - Python" "                  " 77
at_xfail=no
(
  $as_echo "1251. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:270" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:270"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:270"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:270"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: ovsdb-client transact unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:270"
( $at_check_trace; ovsdb-client transact unix:socket '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema unix:socket 'set 0 r 2.0, abort' \\
'+set 0 b 1'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:270"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket 'set 0 r 2.0, abort' \
'+set 0 b 1'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:270"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
001: commit, status=aborted
002: commit, status=success
003: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
004: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:270"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:270"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1251
#AT_START_1252
at_fn_group_banner 1252 'ovsdb-idl.at:270' \
  "simple idl, aborting - Python tcp" "              " 77
at_xfail=no
(
  $as_echo "1252. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:270" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:270"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:270"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:270"
( $at_check_trace; ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:270"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema tcp:127.0.0.1:\$TCP_PORT 'set 0 r 2.0, abort' \\
'+set 0 b 1'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:270"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema tcp:127.0.0.1:$TCP_PORT 'set 0 r 2.0, abort' \
'+set 0 b 1'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:270"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
001: commit, status=aborted
002: commit, status=success
003: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
004: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:270"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:270: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:270"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:270"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1252
#AT_START_1253
at_fn_group_banner 1253 'ovsdb-idl.at:284' \
  "simple idl, destroy without commit or abort - C" "" 77
at_xfail=no
(
  $as_echo "1253. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:284"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:284"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: ovsdb-client transact unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:284"
( $at_check_trace; ovsdb-client transact unix:socket '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket 'set 0 r 2.0, destroy' \\
'+set 0 b 1'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:284"
( $at_check_trace; test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket 'set 0 r 2.0, destroy' \
'+set 0 b 1'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:284"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
001: destroy
002: commit, status=success
003: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
004: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:284"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:284"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1253
#AT_START_1254
at_fn_group_banner 1254 'ovsdb-idl.at:284' \
  "simple idl, destroy without commit or abort - Python" "" 77
at_xfail=no
(
  $as_echo "1254. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:284" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:284"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:284"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:284"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: ovsdb-client transact unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:284"
( $at_check_trace; ovsdb-client transact unix:socket '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema unix:socket 'set 0 r 2.0, destroy' \\
'+set 0 b 1'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:284"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket 'set 0 r 2.0, destroy' \
'+set 0 b 1'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:284"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
001: destroy
002: commit, status=success
003: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
004: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:284"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:284"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1254
#AT_START_1255
at_fn_group_banner 1255 'ovsdb-idl.at:284' \
  "simple idl, destroy without commit or abort - Python tcp" "" 77
at_xfail=no
(
  $as_echo "1255. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:284" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:284"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:284"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:284"
( $at_check_trace; ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: ovsdb-client transact tcp:127.0.0.1:\$TCP_PORT '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"simple\",
       \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:284"
( $at_check_trace; ovsdb-client transact tcp:127.0.0.1:$TCP_PORT '["idltest",
      {"op": "insert",
       "table": "simple",
       "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema tcp:127.0.0.1:\$TCP_PORT 'set 0 r 2.0, destroy' \\
'+set 0 b 1'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:284"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema tcp:127.0.0.1:$TCP_PORT 'set 0 r 2.0, destroy' \
'+set 0 b 1'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:284"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
001: destroy
002: commit, status=success
003: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
004: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:284"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:284: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:284"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:284"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1255
#AT_START_1256
at_fn_group_banner 1256 'ovsdb-idl.at:298' \
  "self-linking idl, consistent ops - C" "           " 77
at_xfail=no
(
  $as_echo "1256. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:298"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:298"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 0, \"k\": [\"named-uuid\", \"self\"]},
       \"uuid-name\": \"self\"}]' \\
    '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 1, \"k\": [\"named-uuid\", \"row2\"]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 2, \"k\": [\"named-uuid\", \"row1\"]},
       \"uuid-name\": \"row2\"}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"link1\",
       \"where\": [[\"i\", \"==\", 1]],
       \"row\": {\"k\": [\"uuid\", \"#1#\"]}}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"link1\",
       \"where\": [],
       \"row\": {\"k\": [\"uuid\", \"#0#\"]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:298"
( $at_check_trace; test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket '["idltest",
      {"op": "insert",
       "table": "link1",
       "row": {"i": 0, "k": ["named-uuid", "self"]},
       "uuid-name": "self"}]' \
    '["idltest",
      {"op": "insert",
       "table": "link1",
       "row": {"i": 1, "k": ["named-uuid", "row2"]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 2, "k": ["named-uuid", "row1"]},
       "uuid-name": "row2"}]' \
    '["idltest",
      {"op": "update",
       "table": "link1",
       "where": [["i", "==", 1]],
       "row": {"k": ["uuid", "#1#"]}}]' \
    '["idltest",
      {"op": "update",
       "table": "link1",
       "where": [],
       "row": {"k": ["uuid", "#0#"]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:298"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<0>\"]}]}
002: i=0 k=0 ka=[] l2= uuid=<0>
003: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]}]}
004: i=0 k=0 ka=[] l2= uuid=<0>
004: i=1 k=2 ka=[] l2= uuid=<1>
004: i=2 k=1 ka=[] l2= uuid=<2>
005: {\"error\":null,\"result\":[{\"count\":1}]}
006: i=0 k=0 ka=[] l2= uuid=<0>
006: i=1 k=1 ka=[] l2= uuid=<1>
006: i=2 k=1 ka=[] l2= uuid=<2>
007: {\"error\":null,\"result\":[{\"count\":3}]}
008: i=0 k=0 ka=[] l2= uuid=<0>
008: i=1 k=0 ka=[] l2= uuid=<1>
008: i=2 k=0 ka=[] l2= uuid=<2>
009: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:298"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:298"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1256
#AT_START_1257
at_fn_group_banner 1257 'ovsdb-idl.at:298' \
  "self-linking idl, consistent ops - Python" "      " 77
at_xfail=no
(
  $as_echo "1257. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:298" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:298"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:298"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:298"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 0, \"k\": [\"named-uuid\", \"self\"]},
       \"uuid-name\": \"self\"}]' \\
    '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 1, \"k\": [\"named-uuid\", \"row2\"]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 2, \"k\": [\"named-uuid\", \"row1\"]},
       \"uuid-name\": \"row2\"}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"link1\",
       \"where\": [[\"i\", \"==\", 1]],
       \"row\": {\"k\": [\"uuid\", \"#1#\"]}}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"link1\",
       \"where\": [],
       \"row\": {\"k\": [\"uuid\", \"#0#\"]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:298"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket '["idltest",
      {"op": "insert",
       "table": "link1",
       "row": {"i": 0, "k": ["named-uuid", "self"]},
       "uuid-name": "self"}]' \
    '["idltest",
      {"op": "insert",
       "table": "link1",
       "row": {"i": 1, "k": ["named-uuid", "row2"]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 2, "k": ["named-uuid", "row1"]},
       "uuid-name": "row2"}]' \
    '["idltest",
      {"op": "update",
       "table": "link1",
       "where": [["i", "==", 1]],
       "row": {"k": ["uuid", "#1#"]}}]' \
    '["idltest",
      {"op": "update",
       "table": "link1",
       "where": [],
       "row": {"k": ["uuid", "#0#"]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:298"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<0>\"]}]}
002: i=0 k=0 ka=[] l2= uuid=<0>
003: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]}]}
004: i=0 k=0 ka=[] l2= uuid=<0>
004: i=1 k=2 ka=[] l2= uuid=<1>
004: i=2 k=1 ka=[] l2= uuid=<2>
005: {\"error\":null,\"result\":[{\"count\":1}]}
006: i=0 k=0 ka=[] l2= uuid=<0>
006: i=1 k=1 ka=[] l2= uuid=<1>
006: i=2 k=1 ka=[] l2= uuid=<2>
007: {\"error\":null,\"result\":[{\"count\":3}]}
008: i=0 k=0 ka=[] l2= uuid=<0>
008: i=1 k=0 ka=[] l2= uuid=<1>
008: i=2 k=0 ka=[] l2= uuid=<2>
009: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:298"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:298"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1257
#AT_START_1258
at_fn_group_banner 1258 'ovsdb-idl.at:298' \
  "self-linking idl, consistent ops - Python tcp" "  " 77
at_xfail=no
(
  $as_echo "1258. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:298" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:298"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:298"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:298"
( $at_check_trace; ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema tcp:127.0.0.1:\$TCP_PORT '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 0, \"k\": [\"named-uuid\", \"self\"]},
       \"uuid-name\": \"self\"}]' \\
    '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 1, \"k\": [\"named-uuid\", \"row2\"]},
       \"uuid-name\": \"row1\"},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 2, \"k\": [\"named-uuid\", \"row1\"]},
       \"uuid-name\": \"row2\"}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"link1\",
       \"where\": [[\"i\", \"==\", 1]],
       \"row\": {\"k\": [\"uuid\", \"#1#\"]}}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"link1\",
       \"where\": [],
       \"row\": {\"k\": [\"uuid\", \"#0#\"]}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:298"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema tcp:127.0.0.1:$TCP_PORT '["idltest",
      {"op": "insert",
       "table": "link1",
       "row": {"i": 0, "k": ["named-uuid", "self"]},
       "uuid-name": "self"}]' \
    '["idltest",
      {"op": "insert",
       "table": "link1",
       "row": {"i": 1, "k": ["named-uuid", "row2"]},
       "uuid-name": "row1"},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 2, "k": ["named-uuid", "row1"]},
       "uuid-name": "row2"}]' \
    '["idltest",
      {"op": "update",
       "table": "link1",
       "where": [["i", "==", 1]],
       "row": {"k": ["uuid", "#1#"]}}]' \
    '["idltest",
      {"op": "update",
       "table": "link1",
       "where": [],
       "row": {"k": ["uuid", "#0#"]}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:298"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<0>\"]}]}
002: i=0 k=0 ka=[] l2= uuid=<0>
003: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]}]}
004: i=0 k=0 ka=[] l2= uuid=<0>
004: i=1 k=2 ka=[] l2= uuid=<1>
004: i=2 k=1 ka=[] l2= uuid=<2>
005: {\"error\":null,\"result\":[{\"count\":1}]}
006: i=0 k=0 ka=[] l2= uuid=<0>
006: i=1 k=1 ka=[] l2= uuid=<1>
006: i=2 k=1 ka=[] l2= uuid=<2>
007: {\"error\":null,\"result\":[{\"count\":3}]}
008: i=0 k=0 ka=[] l2= uuid=<0>
008: i=1 k=0 ka=[] l2= uuid=<1>
008: i=2 k=0 ka=[] l2= uuid=<2>
009: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:298"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:298: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:298"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:298"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1258
#AT_START_1259
at_fn_group_banner 1259 'ovsdb-idl.at:342' \
  "self-linking idl, inconsistent ops - C" "         " 77
at_xfail=no
(
  $as_echo "1259. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:342"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:342"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 0, \"k\": [\"uuid\", \"cf197cc5-c8c9-42f5-82d5-c71a9f2cb96b\"]}}]' \\
    '+[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"uuid-name\": \"one\",
       \"row\": {\"i\": 1, \"k\": [\"named-uuid\", \"one\"]}},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 2, \"k\": [\"named-uuid\", \"one\"]}}]' \\
     '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"link1\",
       \"where\": [],
       \"row\": {\"k\": [\"uuid\", \"c2fca39a-e69a-42a4-9c56-5eca85839ce9\"]}}]' \\
     '+[\"idltest\",
      {\"op\": \"delete\",
       \"table\": \"link1\",
       \"where\": [[\"_uuid\", \"==\", [\"uuid\", \"#1#\"]]]}]' \\
     '+[\"idltest\",
      {\"op\": \"delete\",
       \"table\": \"link1\",
       \"where\": [[\"_uuid\", \"==\", [\"uuid\", \"#2#\"]]]}]' \\
     '[\"idltest\",
      {\"op\": \"delete\",
       \"table\": \"link1\",
       \"where\": []}]' \\
"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:342"
( $at_check_trace; test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket '["idltest",
      {"op": "insert",
       "table": "link1",
       "row": {"i": 0, "k": ["uuid", "cf197cc5-c8c9-42f5-82d5-c71a9f2cb96b"]}}]' \
    '+["idltest",
      {"op": "insert",
       "table": "link1",
       "uuid-name": "one",
       "row": {"i": 1, "k": ["named-uuid", "one"]}},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 2, "k": ["named-uuid", "one"]}}]' \
     '["idltest",
      {"op": "update",
       "table": "link1",
       "where": [],
       "row": {"k": ["uuid", "c2fca39a-e69a-42a4-9c56-5eca85839ce9"]}}]' \
     '+["idltest",
      {"op": "delete",
       "table": "link1",
       "where": [["_uuid", "==", ["uuid", "#1#"]]]}]' \
     '+["idltest",
      {"op": "delete",
       "table": "link1",
       "where": [["_uuid", "==", ["uuid", "#2#"]]]}]' \
     '["idltest",
      {"op": "delete",
       "table": "link1",
       "where": []}]' \

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: sort stdout | \${PERL} \$srcdir/uuidfilt.pl| sed -e '/004:/s/row <[23]> references/row <x> references/'"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:342"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl| sed -e '/004:/s/row <[23]> references/row <x> references/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<0>\"]},{\"details\":\"Table link1 column k row <0> references nonexistent row <1> in table link1.\",\"error\":\"referential integrity violation\"}]}
002: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]}]}
003: i=1 k=1 ka=[] l2= uuid=<2>
003: i=2 k=1 ka=[] l2= uuid=<3>
004: {\"error\":null,\"result\":[{\"count\":2},{\"details\":\"Table link1 column k row <x> references nonexistent row <4> in table link1.\",\"error\":\"referential integrity violation\"}]}
005: {\"error\":null,\"result\":[{\"count\":1},{\"details\":\"cannot delete link1 row <2> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]}
006: {\"error\":null,\"result\":[{\"count\":1}]}
007: i=1 k=1 ka=[] l2= uuid=<2>
008: {\"error\":null,\"result\":[{\"count\":1}]}
009: empty
010: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:342"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:342"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1259
#AT_START_1260
at_fn_group_banner 1260 'ovsdb-idl.at:342' \
  "self-linking idl, inconsistent ops - Python" "    " 77
at_xfail=no
(
  $as_echo "1260. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:342" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:342"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:342"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:342"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 0, \"k\": [\"uuid\", \"cf197cc5-c8c9-42f5-82d5-c71a9f2cb96b\"]}}]' \\
    '+[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"uuid-name\": \"one\",
       \"row\": {\"i\": 1, \"k\": [\"named-uuid\", \"one\"]}},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 2, \"k\": [\"named-uuid\", \"one\"]}}]' \\
     '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"link1\",
       \"where\": [],
       \"row\": {\"k\": [\"uuid\", \"c2fca39a-e69a-42a4-9c56-5eca85839ce9\"]}}]' \\
     '+[\"idltest\",
      {\"op\": \"delete\",
       \"table\": \"link1\",
       \"where\": [[\"_uuid\", \"==\", [\"uuid\", \"#1#\"]]]}]' \\
     '+[\"idltest\",
      {\"op\": \"delete\",
       \"table\": \"link1\",
       \"where\": [[\"_uuid\", \"==\", [\"uuid\", \"#2#\"]]]}]' \\
     '[\"idltest\",
      {\"op\": \"delete\",
       \"table\": \"link1\",
       \"where\": []}]' \\
"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:342"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket '["idltest",
      {"op": "insert",
       "table": "link1",
       "row": {"i": 0, "k": ["uuid", "cf197cc5-c8c9-42f5-82d5-c71a9f2cb96b"]}}]' \
    '+["idltest",
      {"op": "insert",
       "table": "link1",
       "uuid-name": "one",
       "row": {"i": 1, "k": ["named-uuid", "one"]}},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 2, "k": ["named-uuid", "one"]}}]' \
     '["idltest",
      {"op": "update",
       "table": "link1",
       "where": [],
       "row": {"k": ["uuid", "c2fca39a-e69a-42a4-9c56-5eca85839ce9"]}}]' \
     '+["idltest",
      {"op": "delete",
       "table": "link1",
       "where": [["_uuid", "==", ["uuid", "#1#"]]]}]' \
     '+["idltest",
      {"op": "delete",
       "table": "link1",
       "where": [["_uuid", "==", ["uuid", "#2#"]]]}]' \
     '["idltest",
      {"op": "delete",
       "table": "link1",
       "where": []}]' \

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: sort stdout | \${PERL} \$srcdir/uuidfilt.pl| sed -e '/004:/s/row <[23]> references/row <x> references/'"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:342"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl| sed -e '/004:/s/row <[23]> references/row <x> references/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<0>\"]},{\"details\":\"Table link1 column k row <0> references nonexistent row <1> in table link1.\",\"error\":\"referential integrity violation\"}]}
002: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]}]}
003: i=1 k=1 ka=[] l2= uuid=<2>
003: i=2 k=1 ka=[] l2= uuid=<3>
004: {\"error\":null,\"result\":[{\"count\":2},{\"details\":\"Table link1 column k row <x> references nonexistent row <4> in table link1.\",\"error\":\"referential integrity violation\"}]}
005: {\"error\":null,\"result\":[{\"count\":1},{\"details\":\"cannot delete link1 row <2> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]}
006: {\"error\":null,\"result\":[{\"count\":1}]}
007: i=1 k=1 ka=[] l2= uuid=<2>
008: {\"error\":null,\"result\":[{\"count\":1}]}
009: empty
010: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:342"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:342"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1260
#AT_START_1261
at_fn_group_banner 1261 'ovsdb-idl.at:342' \
  "self-linking idl, inconsistent ops - Python tcp" "" 77
at_xfail=no
(
  $as_echo "1261. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:342" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:342"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:342"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:342"
( $at_check_trace; ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema tcp:127.0.0.1:\$TCP_PORT '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 0, \"k\": [\"uuid\", \"cf197cc5-c8c9-42f5-82d5-c71a9f2cb96b\"]}}]' \\
    '+[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"uuid-name\": \"one\",
       \"row\": {\"i\": 1, \"k\": [\"named-uuid\", \"one\"]}},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 2, \"k\": [\"named-uuid\", \"one\"]}}]' \\
     '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"link1\",
       \"where\": [],
       \"row\": {\"k\": [\"uuid\", \"c2fca39a-e69a-42a4-9c56-5eca85839ce9\"]}}]' \\
     '+[\"idltest\",
      {\"op\": \"delete\",
       \"table\": \"link1\",
       \"where\": [[\"_uuid\", \"==\", [\"uuid\", \"#1#\"]]]}]' \\
     '+[\"idltest\",
      {\"op\": \"delete\",
       \"table\": \"link1\",
       \"where\": [[\"_uuid\", \"==\", [\"uuid\", \"#2#\"]]]}]' \\
     '[\"idltest\",
      {\"op\": \"delete\",
       \"table\": \"link1\",
       \"where\": []}]' \\
"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:342"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema tcp:127.0.0.1:$TCP_PORT '["idltest",
      {"op": "insert",
       "table": "link1",
       "row": {"i": 0, "k": ["uuid", "cf197cc5-c8c9-42f5-82d5-c71a9f2cb96b"]}}]' \
    '+["idltest",
      {"op": "insert",
       "table": "link1",
       "uuid-name": "one",
       "row": {"i": 1, "k": ["named-uuid", "one"]}},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 2, "k": ["named-uuid", "one"]}}]' \
     '["idltest",
      {"op": "update",
       "table": "link1",
       "where": [],
       "row": {"k": ["uuid", "c2fca39a-e69a-42a4-9c56-5eca85839ce9"]}}]' \
     '+["idltest",
      {"op": "delete",
       "table": "link1",
       "where": [["_uuid", "==", ["uuid", "#1#"]]]}]' \
     '+["idltest",
      {"op": "delete",
       "table": "link1",
       "where": [["_uuid", "==", ["uuid", "#2#"]]]}]' \
     '["idltest",
      {"op": "delete",
       "table": "link1",
       "where": []}]' \

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: sort stdout | \${PERL} \$srcdir/uuidfilt.pl| sed -e '/004:/s/row <[23]> references/row <x> references/'"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:342"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl| sed -e '/004:/s/row <[23]> references/row <x> references/'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<0>\"]},{\"details\":\"Table link1 column k row <0> references nonexistent row <1> in table link1.\",\"error\":\"referential integrity violation\"}]}
002: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]}]}
003: i=1 k=1 ka=[] l2= uuid=<2>
003: i=2 k=1 ka=[] l2= uuid=<3>
004: {\"error\":null,\"result\":[{\"count\":2},{\"details\":\"Table link1 column k row <x> references nonexistent row <4> in table link1.\",\"error\":\"referential integrity violation\"}]}
005: {\"error\":null,\"result\":[{\"count\":1},{\"details\":\"cannot delete link1 row <2> because of 1 remaining reference(s)\",\"error\":\"referential integrity violation\"}]}
006: {\"error\":null,\"result\":[{\"count\":1}]}
007: i=1 k=1 ka=[] l2= uuid=<2>
008: {\"error\":null,\"result\":[{\"count\":1}]}
009: empty
010: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:342"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:342: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:342"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:342"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1261
#AT_START_1262
at_fn_group_banner 1262 'ovsdb-idl.at:390' \
  "self-linking idl, sets - C" "                     " 77
at_xfail=no
(
  $as_echo "1262. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:390"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:390"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 0, \"k\": [\"named-uuid\", \"i0\"], \"ka\": [\"set\", [[\"named-uuid\", \"i0\"]]]},
       \"uuid-name\": \"i0\"},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 1, \"k\": [\"named-uuid\", \"i0\"], \"ka\": [\"set\", [[\"named-uuid\", \"i1\"]]]},
       \"uuid-name\": \"i1\"},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 2, \"k\": [\"named-uuid\", \"i0\"], \"ka\": [\"set\", [[\"named-uuid\", \"i2\"]]]},
       \"uuid-name\": \"i2\"},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 3, \"k\": [\"named-uuid\", \"i0\"], \"ka\": [\"set\", [[\"named-uuid\", \"i3\"]]]},
       \"uuid-name\": \"i3\"}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"link1\",
       \"where\": [],
       \"row\": {\"ka\": [\"set\", [[\"uuid\", \"#0#\"], [\"uuid\", \"#1#\"], [\"uuid\", \"#2#\"], [\"uuid\", \"#3#\"]]]}}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"link1\",
       \"where\": [[\"i\", \"==\", 2]],
       \"row\": {\"ka\": [\"set\", [[\"uuid\", \"#0#\"], [\"uuid\", \"88702e78-845b-4a6e-ad08-cf68922ae84a\"], [\"uuid\", \"#2#\"]]]}}]' \\
    '+[\"idltest\",
      {\"op\": \"delete\",
       \"table\": \"link1\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:390"
( $at_check_trace; test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket '["idltest",
      {"op": "insert",
       "table": "link1",
       "row": {"i": 0, "k": ["named-uuid", "i0"], "ka": ["set", [["named-uuid", "i0"]]]},
       "uuid-name": "i0"},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 1, "k": ["named-uuid", "i0"], "ka": ["set", [["named-uuid", "i1"]]]},
       "uuid-name": "i1"},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 2, "k": ["named-uuid", "i0"], "ka": ["set", [["named-uuid", "i2"]]]},
       "uuid-name": "i2"},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 3, "k": ["named-uuid", "i0"], "ka": ["set", [["named-uuid", "i3"]]]},
       "uuid-name": "i3"}]' \
    '["idltest",
      {"op": "update",
       "table": "link1",
       "where": [],
       "row": {"ka": ["set", [["uuid", "#0#"], ["uuid", "#1#"], ["uuid", "#2#"], ["uuid", "#3#"]]]}}]' \
    '["idltest",
      {"op": "update",
       "table": "link1",
       "where": [["i", "==", 2]],
       "row": {"ka": ["set", [["uuid", "#0#"], ["uuid", "88702e78-845b-4a6e-ad08-cf68922ae84a"], ["uuid", "#2#"]]]}}]' \
    '+["idltest",
      {"op": "delete",
       "table": "link1",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:390"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]}]}
002: i=0 k=0 ka=[0] l2= uuid=<0>
002: i=1 k=0 ka=[1] l2= uuid=<1>
002: i=2 k=0 ka=[2] l2= uuid=<2>
002: i=3 k=0 ka=[3] l2= uuid=<3>
003: {\"error\":null,\"result\":[{\"count\":4}]}
004: i=0 k=0 ka=[0 1 2 3] l2= uuid=<0>
004: i=1 k=0 ka=[0 1 2 3] l2= uuid=<1>
004: i=2 k=0 ka=[0 1 2 3] l2= uuid=<2>
004: i=3 k=0 ka=[0 1 2 3] l2= uuid=<3>
005: {\"error\":null,\"result\":[{\"count\":1},{\"details\":\"Table link1 column ka row <2> references nonexistent row <4> in table link1.\",\"error\":\"referential integrity violation\"}]}
006: {\"error\":null,\"result\":[{\"count\":4}]}
007: empty
008: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:390"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:390"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1262
#AT_START_1263
at_fn_group_banner 1263 'ovsdb-idl.at:390' \
  "self-linking idl, sets - Python" "                " 77
at_xfail=no
(
  $as_echo "1263. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:390" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:390"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:390"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:390"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 0, \"k\": [\"named-uuid\", \"i0\"], \"ka\": [\"set\", [[\"named-uuid\", \"i0\"]]]},
       \"uuid-name\": \"i0\"},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 1, \"k\": [\"named-uuid\", \"i0\"], \"ka\": [\"set\", [[\"named-uuid\", \"i1\"]]]},
       \"uuid-name\": \"i1\"},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 2, \"k\": [\"named-uuid\", \"i0\"], \"ka\": [\"set\", [[\"named-uuid\", \"i2\"]]]},
       \"uuid-name\": \"i2\"},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 3, \"k\": [\"named-uuid\", \"i0\"], \"ka\": [\"set\", [[\"named-uuid\", \"i3\"]]]},
       \"uuid-name\": \"i3\"}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"link1\",
       \"where\": [],
       \"row\": {\"ka\": [\"set\", [[\"uuid\", \"#0#\"], [\"uuid\", \"#1#\"], [\"uuid\", \"#2#\"], [\"uuid\", \"#3#\"]]]}}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"link1\",
       \"where\": [[\"i\", \"==\", 2]],
       \"row\": {\"ka\": [\"set\", [[\"uuid\", \"#0#\"], [\"uuid\", \"88702e78-845b-4a6e-ad08-cf68922ae84a\"], [\"uuid\", \"#2#\"]]]}}]' \\
    '+[\"idltest\",
      {\"op\": \"delete\",
       \"table\": \"link1\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:390"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket '["idltest",
      {"op": "insert",
       "table": "link1",
       "row": {"i": 0, "k": ["named-uuid", "i0"], "ka": ["set", [["named-uuid", "i0"]]]},
       "uuid-name": "i0"},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 1, "k": ["named-uuid", "i0"], "ka": ["set", [["named-uuid", "i1"]]]},
       "uuid-name": "i1"},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 2, "k": ["named-uuid", "i0"], "ka": ["set", [["named-uuid", "i2"]]]},
       "uuid-name": "i2"},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 3, "k": ["named-uuid", "i0"], "ka": ["set", [["named-uuid", "i3"]]]},
       "uuid-name": "i3"}]' \
    '["idltest",
      {"op": "update",
       "table": "link1",
       "where": [],
       "row": {"ka": ["set", [["uuid", "#0#"], ["uuid", "#1#"], ["uuid", "#2#"], ["uuid", "#3#"]]]}}]' \
    '["idltest",
      {"op": "update",
       "table": "link1",
       "where": [["i", "==", 2]],
       "row": {"ka": ["set", [["uuid", "#0#"], ["uuid", "88702e78-845b-4a6e-ad08-cf68922ae84a"], ["uuid", "#2#"]]]}}]' \
    '+["idltest",
      {"op": "delete",
       "table": "link1",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:390"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]}]}
002: i=0 k=0 ka=[0] l2= uuid=<0>
002: i=1 k=0 ka=[1] l2= uuid=<1>
002: i=2 k=0 ka=[2] l2= uuid=<2>
002: i=3 k=0 ka=[3] l2= uuid=<3>
003: {\"error\":null,\"result\":[{\"count\":4}]}
004: i=0 k=0 ka=[0 1 2 3] l2= uuid=<0>
004: i=1 k=0 ka=[0 1 2 3] l2= uuid=<1>
004: i=2 k=0 ka=[0 1 2 3] l2= uuid=<2>
004: i=3 k=0 ka=[0 1 2 3] l2= uuid=<3>
005: {\"error\":null,\"result\":[{\"count\":1},{\"details\":\"Table link1 column ka row <2> references nonexistent row <4> in table link1.\",\"error\":\"referential integrity violation\"}]}
006: {\"error\":null,\"result\":[{\"count\":4}]}
007: empty
008: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:390"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:390"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1263
#AT_START_1264
at_fn_group_banner 1264 'ovsdb-idl.at:390' \
  "self-linking idl, sets - Python tcp" "            " 77
at_xfail=no
(
  $as_echo "1264. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:390" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:390"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:390"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:390"
( $at_check_trace; ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema tcp:127.0.0.1:\$TCP_PORT '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 0, \"k\": [\"named-uuid\", \"i0\"], \"ka\": [\"set\", [[\"named-uuid\", \"i0\"]]]},
       \"uuid-name\": \"i0\"},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 1, \"k\": [\"named-uuid\", \"i0\"], \"ka\": [\"set\", [[\"named-uuid\", \"i1\"]]]},
       \"uuid-name\": \"i1\"},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 2, \"k\": [\"named-uuid\", \"i0\"], \"ka\": [\"set\", [[\"named-uuid\", \"i2\"]]]},
       \"uuid-name\": \"i2\"},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 3, \"k\": [\"named-uuid\", \"i0\"], \"ka\": [\"set\", [[\"named-uuid\", \"i3\"]]]},
       \"uuid-name\": \"i3\"}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"link1\",
       \"where\": [],
       \"row\": {\"ka\": [\"set\", [[\"uuid\", \"#0#\"], [\"uuid\", \"#1#\"], [\"uuid\", \"#2#\"], [\"uuid\", \"#3#\"]]]}}]' \\
    '[\"idltest\",
      {\"op\": \"update\",
       \"table\": \"link1\",
       \"where\": [[\"i\", \"==\", 2]],
       \"row\": {\"ka\": [\"set\", [[\"uuid\", \"#0#\"], [\"uuid\", \"88702e78-845b-4a6e-ad08-cf68922ae84a\"], [\"uuid\", \"#2#\"]]]}}]' \\
    '+[\"idltest\",
      {\"op\": \"delete\",
       \"table\": \"link1\",
       \"where\": []}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:390"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema tcp:127.0.0.1:$TCP_PORT '["idltest",
      {"op": "insert",
       "table": "link1",
       "row": {"i": 0, "k": ["named-uuid", "i0"], "ka": ["set", [["named-uuid", "i0"]]]},
       "uuid-name": "i0"},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 1, "k": ["named-uuid", "i0"], "ka": ["set", [["named-uuid", "i1"]]]},
       "uuid-name": "i1"},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 2, "k": ["named-uuid", "i0"], "ka": ["set", [["named-uuid", "i2"]]]},
       "uuid-name": "i2"},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 3, "k": ["named-uuid", "i0"], "ka": ["set", [["named-uuid", "i3"]]]},
       "uuid-name": "i3"}]' \
    '["idltest",
      {"op": "update",
       "table": "link1",
       "where": [],
       "row": {"ka": ["set", [["uuid", "#0#"], ["uuid", "#1#"], ["uuid", "#2#"], ["uuid", "#3#"]]]}}]' \
    '["idltest",
      {"op": "update",
       "table": "link1",
       "where": [["i", "==", 2]],
       "row": {"ka": ["set", [["uuid", "#0#"], ["uuid", "88702e78-845b-4a6e-ad08-cf68922ae84a"], ["uuid", "#2#"]]]}}]' \
    '+["idltest",
      {"op": "delete",
       "table": "link1",
       "where": []}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:390"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]},{\"uuid\":[\"uuid\",\"<2>\"]},{\"uuid\":[\"uuid\",\"<3>\"]}]}
002: i=0 k=0 ka=[0] l2= uuid=<0>
002: i=1 k=0 ka=[1] l2= uuid=<1>
002: i=2 k=0 ka=[2] l2= uuid=<2>
002: i=3 k=0 ka=[3] l2= uuid=<3>
003: {\"error\":null,\"result\":[{\"count\":4}]}
004: i=0 k=0 ka=[0 1 2 3] l2= uuid=<0>
004: i=1 k=0 ka=[0 1 2 3] l2= uuid=<1>
004: i=2 k=0 ka=[0 1 2 3] l2= uuid=<2>
004: i=3 k=0 ka=[0 1 2 3] l2= uuid=<3>
005: {\"error\":null,\"result\":[{\"count\":1},{\"details\":\"Table link1 column ka row <2> references nonexistent row <4> in table link1.\",\"error\":\"referential integrity violation\"}]}
006: {\"error\":null,\"result\":[{\"count\":4}]}
007: empty
008: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:390"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:390: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:390"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:390"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1264
#AT_START_1265
at_fn_group_banner 1265 'ovsdb-idl.at:440' \
  "external-linking idl, consistent ops - C" "       " 77
at_xfail=no
(
  $as_echo "1265. $at_setup_line: testing $at_desc ..."
  $at_traceon


   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:440"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:440"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link2\",
       \"row\": {\"i\": 0},
       \"uuid-name\": \"row0\"},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 1, \"k\": [\"named-uuid\", \"row1\"], \"l2\": [\"set\", [[\"named-uuid\", \"row0\"]]]},
       \"uuid-name\": \"row1\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:440"
( $at_check_trace; test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket '["idltest",
      {"op": "insert",
       "table": "link2",
       "row": {"i": 0},
       "uuid-name": "row0"},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 1, "k": ["named-uuid", "row1"], "l2": ["set", [["named-uuid", "row0"]]]},
       "uuid-name": "row1"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:440"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]}]}
002: i=0 l1= uuid=<0>
002: i=1 k=1 ka=[] l2=0 uuid=<1>
003: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:440"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:440"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1265
#AT_START_1266
at_fn_group_banner 1266 'ovsdb-idl.at:440' \
  "external-linking idl, consistent ops - Python" "  " 77
at_xfail=no
(
  $as_echo "1266. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:440" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:440"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:440"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:440"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema unix:socket '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link2\",
       \"row\": {\"i\": 0},
       \"uuid-name\": \"row0\"},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 1, \"k\": [\"named-uuid\", \"row1\"], \"l2\": [\"set\", [[\"named-uuid\", \"row0\"]]]},
       \"uuid-name\": \"row1\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:440"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket '["idltest",
      {"op": "insert",
       "table": "link2",
       "row": {"i": 0},
       "uuid-name": "row0"},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 1, "k": ["named-uuid", "row1"], "l2": ["set", [["named-uuid", "row0"]]]},
       "uuid-name": "row1"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:440"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]}]}
002: i=0 l1= uuid=<0>
002: i=1 k=1 ka=[] l2=0 uuid=<1>
003: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:440"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:440"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1266
#AT_START_1267
at_fn_group_banner 1267 'ovsdb-idl.at:440' \
  "external-linking idl, consistent ops - Python tcp" "" 77
at_xfail=no
(
  $as_echo "1267. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:440" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:440"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:440"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:440"
( $at_check_trace; ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
$at_failed && at_fn_log_failure
$at_traceon; }

   TCP_PORT=`parse_listening_port < ovsdb-server.log`


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema tcp:127.0.0.1:\$TCP_PORT '[\"idltest\",
      {\"op\": \"insert\",
       \"table\": \"link2\",
       \"row\": {\"i\": 0},
       \"uuid-name\": \"row0\"},
      {\"op\": \"insert\",
       \"table\": \"link1\",
       \"row\": {\"i\": 1, \"k\": [\"named-uuid\", \"row1\"], \"l2\": [\"set\", [[\"named-uuid\", \"row0\"]]]},
       \"uuid-name\": \"row1\"}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovsdb-idl.at:440"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema tcp:127.0.0.1:$TCP_PORT '["idltest",
      {"op": "insert",
       "table": "link2",
       "row": {"i": 0},
       "uuid-name": "row0"},
      {"op": "insert",
       "table": "link1",
       "row": {"i": 1, "k": ["named-uuid", "row1"], "l2": ["set", [["named-uuid", "row0"]]]},
       "uuid-name": "row1"}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:440"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: {\"error\":null,\"result\":[{\"uuid\":[\"uuid\",\"<0>\"]},{\"uuid\":[\"uuid\",\"<1>\"]}]}
002: i=0 l1= uuid=<0>
002: i=1 k=1 ka=[] l2=0 uuid=<1>
003: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:440"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:440: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:440"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:440"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1267
#AT_START_1268
at_fn_group_banner 1268 'ovsdb-idl.at:458' \
  "external-linking idl, insert ops - Python" "      " 77
at_xfail=no
(
  $as_echo "1268. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:458" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:458"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:458: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:458"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:458"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:458: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:458"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:458"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:458: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema unix:socket 'linktest'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket 'linktest'" "ovsdb-idl.at:458"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket 'linktest'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:458"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:458: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:458"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: commit, status=success
002: i=1 k=1 ka=[1] l2= uuid=<0>
002: i=2 k=1 ka=[1 2] l2= uuid=<1>
003: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:458"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:458: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:458"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:458"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:458: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:458"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:458"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1268
#AT_START_1269
at_fn_group_banner 1269 'ovsdb-idl.at:468' \
  "getattr idl, insert ops - Python" "               " 77
at_xfail=no
(
  $as_echo "1269. $at_setup_line: testing $at_desc ..."
  $at_traceon

   $as_echo "ovsdb-idl.at:468" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovsdb-idl.at:468"

   OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:468: ovsdb-tool create db \$abs_srcdir/idltest.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_srcdir/idltest.ovsschema" "ovsdb-idl.at:468"
( $at_check_trace; ovsdb-tool create db $abs_srcdir/idltest.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:468"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:468: ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:468"
( $at_check_trace; ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:468"
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:468: \$PYTHON \$srcdir/test-ovsdb.py  -t10 idl \$srcdir/idltest.ovsschema unix:socket 'getattrtest'"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket 'getattrtest'" "ovsdb-idl.at:468"
( $at_check_trace; $PYTHON $srcdir/test-ovsdb.py  -t10 idl $srcdir/idltest.ovsschema unix:socket 'getattrtest'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:468"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:468: sort stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovsdb-idl.at:468"
( $at_check_trace; sort stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "000: empty
001: commit, status=success
002: i=2 k=2 ka=[] l2= uuid=<0>
003: done
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:468"
if $at_failed; then :
  kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

   cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:468: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:468"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:468"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovsdb-idl.at:468: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovsdb-idl.at:468"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovsdb-idl.at:468"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

     set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1269
#AT_START_1270
at_fn_group_banner 1270 'ovs-vsctl.at:145' \
  "ovs-vsctl connection retry" "                     " 78
at_xfail=no
(
  $as_echo "1270. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=$PWD; export OVS_RUNDIR

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:149: ovs-vsctl --db=unix:foo --timeout=10 -vreconnect:emer -- init"
at_fn_check_prepare_trace "ovs-vsctl.at:149"
( $at_check_trace; ovs-vsctl --db=unix:foo --timeout=10 -vreconnect:emer -- init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:149"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:151: sed 's/([^()]*)/(...reason...)/' stderr"
at_fn_check_prepare_trace "ovs-vsctl.at:151"
( $at_check_trace; sed 's/([^()]*)/(...reason...)/' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ovs-vsctl: unix:foo: database connection failed (...reason...)
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:151"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:156: ovs-vsctl --db=unix:foo --timeout=1 --retry -vreconnect:emer -vPATTERN:console:'%c|%p|%m' -- init
   echo \$? > status"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:156"
( $at_check_trace; ovs-vsctl --db=unix:foo --timeout=1 --retry -vreconnect:emer -vPATTERN:console:'%c|%p|%m' -- init
   echo $? > status
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:156"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:160: grep -c 'terminating with signal' stderr"
at_fn_check_prepare_trace "ovs-vsctl.at:160"
( $at_check_trace; grep -c 'terminating with signal' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:160"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:162: kill -l \`cat status\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:162"
( $at_check_trace; kill -l `cat status`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ALRM
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:162"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:166: ovs-vsctl --db=punix:foo --timeout=1 -vreconnect:emer -vPATTERN:console:'%c|%p|%m' -- init
   echo \$? > status"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:166"
( $at_check_trace; ovs-vsctl --db=punix:foo --timeout=1 -vreconnect:emer -vPATTERN:console:'%c|%p|%m' -- init
   echo $? > status
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:166"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:170: grep -c 'terminating with signal' stderr"
at_fn_check_prepare_trace "ovs-vsctl.at:170"
( $at_check_trace; grep -c 'terminating with signal' stderr
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:170"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:172: kill -l \`cat status\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:172"
( $at_check_trace; kill -l `cat status`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "ALRM
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:172"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1270
#AT_START_1271
at_fn_group_banner 1271 'ovs-vsctl.at:179' \
  "add-br a" "                                       " 79
at_xfail=no
(
  $as_echo "1271. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:181: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:181"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:181"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:181: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:181"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:181"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:181: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:181"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:181"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:182: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:182"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:182"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:182: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:182"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:182"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:182: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:182"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:182"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:183"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:183"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:183"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:183"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:183"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:183"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:183"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:183"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:183"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:183"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:183"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:183"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:183"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:183"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:183"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:183"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:183"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:183"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:183"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:183"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:183"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:183"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a"
at_fn_check_prepare_trace "ovs-vsctl.at:183"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:183"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:183: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:183"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:183"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:184: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:184"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:184"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:184: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:184"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:184"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:184: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:184"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:184"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:184: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:184"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:184"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:184: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:184"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:184"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:184: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:184"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:184"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:184: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:184"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:184"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:184: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:184"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:184"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:184: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:184"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:184"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:185: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:185"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:185"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:185: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:185"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:185"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:185: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:185"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:185"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:185: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:185"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:185"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:185: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:185"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:185"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:185: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:185"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:185"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:186: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:186"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:186"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:186: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:186"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:186"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1271
#AT_START_1272
at_fn_group_banner 1272 'ovs-vsctl.at:189' \
  "add-br a, add-br a" "                             " 79
at_xfail=no
(
  $as_echo "1272. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:191: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:191"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:191"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:191: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:191"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:191"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:191: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:191"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:191"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:192: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:192"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:192"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:192: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:192"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:192"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:192: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:192"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:192"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:193: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:193"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: cannot create a bridge named a because a bridge named a already exists
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:193"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:193: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:193"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:193"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:193: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:193"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:193"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:196: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:196"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:196"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:196: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:196"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:196"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1272
#AT_START_1273
at_fn_group_banner 1273 'ovs-vsctl.at:199' \
  "add-br a, add-br b" "                             " 79
at_xfail=no
(
  $as_echo "1273. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:201: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:201"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:201"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:201: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:201"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:201"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:201: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:201"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:201"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:202: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:202"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:202"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:202: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:202"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:202"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:202: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:202"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:202"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:204: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br a b 9
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:204"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br a b 9

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: \"--may-exist add-br a b 9\" but a is not a VLAN bridge
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:204"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:204: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:204"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:204"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:204: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:204"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:204"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:208"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
b
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:208"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a\\nb
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:208"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:208"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:208"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:208"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:208"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:208"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a"
at_fn_check_prepare_trace "ovs-vsctl.at:208"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:208"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:208"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:208"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent b -- br-to-vlan b"
at_fn_check_prepare_trace "ovs-vsctl.at:208"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent b -- br-to-vlan b
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:208: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:208"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:208"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:209: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:209"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:209"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:209: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:209"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:209"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:209: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:209"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:209"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:209: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:209"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:209"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:209: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:209"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:209"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:209: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:209"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:209"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:209: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:209"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:209"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:209: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:209"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:209"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:209: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:209"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:209"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:210: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:210"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:210"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:210: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:210"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:210"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:210: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:210"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:210"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:210: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:210"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:210"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:210: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:210"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:210"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:210: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:210"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:210"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:211: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:211"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:211"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:211: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:211"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:211"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:211: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:211"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:211"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:211: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:211"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:211"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:211: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:211"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:211"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:211: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:211"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:211"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:211: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:211"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named b
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:211"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:211: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:211"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:211"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:211: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:211"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:211"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:212: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:212"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:212"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:212: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:212"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:212"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:212: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:212"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:212"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:212: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:212"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named b
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:212"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:212: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:212"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:212"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:212: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:212"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:212"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:213: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:213"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:213"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:213: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:213"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:213"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1273
#AT_START_1274
at_fn_group_banner 1274 'ovs-vsctl.at:216' \
  "add-br a, add-br b, del-br a" "                   " 79
at_xfail=no
(
  $as_echo "1274. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:218: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:218"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:218"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:218: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:218"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:218"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:218: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:218"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:218"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:219: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br b
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket del-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:219"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br b
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket del-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:219"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:219: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:219"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:219"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:219: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:219"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:219"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:221"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:221"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:221"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:221"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:221"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:221"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:221"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:221"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:221"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:221"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:221"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:221"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:221"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:221"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:221"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:221"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:221"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:221"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:221"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:221"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:221"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:221"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent b -- br-to-vlan b"
at_fn_check_prepare_trace "ovs-vsctl.at:221"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent b -- br-to-vlan b
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:221"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:221: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:221"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:221"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:222: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:222"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:222"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:222: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:222"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:222"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:222: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:222"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:222"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:222: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:222"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:222"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:222: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:222"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:222"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:222: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:222"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:222"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:222: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:222"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named b
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:222"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:222: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:222"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:222"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:222: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:222"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:222"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:223: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:223"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:223"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:223: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:223"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:223"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:223: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:223"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:223"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:223: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:223"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named b
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:223"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:223: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:223"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:223"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:223: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:223"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:223"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:224: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:224"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:224"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:224: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:224"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:224"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1274
#AT_START_1275
at_fn_group_banner 1275 'ovs-vsctl.at:227' \
  "add-br a, del-br a, add-br a" "                   " 79
at_xfail=no
(
  $as_echo "1275. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:229: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:229"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:229"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:229: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:229"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:229"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:229: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:229"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:229"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:230: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- add-br a -- del-br a -- add-br a -- set Interface a other_config:key=value -- get Interface a other_config:key"
at_fn_check_prepare_trace "ovs-vsctl.at:230"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- add-br a -- del-br a -- add-br a -- set Interface a other_config:key=value -- get Interface a other_config:key
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "



value
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:230"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:230: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:230"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:230"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:230: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:230"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:230"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:241"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:241"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:241"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:241"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:241"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:241"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:241"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:241"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:241"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:241"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:241"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:241"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:241"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:241"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:241"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:241"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:241"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:241"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:241"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:241"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:241"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:241"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a"
at_fn_check_prepare_trace "ovs-vsctl.at:241"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:241"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:241: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:241"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:241"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:242: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:242"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:242"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:242: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:242"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:242"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:242: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:242"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:242"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:242: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:242"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:242"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:242: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:242"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:242"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:242: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:242"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:242"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:242: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:242"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:242"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:242: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:242"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:242"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:242: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:242"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:242"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:243: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:243"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:243"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:243: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:243"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:243"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:243: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:243"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:243"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:243: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:243"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:243"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:243: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:243"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:243"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:243: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:243"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:243"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:244: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:244"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:244"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:244: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:244"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:244"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1275
#AT_START_1276
at_fn_group_banner 1276 'ovs-vsctl.at:247' \
  "add-br a, add-port a a1, add-port a a2" "         " 79
at_xfail=no
(
  $as_echo "1276. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:249: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:249"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:249"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:249: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:249"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:249"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:249: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:249"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:249"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:250: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --if-exists del-br b
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port a a1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port a a2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:250"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --if-exists del-br b
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port a a1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port a a2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:250"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:250: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:250"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:250"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:250: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:250"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:250"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:255"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:255"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:255"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:255"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:255"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:255"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:255"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:255"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:255"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:255"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:255"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:255"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:255"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:255"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:255"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:255"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:255"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:255"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:255"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:255"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:255"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:255"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a"
at_fn_check_prepare_trace "ovs-vsctl.at:255"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:255"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:255: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:255"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:255"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:256: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:256"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a1
a2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:256"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:256: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:256"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:256"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:256: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:256"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:256"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:256: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:256"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a1\\na2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:256"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:256: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:256"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:256"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:256: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:256"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:256"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:256: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:256"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:256"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:256: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:256"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:256"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:256: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:256"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:256"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:256: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:256"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:256"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:256: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:256"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:256"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:256: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:256"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:256"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:256: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:256"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:256"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:256: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:256"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:256"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:256: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:256"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:256"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:257: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:257"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a1
a2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:257"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:257: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:257"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:257"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:257: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:257"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:257"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:257: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:257"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:257"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:257: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:257"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:257"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:257: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:257"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:257"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:257: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:257"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:257"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:257: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:257"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:257"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:257: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:257"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:257"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:257: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:257"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:257"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:257: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:257"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:257"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:257: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:257"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:257"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:258: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:258"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:258"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:258: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:258"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:258"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1276
#AT_START_1277
at_fn_group_banner 1277 'ovs-vsctl.at:261' \
  "add-br a, add-port a a1, add-port a a1" "         " 79
at_xfail=no
(
  $as_echo "1277. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:263: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:263"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:263"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:263: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:263"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:263"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:263: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:263"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:263"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:264: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port a a1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:264"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port a a1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:264"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:264: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:264"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:264"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:264: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:264"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:264"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:267: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port a a1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:267"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port a a1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: cannot create a port named a1 because a port named a1 already exists on bridge a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:267"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:267: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:267"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:267"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:267: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:267"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:267"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:270: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:270"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:270"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:270: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:270"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:270"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1277
#AT_START_1278
at_fn_group_banner 1278 'ovs-vsctl.at:273' \
  "add-br a b, add-port a a1, add-port b b1, del-br a" "" 79
at_xfail=no
(
  $as_echo "1278. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:275: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:275"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:275"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:275: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:275"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:275"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:275: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:275"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:275"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:276: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- add-br a -- add-br b -- add-port a a1 -- add-port b b1 -- --if-exists del-port b b2 -- del-br a"
at_fn_check_prepare_trace "ovs-vsctl.at:276"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- add-br a -- add-br b -- add-port a a1 -- add-port b b1 -- --if-exists del-port b b2 -- del-br a
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "





" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:276"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:276: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:276"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:276"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:276: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:276"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:276"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:289"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:289"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:289"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:289"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:289"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:289"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:289"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:289"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:289"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:289"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:289"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:289"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:289"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:289"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:289"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:289"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:289"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:289"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:289"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:289"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:289"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:289"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent b -- br-to-vlan b"
at_fn_check_prepare_trace "ovs-vsctl.at:289"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent b -- br-to-vlan b
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:289"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:289: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:289"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:289"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:290: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:290"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:290"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:290: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:290"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:290"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:290: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:290"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:290"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:290: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:290"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:290"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:290: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:290"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:290"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:290: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:290"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:290"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:290: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:290"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named b
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:290"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:290: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:290"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:290"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:290: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:290"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:290"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:290: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br b1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:290"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br b1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:290"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:290: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:290"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:290"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:290: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:290"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:290"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:291: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:291"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:291"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:291: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:291"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:291"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:291: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:291"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:291"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:291: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:291"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named b
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:291"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:291: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:291"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:291"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:291: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:291"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:291"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:291: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br b1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:291"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br b1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:291"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:291: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:291"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:291"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:291: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:291"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:291"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:292: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:292"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:292"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:292: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:292"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:292"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1278
#AT_START_1279
at_fn_group_banner 1279 'ovs-vsctl.at:295' \
  "add-br a, add-bond a bond0 a1 a2 a3" "            " 79
at_xfail=no
(
  $as_echo "1279. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:297: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:297"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:297"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:297: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:297"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:297"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:297: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:297"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:297"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:298: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-bond a bond0 a1 a2 a3
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:298"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-bond a bond0 a1 a2 a3

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:298"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:298: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:298"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:298"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:298: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:298"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:298"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:301: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-bond a bond0 a3 a1 a2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:301"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-bond a bond0 a3 a1 a2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:301"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:301: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:301"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:301"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:301: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:301"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:301"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:303: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-bond a bond0 a2 a1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:303"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-bond a bond0 a2 a1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: \"--may-exist add-bond a bond0 a2 a1\" but bond0 actually has interface(s) a1, a2, a3
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:303"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:303: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:303"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:303"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:303: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:303"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:303"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:307"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:307"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:307"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:307"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:307"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:307"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:307"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:307"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:307"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:307"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:307"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:307"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:307"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:307"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:307"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:307"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:307"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:307"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:307"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:307"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:307"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:307"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a"
at_fn_check_prepare_trace "ovs-vsctl.at:307"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:307"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:307: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:307"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:307"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:308: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:308"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "bond0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:308"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:308: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:308"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:308"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:308: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:308"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:308"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:308: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:308"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "bond0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:308"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:308: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:308"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:308"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:308: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:308"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:308"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:308: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:308"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:308"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:308: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:308"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:308"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:308: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:308"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:308"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:308: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br bond0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:308"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br bond0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:308"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:308: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:308"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:308"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:308: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:308"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:308"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:309: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:309"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a1
a2
a3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:309"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:309: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:309"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:309"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:309: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:309"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:309"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:309: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:309"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:309"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:309: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:309"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:309"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:309: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:309"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:309"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:309: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:309"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:309"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:309: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:309"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:309"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:309: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:309"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:309"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:309: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:309"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:309"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:309: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:309"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:309"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:309: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:309"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:309"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:309: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a3
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:309"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a3

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:309"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:309: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:309"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:309"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:309: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:309"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:309"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:310: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:310"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:310"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:310: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:310"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:310"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1279
#AT_START_1280
at_fn_group_banner 1280 'ovs-vsctl.at:313' \
  "add-br a b, add-port a a1, add-port b b1, del-port a a1" "" 79
at_xfail=no
(
  $as_echo "1280. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:315: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:315"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:315"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:315: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:315"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:315"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:315: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:315"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:315"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:316: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br b
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port a a1 tag=9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get port a1 tag
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port b b1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket del-port a a1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:316"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br b
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port a a1 tag=9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get port a1 tag
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port b b1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket del-port a a1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:316"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:316: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:316"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:316"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:316: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:316"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:316"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:324: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port b b1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:324"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port b b1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:324"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:324: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:324"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:324"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:324: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:324"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:324"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:326: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket del-port a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:326"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket del-port a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: cannot delete port a because it is the local port for bridge a (deleting this port requires deleting the entire bridge)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:326"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:326: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:326"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:326"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:326: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:326"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:326"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:330: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --if-exists del-port a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:330"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --if-exists del-port a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:330"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:330: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:330"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:330"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:330: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:330"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:330"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:332: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port a b1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:332"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port a b1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: \"--may-exist add-port a b1\" but b1 is actually attached to bridge b
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:332"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:332: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:332"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:332"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:332: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:332"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:332"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:336"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
b
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:336"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a\\nb
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:336"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:336"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:336"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:336"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:336"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:336"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a"
at_fn_check_prepare_trace "ovs-vsctl.at:336"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:336"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:336"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:336"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent b -- br-to-vlan b"
at_fn_check_prepare_trace "ovs-vsctl.at:336"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent b -- br-to-vlan b
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:336: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:336"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:336"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:337: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:337"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:337"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:337: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:337"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:337"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:337: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:337"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:337"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:337: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:337"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:337"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:337: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:337"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:337"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:337: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:337"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:337"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:337: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:337"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:337"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:337: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:337"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:337"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:337: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:337"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:337"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:338: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:338"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:338"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:338: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:338"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:338"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:338: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:338"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:338"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:338: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:338"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:338"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:338: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:338"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:338"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:338: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:338"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:338"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:339: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:339"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:339"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:339: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:339"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:339"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:339: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:339"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:339"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:339: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:339"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:339"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:339: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:339"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:339"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:339: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:339"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:339"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:339: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:339"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named b
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:339"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:339: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:339"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:339"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:339: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:339"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:339"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:339: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br b1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:339"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br b1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:339"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:339: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:339"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:339"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:339: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:339"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:339"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:340: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:340"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:340"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:340: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:340"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:340"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:340: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:340"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:340"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:340: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:340"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named b
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:340"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:340: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:340"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:340"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:340: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:340"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:340"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:340: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br b1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:340"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br b1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "b
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:340"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:340: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:340"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:340"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:340: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:340"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:340"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:341: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:341"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:341"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:341: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:341"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:341"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1280
#AT_START_1281
at_fn_group_banner 1281 'ovs-vsctl.at:344' \
  "add-br a, add-bond a bond0 a1 a2 a3, del-port bond0" "" 79
at_xfail=no
(
  $as_echo "1281. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:346: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:346"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:346"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:346: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:346"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:346"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:346: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:346"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:346"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:347: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- add-br a -- add-bond a bond0 a1 a2 a3 tag=9 -- get Port bond0 tag -- del-port bond0"
at_fn_check_prepare_trace "ovs-vsctl.at:347"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- add-br a -- add-bond a bond0 a1 a2 a3 tag=9 -- get Port bond0 tag -- del-port bond0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "

9

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:347"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:347: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:347"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:347"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:347: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:347"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:347"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:356"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:356"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:356"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:356"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:356"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:356"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:356"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:356"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:356"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:356"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:356"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:356"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:356"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:356"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:356"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:356"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:356"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:356"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:356"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:356"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:356"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:356"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a"
at_fn_check_prepare_trace "ovs-vsctl.at:356"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:356"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:356: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:356"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:356"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:357: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:357"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:357"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:357: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:357"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:357"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:357: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:357"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:357"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:357: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:357"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:357"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:357: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:357"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:357"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:357: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:357"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:357"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:357: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:357"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:357"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:357: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:357"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:357"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:357: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:357"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:357"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:358: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:358"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:358"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:358: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:358"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:358"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1281
#AT_START_1282
at_fn_group_banner 1282 'ovs-vsctl.at:361' \
  "external IDs" "                                   " 79
at_xfail=no
(
  $as_echo "1282. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:363: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:363"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:363"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:363: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:363"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:363"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:363: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:363"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:363"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:364: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- add-br a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- add-port a a1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- add-bond a bond0 a2 a3
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-set-external-id a key0 value0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- set port a1 external-ids:key1=value1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- set interface a2 external-ids:key2=value2
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- set interface a2 external-ids:key3=value3
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- set interface a3 external-ids:key4=value4
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-get-external-id a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-get-external-id a key0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-get-external-id a key1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-set-external-id a key0 othervalue
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-get-external-id a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-set-external-id a key0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-get-external-id a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- get port a1 external-ids
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- get interface a2 external-ids
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- get interface a3 external-ids
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:364"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- add-br a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- add-port a a1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- add-bond a bond0 a2 a3
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-set-external-id a key0 value0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- set port a1 external-ids:key1=value1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- set interface a2 external-ids:key2=value2
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- set interface a2 external-ids:key3=value3
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- set interface a3 external-ids:key4=value4
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-get-external-id a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-get-external-id a key0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-get-external-id a key1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-set-external-id a key0 othervalue
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-get-external-id a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-set-external-id a key0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-get-external-id a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- get port a1 external-ids
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- get interface a2 external-ids
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- get interface a3 external-ids

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "







key0=value0
value0


key0=othervalue


{\"key1\"=\"value1\"}
{\"key2\"=\"value2\", \"key3\"=\"value3\"}
{\"key4\"=\"value4\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:364"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:364: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:364"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:364"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:364: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:364"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:364"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:401: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-get-external-id a -- get port a1 external-ids -- get interface a2 external-ids -- get interface a3 external-ids"
at_fn_check_prepare_trace "ovs-vsctl.at:401"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-get-external-id a -- get port a1 external-ids -- get interface a2 external-ids -- get interface a3 external-ids
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
{\"key1\"=\"value1\"}
{\"key2\"=\"value2\", \"key3\"=\"value3\"}
{\"key4\"=\"value4\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:401"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:401: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:401"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:401"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:401: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:401"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:401"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:411"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:411"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:411"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:411"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:411"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:411"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:411"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:411"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:411"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:411"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:411"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:411"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:411"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:411"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:411"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:411"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:411"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:411"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:411"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:411"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:411"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:411"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a"
at_fn_check_prepare_trace "ovs-vsctl.at:411"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:411"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:411: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:411"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:411"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:412: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:412"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a1
bond0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:412"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:412: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:412"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:412"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:412: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:412"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:412"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:412: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:412"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a1\\nbond0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:412"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:412: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:412"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:412"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:412: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:412"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:412"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:412: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:412"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:412"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:412: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:412"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:412"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:412: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:412"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:412"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:412: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:412"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:412"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:412: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:412"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:412"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:412: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:412"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:412"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:412: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br bond0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:412"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br bond0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:412"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:412: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:412"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:412"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:412: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:412"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:412"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:413: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:413"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a1
a2
a3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:413"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:413: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:413"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:413"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:413: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:413"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:413"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:413: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:413"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:413"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:413: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:413"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:413"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:413: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:413"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:413"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:413: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:413"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:413"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:413: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:413"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:413"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:413: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:413"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:413"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:413: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:413"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:413"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:413: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:413"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:413"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:413: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:413"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:413"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:413: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a3
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:413"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a3

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:413"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:413: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:413"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:413"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:413: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:413"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:413"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:414: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:414"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:414"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:414: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:414"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:414"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1282
#AT_START_1283
at_fn_group_banner 1283 'ovs-vsctl.at:417' \
  "controllers" "                                    " 79
at_xfail=no
(
  $as_echo "1283. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:419: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:419"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:419"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:419: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:419"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:419"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:419: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:419"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:419"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:420: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- add-br br0 -- get-controller br0 -- set-controller br0 tcp:4.5.6.7 -- get-controller br0 -- del-controller br0 -- get-controller br0 -- set-controller br0 tcp:8.9.10.11 tcp:5.4.3.2 -- get-controller br0"
at_fn_check_prepare_trace "ovs-vsctl.at:420"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- add-br br0 -- get-controller br0 -- set-controller br0 tcp:4.5.6.7 -- get-controller br0 -- del-controller br0 -- get-controller br0 -- set-controller br0 tcp:8.9.10.11 tcp:5.4.3.2 -- get-controller br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "


tcp:4.5.6.7



tcp:5.4.3.2\\ntcp:8.9.10.11
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:420"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:420: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:420"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:420"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:420: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:420"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:420"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:440: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:440"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:440"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:440: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:440"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:440"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1283
#AT_START_1284
at_fn_group_banner 1284 'ovs-vsctl.at:544' \
  "simple fake bridge (VLAN 9)" "                    " 80
at_xfail=no
(
  $as_echo "1284. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:544"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.9
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.9

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: \"--may-exist add-br xapi1\" but xapi1 is a VLAN bridge for VLAN 9
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xxx 9
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xxx 9

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: \"--may-exist add-br xapi1 xxx 9\" but xapi1 has the wrong parent xenbr0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 10
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 10

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: \"--may-exist add-br xapi1 xenbr0 10\" but xapi1 is a VLAN bridge for the wrong VLAN 9
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1\\nxenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xapi1 -- br-to-vlan xapi1"
at_fn_check_prepare_trace "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xapi1 -- br-to-vlan xapi1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xenbr0 -- br-to-vlan xenbr0"
at_fn_check_prepare_trace "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xenbr0 -- br-to-vlan xenbr0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named xenbr0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named xenbr0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0.9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0.9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named xapi1
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0.9
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0.9

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0.9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named xapi1
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0.9
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0.9

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1284
#AT_START_1285
at_fn_group_banner 1285 'ovs-vsctl.at:544' \
  "list bridges -- real and fake (VLAN 9)" "         " 80
at_xfail=no
(
  $as_echo "1285. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:544"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.9
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.9

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1\\nxenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- -- --real list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- -- --real list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- -- --fake list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- -- --fake list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1285
#AT_START_1286
at_fn_group_banner 1286 'ovs-vsctl.at:544' \
  "simple fake bridge + del-br fake bridge (VLAN 9)" "" 80
at_xfail=no
(
  $as_echo "1286. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:544"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.9
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.9

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket del-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket del-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xenbr0 -- br-to-vlan xenbr0"
at_fn_check_prepare_trace "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xenbr0 -- br-to-vlan xenbr0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named xenbr0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named xenbr0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1286
#AT_START_1287
at_fn_group_banner 1287 'ovs-vsctl.at:544' \
  "simple fake bridge + del-br real bridge (VLAN 9)" "" 80
at_xfail=no
(
  $as_echo "1287. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:544"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.9
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.9

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket del-br xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket del-br xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }



   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }



cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1287
#AT_START_1288
at_fn_group_banner 1288 'ovs-vsctl.at:544' \
  "simple fake bridge + external IDs (VLAN 9)" "     " 80
at_xfail=no
(
  $as_echo "1288. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:544"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.9
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 9
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.9

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-set-external-id xenbr0 key0 value0 -- br-set-external-id xapi1 key1 value1 -- br-get-external-id xenbr0 -- br-get-external-id xenbr0 key0 -- br-get-external-id xapi1 -- br-get-external-id xapi1 key1"
at_fn_check_prepare_trace "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-set-external-id xenbr0 key0 value0 -- br-set-external-id xapi1 key1 value1 -- br-get-external-id xenbr0 -- br-get-external-id xenbr0 key0 -- br-get-external-id xapi1 -- br-get-external-id xapi1 key1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "

key0=value0
value0
key1=value1
value1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1\\nxenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xapi1 -- br-to-vlan xapi1"
at_fn_check_prepare_trace "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xapi1 -- br-to-vlan xapi1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xenbr0 -- br-to-vlan xenbr0"
at_fn_check_prepare_trace "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xenbr0 -- br-to-vlan xenbr0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named xenbr0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named xenbr0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0.9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0.9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named xapi1
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0.9
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0.9

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0.9
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named xapi1
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0.9
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:544"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0.9

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:544: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:544"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:544"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1288
#AT_START_1289
at_fn_group_banner 1289 'ovs-vsctl.at:545' \
  "simple fake bridge (VLAN 0)" "                    " 81
at_xfail=no
(
  $as_echo "1289. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:545"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: \"--may-exist add-br xapi1\" but xapi1 is a VLAN bridge for VLAN 0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xxx 0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xxx 0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: \"--may-exist add-br xapi1 xxx 0\" but xapi1 has the wrong parent xenbr0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 10
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 10

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: \"--may-exist add-br xapi1 xenbr0 10\" but xapi1 is a VLAN bridge for the wrong VLAN 0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1\\nxenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xapi1 -- br-to-vlan xapi1"
at_fn_check_prepare_trace "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xapi1 -- br-to-vlan xapi1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xenbr0 -- br-to-vlan xenbr0"
at_fn_check_prepare_trace "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xenbr0 -- br-to-vlan xenbr0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named xenbr0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named xenbr0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0.0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0.0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named xapi1
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0.0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0.0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0.0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named xapi1
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0.0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0.0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1289
#AT_START_1290
at_fn_group_banner 1290 'ovs-vsctl.at:545' \
  "list bridges -- real and fake (VLAN 0)" "         " 81
at_xfail=no
(
  $as_echo "1290. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:545"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1\\nxenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- -- --real list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- -- --real list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- -- --fake list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- -- --fake list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1290
#AT_START_1291
at_fn_group_banner 1291 'ovs-vsctl.at:545' \
  "simple fake bridge + del-br fake bridge (VLAN 0)" "" 81
at_xfail=no
(
  $as_echo "1291. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:545"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket del-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket del-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xenbr0 -- br-to-vlan xenbr0"
at_fn_check_prepare_trace "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xenbr0 -- br-to-vlan xenbr0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named xenbr0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named xenbr0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1291
#AT_START_1292
at_fn_group_banner 1292 'ovs-vsctl.at:545' \
  "simple fake bridge + del-br real bridge (VLAN 0)" "" 81
at_xfail=no
(
  $as_echo "1292. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:545"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket del-br xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket del-br xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }



   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }



cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1292
#AT_START_1293
at_fn_group_banner 1293 'ovs-vsctl.at:545' \
  "simple fake bridge + external IDs (VLAN 0)" "     " 81
at_xfail=no
(
  $as_echo "1293. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:545"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xenbr0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-port xenbr0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --may-exist add-br xapi1 xenbr0 0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi1 eth0.0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-set-external-id xenbr0 key0 value0 -- br-set-external-id xapi1 key1 value1 -- br-get-external-id xenbr0 -- br-get-external-id xenbr0 key0 -- br-get-external-id xapi1 -- br-get-external-id xapi1 key1"
at_fn_check_prepare_trace "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-set-external-id xenbr0 key0 value0 -- br-set-external-id xapi1 key1 value1 -- br-get-external-id xenbr0 -- br-get-external-id xenbr0 key0 -- br-get-external-id xapi1 -- br-get-external-id xapi1 key1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "

key0=value0
value0
key1=value1
value1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1\\nxenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xapi1 -- br-to-vlan xapi1"
at_fn_check_prepare_trace "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xapi1 -- br-to-vlan xapi1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xenbr0 -- br-to-vlan xenbr0"
at_fn_check_prepare_trace "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xenbr0 -- br-to-vlan xenbr0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named xenbr0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xenbr0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xenbr0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named xenbr0
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xenbr0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0.0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0.0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named xapi1
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0.0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br eth0.0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0.0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named xapi1
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0.0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:545"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0.0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:545: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:545"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:545"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1293
#AT_START_1294
at_fn_group_banner 1294 'ovs-vsctl.at:557' \
  "fake bridge on bond" "                            " 81
at_xfail=no
(
  $as_echo "1294. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:559: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:559"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:559"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:559: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:559"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:559"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:559: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:559"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:559"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:560: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-bond xapi1 bond0 eth0 eth1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi2 xapi1 11
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi2 bond0.11
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:560"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-bond xapi1 bond0 eth0 eth1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi2 xapi1 11
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi2 bond0.11

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:560"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:560: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:560"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:560"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:560: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:560"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:560"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:561"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
xapi2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:561"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1\\nxapi2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:561"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xapi2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:561"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xapi2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:561"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:561"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:561"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:561"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xapi1 -- br-to-vlan xapi1"
at_fn_check_prepare_trace "ovs-vsctl.at:561"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xapi1 -- br-to-vlan xapi1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xapi2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:561"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xapi2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xapi2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:561"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xapi2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "11
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xapi2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:561"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xapi2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "11
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xapi2 -- br-to-vlan xapi2"
at_fn_check_prepare_trace "ovs-vsctl.at:561"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xapi2 -- br-to-vlan xapi2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
11
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:561: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:561"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:561"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:562: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:562"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "bond0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:562"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:562: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:562"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:562"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:562: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:562"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:562"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:562: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:562"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "bond0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:562"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:562: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:562"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:562"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:562: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:562"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:562"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:562: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:562"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named xapi1
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:562"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:562: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:562"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:562"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:562: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:562"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:562"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:562: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br bond0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:562"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br bond0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:562"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:562: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:562"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:562"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:562: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:562"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:562"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:563: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:563"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
eth1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:563"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:563: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:563"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:563"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:563: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:563"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:563"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:563: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:563"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named xapi1
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:563"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:563: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:563"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:563"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:563: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:563"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:563"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:563: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:563"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:563"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:563: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:563"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:563"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:563: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:563"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:563"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:563: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:563"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:563"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:563: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:563"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:563"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:563: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:563"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:563"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:564: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xapi2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:564"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xapi2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "bond0.11
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:564"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:564: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:564"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:564"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:564: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:564"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:564"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:564: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xapi2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:564"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xapi2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "bond0.11
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:564"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:564: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:564"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:564"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:564: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:564"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:564"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:564: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xapi2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:564"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xapi2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named xapi2
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:564"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:564: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:564"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:564"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:564: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:564"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:564"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:564: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br bond0.11
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:564"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br bond0.11

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:564"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:564: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:564"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:564"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:564: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:564"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:564"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:565: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xapi2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:565"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xapi2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "bond0.11
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:565"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:565: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:565"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:565"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:565: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:565"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:565"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:565: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xapi2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:565"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xapi2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named xapi2
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:565"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:565: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:565"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:565"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:565: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:565"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:565"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:565: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br bond0.11
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:565"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br bond0.11

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:565"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:565: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:565"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:565"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:565: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:565"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:565"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:566: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:566"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:566"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:566: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:566"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:566"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1294
#AT_START_1295
at_fn_group_banner 1295 'ovs-vsctl.at:569' \
  "fake bridge on bond + del-br fake bridge" "       " 81
at_xfail=no
(
  $as_echo "1295. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:571: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:571"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:571"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:571: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:571"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:571"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:571: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:571"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:571"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:572: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-bond xapi1 bond0 eth0 eth1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi2 xapi1 11
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi2 bond0.11
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:572"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-bond xapi1 bond0 eth0 eth1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi2 xapi1 11
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi2 bond0.11

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:572"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:572: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:572"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:572"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:572: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:572"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:572"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:573: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- del-br xapi2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:573"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- del-br xapi2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:573"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:573: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:573"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:573"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:573: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:573"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:573"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:575"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:575"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:575"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:575"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:575"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:575"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:575"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:575"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:575"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:575"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:575"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:575"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:575"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:575"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:575"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:575"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:575"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:575"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:575"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:575"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:575"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:575"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xapi1 -- br-to-vlan xapi1"
at_fn_check_prepare_trace "ovs-vsctl.at:575"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent xapi1 -- br-to-vlan xapi1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:575"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:575: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:575"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:575"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:576: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:576"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "bond0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:576"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:576: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:576"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:576"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:576: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:576"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:576"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:576: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:576"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "bond0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:576"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:576: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:576"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:576"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:576: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:576"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:576"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:576: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:576"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named xapi1
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:576"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:576: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:576"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:576"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:576: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:576"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:576"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:576: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br bond0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:576"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br bond0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:576"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:576: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:576"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:576"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:576: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:576"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:576"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:577: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:577"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "eth0
eth1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:577"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:577: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:577"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:577"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:577: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:577"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:577"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:577: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:577"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named xapi1
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:577"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:577: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:577"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:577"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:577: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:577"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:577"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:577: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:577"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:577"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:577: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:577"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:577"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:577: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:577"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:577"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:577: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:577"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br eth1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:577"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:577: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:577"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:577"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:577: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:577"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:577"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:578: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:578"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:578"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:578: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:578"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:578"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1295
#AT_START_1296
at_fn_group_banner 1296 'ovs-vsctl.at:581' \
  "fake bridge on bond + del-br real bridge" "       " 81
at_xfail=no
(
  $as_echo "1296. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:583: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:583"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:583"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:583: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:583"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:583"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:583: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:583"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:583"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:584: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-bond xapi1 bond0 eth0 eth1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi2 xapi1 11
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi2 bond0.11
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:584"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-bond xapi1 bond0 eth0 eth1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br xapi2 xapi1 11
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port xapi2 bond0.11

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:584"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:584: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:584"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:584"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:584: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:584"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:584"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:585: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket del-br xapi1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:585"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket del-br xapi1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:585"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:586: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:586"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:586"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:586: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:586"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:586"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:586: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:586"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:586"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:586: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:586"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:586"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:586: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:586"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:586"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:586: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:586"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:586"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }



   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:586: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:586"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:586"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:586: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:586"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:586"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:586: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:586"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:586"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }



cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:587: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:587"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:587"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:587: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:587"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:587"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1296
#AT_START_1297
at_fn_group_banner 1297 'ovs-vsctl.at:593' \
  "managers" "                                       " 82
at_xfail=no
(
  $as_echo "1297. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:595: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:595"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:595"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:595: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:595"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:595"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:595: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:595"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:595"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:596: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- del-manager -- get-manager -- set-manager tcp:4.5.6.7 -- get-manager -- set-manager tcp:8.9.10.11 tcp:5.4.3.2 -- get-manager -- del-manager -- get-manager"
at_fn_check_prepare_trace "ovs-vsctl.at:596"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- del-manager -- get-manager -- set-manager tcp:4.5.6.7 -- get-manager -- set-manager tcp:8.9.10.11 tcp:5.4.3.2 -- get-manager -- del-manager -- get-manager
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "


tcp:4.5.6.7

tcp:5.4.3.2\\ntcp:8.9.10.11


" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:596"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:596: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:596"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:596"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:596: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:596"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:596"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:613: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:613"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:613"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:613: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:613"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:613"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1297
#AT_START_1298
at_fn_group_banner 1298 'ovs-vsctl.at:619' \
  "database commands -- positive checks" "           " 83
at_xfail=no
(
  $as_echo "1298. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:621: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:621"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:621"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:621: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:621"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:621"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:621: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:621"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:621"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:622: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- --id=@br0 create b name=br0 -- set o . bridges=@br0"
at_fn_check_prepare_trace "ovs-vsctl.at:622"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- --id=@br0 create b name=br0 -- set o . bridges=@br0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:622"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:622: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:622"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:622"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:622: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:622"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:622"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp stdout out1
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:627: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list b
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b br0 _uuid
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:627"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list b
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b br0 _uuid

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:627"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:627: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:627"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:627"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:627: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:627"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:627"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp stdout out2
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:630: \${PERL} \$srcdir/uuidfilt.pl out1 out2"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovs-vsctl.at:630"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl out1 out2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "<0>

_uuid               : <0>
controller          : []
datapath_id         : []
datapath_type       : \"\"
external_ids        : {}
fail_mode           : []
flood_vlans         : []
flow_tables         : {}
ipfix               : []
mirrors             : []
name                : \"br0\"
netflow             : []
other_config        : {}
ports               : []
protocols           : []
sflow               : []
status              : {}
stp_enable          : false
<0>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:630"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:653: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --columns=fail_mode,name,datapath_type list b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:653"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --columns=fail_mode,name,datapath_type list b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "fail_mode           : []
name                : \"br0\"
datapath_type       : \"\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:653"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:660: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --columns=fail_mode,name,datapath_type find b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:660"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --columns=fail_mode,name,datapath_type find b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "fail_mode           : []
name                : \"br0\"
datapath_type       : \"\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:660"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:667:
  ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- --id=@br1 create b name=br1 datapath_type=\"foo\" -- --id=@br2 create b name=br2 external-ids:bar=quux -- add o . bridges @br1 @br2"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:667"
( $at_check_trace;
  ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- --id=@br1 create b name=br1 datapath_type="foo" -- --id=@br2 create b name=br2 external-ids:bar=quux -- add o . bridges @br1 @br2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:667"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:667: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:667"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:667"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:667: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:667"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:667"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:672: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --columns=name find b datapath_type!=foo
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:672"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --columns=name find b datapath_type!=foo

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:672"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:675: sed -n '/./p' stdout | sort"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:675"
( $at_check_trace; sed -n '/./p' stdout | sort
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "name                : \"br0\"
name                : \"br2\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:675"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:679: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set bridge br0 \\
      'other_config:datapath_id=\"0123456789ab\"' \\
      'other_config:hwaddr=\"00:11:22:33:44:55\"' \\
      'external-ids={\"uuids\"=\"9c45f225-a7cf-439d-976d-83db6271fda1\"}' -- \\
     add bridge br0 external_ids '\"roles\"=\"local; remote; cloud\"'
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:679"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set bridge br0 \
      'other_config:datapath_id="0123456789ab"' \
      'other_config:hwaddr="00:11:22:33:44:55"' \
      'external-ids={"uuids"="9c45f225-a7cf-439d-976d-83db6271fda1"}' -- \
     add bridge br0 external_ids '"roles"="local; remote; cloud"'

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:679"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:679: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:679"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:679"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:679: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:679"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:679"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:687: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- get bridge br0 other_config external-ids
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:687"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- get bridge br0 other_config external-ids

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{datapath_id=\"0123456789ab\", hwaddr=\"00:11:22:33:44:55\"}\\n{roles=\"local; remote; cloud\", uuids=\"9c45f225-a7cf-439d-976d-83db6271fda1\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:687"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:687: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:687"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:687"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:687: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:687"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:687"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:690: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get bridge br0 other_config:hwaddr -- --if-exists get bridge br0 other-config:nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:690"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get bridge br0 other_config:hwaddr -- --if-exists get bridge br0 other-config:nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "\"00:11:22:33:44:55\"

" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:690"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:690: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:690"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:690"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:690: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:690"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:690"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:694: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket remove br br0 other_config hwaddr 'datapath_id=\"\"' -- get br br0 other_config
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:694"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket remove br br0 other_config hwaddr 'datapath_id=""' -- get br br0 other_config

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{datapath_id=\"0123456789ab\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:694"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:694: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:694"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:694"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:694: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:694"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:694"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:697: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket remove br br0 other_config 'datapath_id=\"0123456789ab\"' -- get br br0 other_config
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:697"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket remove br br0 other_config 'datapath_id="0123456789ab"' -- get br br0 other_config

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:697"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:697: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:697"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:697"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:697: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:697"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:697"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:700: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket clear br br0 external-ids -- get br br0 external_ids
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:700"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket clear br br0 external-ids -- get br br0 external_ids

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:700"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:700: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:700"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:700"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:700: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:700"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:700"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:703: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- destroy b br0 -- destroy b br1 -- destroy b br2 -- clear o . bridges"
at_fn_check_prepare_trace "ovs-vsctl.at:703"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- destroy b br0 -- destroy b br1 -- destroy b br2 -- clear o . bridges
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:703"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:703: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:703"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:703"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:703: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:703"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:703"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:708: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:708"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:708"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:708: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:708"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:708"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:708: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:708"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:708"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:710: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --if-exists get b x datapath_id
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:710"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --if-exists get b x datapath_id

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:710"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:710: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:710"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:710"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:710: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:710"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:710"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:712: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --if-exists list b x
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:712"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --if-exists list b x

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:712"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:712: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:712"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:712"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:712: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:712"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:712"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:714: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --if-exists set controller x connection_mode=standalone
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:714"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --if-exists set controller x connection_mode=standalone

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:714"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:714: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:714"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:714"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:714: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:714"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:714"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:716: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --if-exists remove netflow x targets '\"1.2.3.4:567\"'
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:716"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --if-exists remove netflow x targets '"1.2.3.4:567"'

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:716"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:716: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:716"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:716"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:716: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:716"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:716"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:719: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --if-exists clear netflow x targets
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:719"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --if-exists clear netflow x targets

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:719"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:719: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:719"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:719"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:719: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:719"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:719"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:722: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:722"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:722"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:722: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:722"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:722"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1298
#AT_START_1299
at_fn_group_banner 1299 'ovs-vsctl.at:725' \
  "database commands -- negative checks" "           " 83
at_xfail=no
(
  $as_echo "1299. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:727: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:727"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:727"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:727: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:727"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:727"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:727: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:727"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:727"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:729: ovs-vsctl --may-exist"
at_fn_check_prepare_trace "ovs-vsctl.at:729"
( $at_check_trace; ovs-vsctl --may-exist
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: missing command name (use --help for help)
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:729"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:729: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:729"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:729"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:729: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:729"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:729"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:732: ovs-vsctl --may-exist --"
at_fn_check_prepare_trace "ovs-vsctl.at:732"
( $at_check_trace; ovs-vsctl --may-exist --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: missing command name (use --help for help)
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:732"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:732: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:732"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:732"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:732: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:732"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:732"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:735: ovs-vsctl -- --may-exist"
at_fn_check_prepare_trace "ovs-vsctl.at:735"
( $at_check_trace; ovs-vsctl -- --may-exist
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: missing command name (use --help for help)
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:735"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:735: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:735"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:735"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:735: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:735"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:735"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:739: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br br0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:739"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br br0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:739"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:739: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:739"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:739"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:739: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:739"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:739"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:741: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br br1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:741"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br br1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:741"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:741: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:741"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:741"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:741: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:741"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:741"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:743: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set-controller br1 tcp:127.0.0.1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:743"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set-controller br1 tcp:127.0.0.1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:743"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:743: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:743"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:743"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:743: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:743"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:743"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:745:
    ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- --id=@n create netflow targets='\"1.2.3.4:567\"' -- set bridge br0 netflow=@n"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:745"
( $at_check_trace;
    ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- --id=@n create netflow targets='"1.2.3.4:567"' -- set bridge br0 netflow=@n
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:745"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:745: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:745"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:745"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:745: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:745"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:745"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp stdout netflow-uuid
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:750: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list netflow \`cat netflow-uuid\`
"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:750"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list netflow `cat netflow-uuid`

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:750"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:750: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:750"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:750"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:750: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:750"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:750"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:752: \${PERL} \$srcdir/uuidfilt.pl netflow-uuid stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovs-vsctl.at:752"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl netflow-uuid stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "<0>

_uuid               : <0>
active_timeout      : 0
add_id_to_interface : false
engine_id           : []
engine_type         : []
external_ids        : {}
targets             : [\"1.2.3.4:567\"]
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:752"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:763: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list interx x
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:763"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list interx x

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: unknown table \"interx\"
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:763"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:763: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:763"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:763"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:763: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:763"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:763"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:766: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list b x
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:766"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list b x

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no row \"x\" in table Bridge
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:766"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:766: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:766"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:766"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:766: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:766"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:766"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:769: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b x datapath_id
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:769"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b x datapath_id

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no row \"x\" in table Bridge
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:769"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:769: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:769"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:769"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:769: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:769"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:769"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:772: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b br0 d
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:772"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b br0 d

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: Bridge contains more than one column whose name matches \"d\"
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:772"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:772: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:772"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:772"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:772: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:772"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:772"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:775: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b br0 x
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:775"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b br0 x

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: Bridge does not contain a column whose name matches \"x\"
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:775"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:775: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:775"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:775"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:775: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:775"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:775"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:778: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b br0 :y=z
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:778"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b br0 :y=z

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: :y=z: missing column name
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:778"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:778: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:778"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:778"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:778: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:778"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:778"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:781: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b br0 datapath_id:y=z
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:781"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b br0 datapath_id:y=z

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: datapath_id:y=z: trailing garbage \"=z\" in argument
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:781"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:781: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:781"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:781"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:781: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:781"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:781"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:784: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set b br0 'datapath_id:y>=z'
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:784"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set b br0 'datapath_id:y>=z'

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: datapath_id:y>=z: argument does not end in \"=\" followed by a value.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:784"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:784: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:784"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:784"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:784: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:784"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:784"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:787: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set controller x connection_mode=standalone
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:787"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set controller x connection_mode=standalone

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no row \"x\" in table Controller
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:787"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:787: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:787"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:787"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:787: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:787"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:787"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:790: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket wait-until b br0 datapath_id:y,z
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:790"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket wait-until b br0 datapath_id:y,z

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: datapath_id:y,z: argument does not end in \"=\", \"!=\", \"<\", \">\", \"<=\", \">=\", \"{=}\", \"{!=}\", \"{<}\", \"{>}\", \"{<=}\", or \"{>=}\" followed by a value.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:790"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:790: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:790"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:790"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:790: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:790"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:790"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:793: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b br0 datapath_id::
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:793"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b br0 datapath_id::

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: datapath_id::: trailing garbage \":\" in argument
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:793"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:793: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:793"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:793"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:793: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:793"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:793"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:796: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b br0 datapath_id:x
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:796"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b br0 datapath_id:x

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: cannot specify key to get for non-map column datapath_id
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:796"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:796: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:796"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:796"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:796: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:796"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:796"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:799: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b br0 external_ids:x
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:799"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket get b br0 external_ids:x

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no key \"x\" in Bridge record \"br0\" column external_ids
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:799"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:799: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:799"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:799"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:799: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:799"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:799"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:802: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set b br0 flood_vlans=-1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:802"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set b br0 flood_vlans=-1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: constraint violation: -1 is not in the valid range 0 to 4095 (inclusive)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:802"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:802: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:802"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:802"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:802: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:802"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:802"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:805: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set b br0 flood_vlans=4096
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:805"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set b br0 flood_vlans=4096

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: constraint violation: 4096 is not in the valid range 0 to 4095 (inclusive)
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:805"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:805: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:805"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:805"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:805: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:805"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:805"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:808: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set c br1 'connection-mode=xyz'
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:808"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set c br1 'connection-mode=xyz'

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: constraint violation: xyz is not one of the allowed values ([in-band, out-of-band])
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:808"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:808: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:808"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:808"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:808: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:808"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:808"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:811: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set c br1 connection-mode:x=y
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:811"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set c br1 connection-mode:x=y

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: cannot specify key to set for non-map column connection_mode
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:811"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:811: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:811"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:811"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:811: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:811"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:811"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:814: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add b br1 datapath_id x y
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:814"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add b br1 datapath_id x y

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: \"add\" operation would put 2 values in column datapath_id of table Bridge but the maximum number is 1
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:814"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:814: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:814"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:814"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:814: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:814"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:814"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:817: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket remove netflow \`cat netflow-uuid\` targets '\"1.2.3.4:567\"'
"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:817"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket remove netflow `cat netflow-uuid` targets '"1.2.3.4:567"'

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: \"remove\" operation would put 0 values in column targets of table NetFlow but the minimum number is 1
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:817"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:817: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:817"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:817"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:817: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:817"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:817"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:820: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket remove netflow x targets '\"1.2.3.4:567\"'
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:820"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket remove netflow x targets '"1.2.3.4:567"'

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no row \"x\" in table NetFlow
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:820"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:820: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:820"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:820"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:820: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:820"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:820"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:823: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket clear netflow x targets
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:823"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket clear netflow x targets

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no row \"x\" in table NetFlow
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:823"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:823: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:823"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:823"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:823: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:823"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:823"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:826: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket clear netflow \`cat netflow-uuid\` targets
"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:826"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket clear netflow `cat netflow-uuid` targets

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: \"clear\" operation cannot be applied to column targets of table NetFlow, which is not allowed to be empty
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:826"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:826: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:826"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:826"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:826: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:826"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:826"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:829: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket destroy b br2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:829"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket destroy b br2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no row \"br2\" in table Bridge
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:829"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:829: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:829"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:829"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:829: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:829"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:829"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:832: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add in br1 name x
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:832"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add in br1 name x

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: cannot modify read-only column name in table Interface
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:832"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:832: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:832"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:832"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:832: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:832"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:832"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:835: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set port br1 name br2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:835"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set port br1 name br2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: cannot modify read-only column name in table Port
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:835"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:835: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:835"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:835"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:835: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:835"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:835"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:838: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket remove b br1 name br1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:838"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket remove b br1 name br1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: cannot modify read-only column name in table Bridge
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:838"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:838: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:838"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:838"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:838: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:838"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:838"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:841: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket clear b br1 name
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:841"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket clear b br1 name

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: cannot modify read-only column name in table Bridge
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:841"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:841: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:841"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:841"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:841: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:841"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:841"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:844: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:844"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:844"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:844: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:844"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:844"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1299
#AT_START_1300
at_fn_group_banner 1300 'ovs-vsctl.at:847' \
  "database commands -- conditions" "                " 83
at_xfail=no
(
  $as_echo "1300. $at_setup_line: testing $at_desc ..."
  $at_traceon


trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat pid`
EOF

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:850: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:850"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:850"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:850: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:850"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:850"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:850: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:850"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:850"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:851: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- add-br br0 -- add-br br1 -- set bridge br1 flood_vlans=0 other-config:x='\"\"' -- add-br br2 -- set bridge br2 flood_vlans=1 other-config:x=y -- add-br br3 -- set bridge br3 flood_vlans=0,1 other-config:x=z -- add-br br4 -- set bridge br4 flood_vlans=2 -- add-br br5 -- set bridge br5 flood_vlans=0,2 -- add-br br6 -- set bridge br6 flood_vlans=1,2 -- add-br br7 -- set bridge br7 flood_vlans=0,1,2"
at_fn_check_prepare_trace "ovs-vsctl.at:851"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- add-br br0 -- add-br br1 -- set bridge br1 flood_vlans=0 other-config:x='""' -- add-br br2 -- set bridge br2 flood_vlans=1 other-config:x=y -- add-br br3 -- set bridge br3 flood_vlans=0,1 other-config:x=z -- add-br br4 -- set bridge br4 flood_vlans=2 -- add-br br5 -- set bridge br5 flood_vlans=0,2 -- add-br br6 -- set bridge br6 flood_vlans=1,2 -- add-br br7 -- set bridge br7 flood_vlans=0,1,2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "














" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:851"
$at_failed && at_fn_log_failure
$at_traceon; }



# Arithmetic relational operators without keys.
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:881: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans=0' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:881"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans=0' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:881"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:882: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans=1' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:882"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans=1' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:882"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:883: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans=0,2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:883"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans=0,2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br5
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:883"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:884: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans=0,1,2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:884"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans=0,1,2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:884"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:885: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans=3' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:885"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans=3' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:885"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:887: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans!=0' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:887"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans!=0' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br2 br3 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:887"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:888: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans!=1' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:888"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans!=1' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br3 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:888"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:889: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans!=0,2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:889"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans!=0,2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br2 br3 br4 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:889"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:890: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans!=0,1,2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:890"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans!=0,1,2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br2 br3 br4 br5 br6
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:890"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:891: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans!=3' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:891"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans!=3' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br2 br3 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:891"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:893: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans<2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:893"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans<2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:893"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:894: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans<0,2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:894"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans<0,2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br2 br3 br4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:894"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:895: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans>1' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:895"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans>1' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br3 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:895"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:896: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans>0,1' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:896"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans>0,1' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:896"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:897: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans<=2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:897"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans<=2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br2 br4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:897"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:898: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans<=0,2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:898"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans<=0,2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br2 br3 br4 br5
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:898"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:899: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans>=1' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:899"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans>=1' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br2 br3 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:899"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:900: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans>=0,1' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:900"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans>=0,1' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br3 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:900"
$at_failed && at_fn_log_failure
$at_traceon; }


# Set relational operators without keys.
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:903: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{=}0' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:903"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{=}0' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:903"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:904: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{=}1' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:904"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{=}1' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:904"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:905: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{=}0,2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:905"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{=}0,2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br5
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:905"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:906: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{=}0,1,2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:906"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{=}0,1,2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:906"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:907: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{=}3' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:907"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{=}3' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:907"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:909: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{!=}0' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:909"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{!=}0' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br2 br3 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:909"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:910: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{!=}1' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:910"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{!=}1' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br3 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:910"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:911: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{!=}0,2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:911"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{!=}0,2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br2 br3 br4 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:911"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:912: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{!=}0,1,2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:912"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{!=}0,1,2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br2 br3 br4 br5 br6
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:912"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:913: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{!=}3' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:913"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{!=}3' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br2 br3 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:913"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:915: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{<}[]' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:915"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{<}[]' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:915"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:916: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{<=}[]' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:916"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{<=}[]' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:916"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:917: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{<}0' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:917"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{<}0' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:917"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:918: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{<=}0' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:918"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{<=}0' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:918"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:919: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{<}1,2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:919"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{<}1,2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br2 br4
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:919"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:920: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{<=}1,2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:920"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{<=}1,2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br2 br4 br6
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:920"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:922: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{>}[]' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:922"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{>}[]' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br1 br2 br3 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:922"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:923: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{>=}[]' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:923"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{>=}[]' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br2 br3 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:923"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:924: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{>}0' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:924"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{>}0' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br3 br5 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:924"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:925: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{>=}0' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:925"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{>=}0' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br1 br3 br5 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:925"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:926: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{>}0,2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:926"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{>}0,2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:926"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:927: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{>=}1,2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:927"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{>=}1,2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:927"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:928: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{>=}0,2' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:928"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'flood_vlans{>=}0,2' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br5 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:928"
$at_failed && at_fn_log_failure
$at_traceon; }


# Arithmetic relational operators with keys.
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:931: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x=\"\"' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:931"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x=""' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:931"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:932: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x=y' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:932"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x=y' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:932"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:933: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x=z' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:933"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x=z' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:933"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:935: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x!=\"\"' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:935"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x!=""' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br2 br3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:935"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:936: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x!=y' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:936"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x!=y' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br1 br3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:936"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:937: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x!=z' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:937"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x!=z' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br1 br2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:937"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:939: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x>y' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:939"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x>y' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:939"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:940: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x>=y' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:940"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x>=y' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br2 br3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:940"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:941: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x<y' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:941"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x<y' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:941"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:942: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x<=y' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:942"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x<=y' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br1 br2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:942"
$at_failed && at_fn_log_failure
$at_traceon; }


# Set relational operators with keys.
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:945: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{=}[]' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:945"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{=}[]' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:945"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:946: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{=}\"\"' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:946"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{=}""' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:946"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:947: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{=}y' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:947"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{=}y' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:947"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:948: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{=}z' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:948"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{=}z' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:948"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:950: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{!=}[]' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:950"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{!=}[]' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br1 br2 br3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:950"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:951: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{!=}\"\"' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:951"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{!=}""' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br2 br3 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:951"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:952: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{!=}y' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:952"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{!=}y' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br3 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:952"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:953: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{!=}z' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:953"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{!=}z' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br2 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:953"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:955: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<=}[]' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:955"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<=}[]' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:955"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:956: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<=}x' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:956"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<=}x' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:956"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:957: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<=}\"\"' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:957"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<=}""' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:957"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:958: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<=}y' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:958"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<=}y' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br2 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:958"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:959: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<=}z' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:959"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<=}z' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br3 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:959"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:960: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<=}x,y,z' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:960"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<=}x,y,z' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br2 br3 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:960"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:962: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<}[]' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:962"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<}[]' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:962"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:963: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<}x' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:963"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<}x' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:963"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:964: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<}\"\"' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:964"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<}""' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:964"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:965: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<}y' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:965"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<}y' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:965"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:966: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<}z' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:966"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{<}z' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:966"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:968: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>=}[]' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:968"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>=}[]' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br0 br1 br2 br3 br4 br5 br6 br7
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:968"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:969: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>=}x' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:969"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>=}x' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:969"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:970: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>=}\"\"' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:970"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>=}""' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:970"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:971: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>=}y' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:971"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>=}y' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:971"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:972: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>=}z' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:972"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>=}z' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:972"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:974: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>}[]' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:974"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>}[]' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "br1 br2 br3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:974"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:975: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>}x' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:975"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>}x' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:975"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:976: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>}\"\"' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:976"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>}""' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:976"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:977: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>}y' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:977"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>}y' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:977"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:978: echo \`ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>}z' | sort\`"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:978"
( $at_check_trace; echo `ovs-vsctl --bare --no-wait -vreconnect:emer --db=unix:socket -- --columns=name find bridge 'other-config:x{>}z' | sort`
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:978"
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:979: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:979"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:979"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:979: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:979"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:979"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1300
#AT_START_1301
at_fn_group_banner 1301 'ovs-vsctl.at:982' \
  "database commands -- wait-until immediately true" "" 83
at_xfail=no
(
  $as_echo "1301. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:984: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:984"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:984"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:984: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:984"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:984"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:984: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:984"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:984"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:985: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br br0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-bond br0 bond0 eth0 eth1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set port bond0 bond_updelay=500 other-config:abc=def
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:985"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br br0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-bond br0 bond0 eth0 eth1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket set port bond0 bond_updelay=500 other-config:abc=def

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:985"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:985: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:985"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:985"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:985: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:985"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:985"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:990: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket wait-until Open_vSwitch . manager_options=[]
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:990"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket wait-until Open_vSwitch . manager_options=[]

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:990"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:990: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:990"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:990"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:990: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:990"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:990"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:992: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket wait-until Open_vSwitch . bridges!=[]
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:992"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket wait-until Open_vSwitch . bridges!=[]

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:992"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:992: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:992"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:992"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:992: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:992"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:992"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:994: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket wait-until Port bond0 other-config:abc=def
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:994"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket wait-until Port bond0 other-config:abc=def

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:994"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:994: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:994"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:994"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:994: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:994"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:994"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:996: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket wait-until port bond0 'bond_updelay>50' 'other-config:abc>d' 'other-config:abc<e'
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:996"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket wait-until port bond0 'bond_updelay>50' 'other-config:abc>d' 'other-config:abc<e'

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:996"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:996: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:996"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:996"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:996: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:996"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:996"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:998: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:998"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:998"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:998: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:998"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:998"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1301
#AT_START_1302
at_fn_group_banner 1302 'ovs-vsctl.at:1001' \
  "database commands -- wait-until must wait" "      " 83
at_xfail=no
(
  $as_echo "1302. $at_setup_line: testing $at_desc ..."
  $at_traceon



OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1004: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:1004"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1004"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1004: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1004"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1004"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1004: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1004"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1004"
$at_failed && at_fn_log_failure
$at_traceon; }


# Start ovs-vsctls in background.
(ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket wait-until o . bridges!=[] -- get bridge br10 other-config:abc
) > stdout1 &
(ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket wait-until bridge br1 -- get bridge br1 other-config:abc
) > stdout2 &
(ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket wait-until b br1 other-config={abc=def} -- get bridge br1 other-config
) > stdout3 &
(ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket wait-until port bond0 'bond_updelay>50' -- get port bond0 bond-updelay
) > stdout4 &

# Give the ovs-vsctls a chance to read the database
sleep 1

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1015: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br br10 -- set bridge br10 other-config:abc=quux

ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br br1 -- set bridge br1 other-config:abc=def -- add-bond br1 bond0 eth0 eth1 -- set port bond0 bond_updelay=500
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1015"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br br10 -- set bridge br10 other-config:abc=quux

ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br br1 -- set bridge br1 other-config:abc=def -- add-bond br1 bond0 eth0 eth1 -- set port bond0 bond_updelay=500

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1015"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1015: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1015"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1015"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1015: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1015"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1015"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


# Wait for the ovs-vsctls to finish.
wait

# Check output
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1023: cat stdout1"
at_fn_check_prepare_trace "ovs-vsctl.at:1023"
( $at_check_trace; cat stdout1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "quux
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1023"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1023: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1023"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1023"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1023: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1023"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1023"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1025: cat stdout2"
at_fn_check_prepare_trace "ovs-vsctl.at:1025"
( $at_check_trace; cat stdout2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "def
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1025"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1025: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1025"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1025"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1025: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1025"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1025"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1027: cat stdout3"
at_fn_check_prepare_trace "ovs-vsctl.at:1027"
( $at_check_trace; cat stdout3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{abc=def}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1027"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1027: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1027"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1027"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1027: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1027"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1027"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1029: cat stdout4"
at_fn_check_prepare_trace "ovs-vsctl.at:1029"
( $at_check_trace; cat stdout4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "500
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1029"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1029: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1029"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1029"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1029: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1029"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1029"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1032: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1032"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1032"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1032: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1032"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1032"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1302
#AT_START_1303
at_fn_group_banner 1303 'ovs-vsctl.at:1035' \
  "--id option on create, get commands" "            " 83
at_xfail=no
(
  $as_echo "1303. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1037: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:1037"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1037"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1037: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1037"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1037"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1037: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1037"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1037"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1038: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br br0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port br0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port br0 eth1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1038"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br br0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port br0 eth0
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port br0 eth1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1038"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1041: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- set bridge br0 mirrors=@m -- --id=@eth0 get port eth0 -- --id=@eth1 get port eth1 -- --id=@m create mirror name=mymirror select-dst-port=@eth0 select-src-port=@eth0 output-port=@eth1"
at_fn_check_prepare_trace "ovs-vsctl.at:1041"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- set bridge br0 mirrors=@m -- --id=@eth0 get port eth0 -- --id=@eth1 get port eth1 -- --id=@m create mirror name=mymirror select-dst-port=@eth0 select-src-port=@eth0 output-port=@eth1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1041"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1041: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1041"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1041"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1041: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1041"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1041"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1048: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovs-vsctl.at:1048"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "


<0>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1048"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1048: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1048"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1048"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1048: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1048"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1048"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1056: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list port eth0 eth1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list mirror
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list bridge br0
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1056"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list port eth0 eth1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list mirror
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list bridge br0

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1056"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1056: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1056"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1056"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1056: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1056"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1056"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1062: sed -n -e '/uuid/p' -e '/name/p' -e '/mirrors/p' -e '/select/p' -e '/output/p' < stdout | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovs-vsctl.at:1062"
( $at_check_trace; sed -n -e '/uuid/p' -e '/name/p' -e '/mirrors/p' -e '/select/p' -e '/output/p' < stdout | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "_uuid               : <0>
name                : \"eth0\"
_uuid               : <1>
name                : \"eth1\"
_uuid               : <2>
name                : mymirror
output_port         : <1>
output_vlan         : []
select_all          : false
select_dst_port     : [<0>]
select_src_port     : [<0>]
select_vlan         : []
_uuid               : <3>
mirrors             : [<2>]
name                : \"br0\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1062"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1062: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1062"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1062"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1062: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1062"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1062"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1081: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1081"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1081"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1081: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1081"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1081"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1303
#AT_START_1304
at_fn_group_banner 1304 'ovs-vsctl.at:1084' \
  "unreferenced record warnings" "                   " 83
at_xfail=no
(
  $as_echo "1304. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1086: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:1086"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1086"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1086: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1086"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1086"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1086: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1086"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1086"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1087: ovs-vsctl -vPATTERN:console:'%c|%p|%m' --no-wait -vreconnect:emer --db=unix:socket \\
     -- create Bridge name=br0 | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovs-vsctl.at:1087"
( $at_check_trace; ovs-vsctl -vPATTERN:console:'%c|%p|%m' --no-wait -vreconnect:emer --db=unix:socket \
     -- create Bridge name=br0 | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "vsctl|WARN|applying \"create\" command to table Bridge without --id option will have no effect
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "<0>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1087"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1087: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1087"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1087"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1087: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1087"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1087"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1093: ovs-vsctl -vPATTERN:console:'%c|%p|%m' --no-wait -vreconnect:emer --db=unix:socket \\
     -- --id=@br0 create Bridge name=br0 | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovs-vsctl.at:1093"
( $at_check_trace; ovs-vsctl -vPATTERN:console:'%c|%p|%m' --no-wait -vreconnect:emer --db=unix:socket \
     -- --id=@br0 create Bridge name=br0 | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "vsctl|WARN|row id \"@br0\" was created but no reference to it was inserted, so it will not actually appear in the database
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "<0>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1093"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1093: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1093"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1093"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1093: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1093"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1093"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1099: ovs-vsctl -vPATTERN:console:'%c|%p|%m' --no-wait -vreconnect:emer --db=unix:socket \\
     -- --id=@eth0_iface create Interface name=eth0 \\
     -- --id=@eth0 create Port name=eth0 interfaces=@eth0_iface \\
     -- --id=@m0 create Mirror name=m0 output_port=@eth0 \\
     -- --id=@br0 create Bridge name=br0 mirrors=@m0 \\
     -- set Open_vSwitch . bridges=@br0 | \${PERL} \$srcdir/uuidfilt.pl"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovs-vsctl.at:1099"
( $at_check_trace; ovs-vsctl -vPATTERN:console:'%c|%p|%m' --no-wait -vreconnect:emer --db=unix:socket \
     -- --id=@eth0_iface create Interface name=eth0 \
     -- --id=@eth0 create Port name=eth0 interfaces=@eth0_iface \
     -- --id=@m0 create Mirror name=m0 output_port=@eth0 \
     -- --id=@br0 create Bridge name=br0 mirrors=@m0 \
     -- set Open_vSwitch . bridges=@br0 | ${PERL} $srcdir/uuidfilt.pl
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "vsctl|WARN|row id \"@eth0\" was created but only a weak reference to it was inserted, so it will not actually appear in the database
" | \
  $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "<0>
<1>
<2>
<3>
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1099"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1099: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1099"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1099"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1099: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1099"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1099"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1112: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1112"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1112"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1112: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1112"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1112"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1304
#AT_START_1305
at_fn_group_banner 1305 'ovs-vsctl.at:1118' \
  "created row UUID is wrong in same execution" "    " 83
at_xfail=no
(
  $as_echo "1305. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1120: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:1120"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1120"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1120: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1120"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1120"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1120: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1120"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1120"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1121: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --id=@br0 create Bridge name=br0 -- add Open_vSwitch . bridges @br0 -- list b
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1121"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --id=@br0 create Bridge name=br0 -- add Open_vSwitch . bridges @br0 -- list b

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1121"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1121: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1121"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1121"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1121: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1121"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1121"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1123: \${PERL} \$srcdir/uuidfilt.pl stdout"
at_fn_check_prepare_notrace 'a ${...} parameter expansion' "ovs-vsctl.at:1123"
( $at_check_trace; ${PERL} $srcdir/uuidfilt.pl stdout
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo >>"$at_stdout"; $as_echo "<0>
_uuid               : <1>
controller          : []
datapath_id         : []
datapath_type       : \"\"
external_ids        : {}
fail_mode           : []
flood_vlans         : []
flow_tables         : {}
ipfix               : []
mirrors             : []
name                : \"br0\"
netflow             : []
other_config        : {}
ports               : []
protocols           : []
sflow               : []
status              : {}
stp_enable          : false
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1123"
if $at_failed; then :
  test ! -e pid || kill `cat pid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1144: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1144"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1144"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1144: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1144"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1144"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1305
#AT_START_1306
at_fn_group_banner 1306 'ovs-vsctl.at:1150' \
  "--all option on destroy command" "                " 83
at_xfail=no
(
  $as_echo "1306. $at_setup_line: testing $at_desc ..."
  $at_traceon


OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1152: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:1152"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1152"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1152: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1152"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1152"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1152: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1152"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1152"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1153: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port a a1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port a a2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1153"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-br a
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port a a1
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket add-port a a2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1153"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1153: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1153"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1153"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1153: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1153"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1153"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1157"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1157"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1157"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1157"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-br

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1157"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1157"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


         { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1157"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1157"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1157"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1157"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-exists nonexistent

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 2 $at_status "$at_srcdir/ovs-vsctl.at:1157"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1157"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1157"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1157"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-parent a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1157"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1157"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check br-to-vlan, without --oneline.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1157"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1157"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1157"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   # Check br-to-vlan, with --oneline.
   # (This particular test is interesting with --oneline because it returns
   # an integer instead of a string and that can cause type mismatches inside
   # python if not done carefully.)
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1157"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- br-to-vlan a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1157"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1157"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


   # Check multiple queries in a single run.
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a"
at_fn_check_prepare_trace "ovs-vsctl.at:1157"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- br-to-parent a -- br-to-vlan a
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
0
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1157"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1157: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1157"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1157"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1158: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1158"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a1
a2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1158"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1158: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1158"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1158"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1158: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1158"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1158"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1158: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1158"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline -- list-ports a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a1\\na2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1158"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1158: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1158"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1158"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1158: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1158"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1158"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1158: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1158"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no port named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:1158"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1158: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1158"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1158"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1158: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1158"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1158"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1158: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1158"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1158"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1158: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1158"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1158"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1158: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1158"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1158"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1158: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1158"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket port-to-br a2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1158"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1158: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1158"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1158"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1158: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1158"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1158"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1159: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1159"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket list-ifaces a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a1
a2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1159"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1159: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1159"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1159"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1159: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1159"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1159"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1159: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1159"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "ovs-vsctl: no interface named a
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 1 $at_status "$at_srcdir/ovs-vsctl.at:1159"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1159: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1159"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1159"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1159: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1159"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1159"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1159: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a1
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1159"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a1

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1159"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1159: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1159"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1159"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1159: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1159"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1159"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1159: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1159"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket iface-to-br a2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "a
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1159"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1159: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1159"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1159"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1159: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1159"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1159"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1160: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- set Port a1 qos=@newqos -- set Port a2 qos=@newqos -- --id=@newqos create QoS type=linux-htb other-config:max-rate=1000000000 queues=0=@q0,1=@q1 -- --id=@q0 create Queue other-config:min-rate=100000000 other-config:max-rate=100000000 -- --id=@q1 create Queue other-config:min-rate=500000000"
at_fn_check_prepare_trace "ovs-vsctl.at:1160"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --oneline  -- set Port a1 qos=@newqos -- set Port a2 qos=@newqos -- --id=@newqos create QoS type=linux-htb other-config:max-rate=1000000000 queues=0=@q0,1=@q1 -- --id=@q0 create Queue other-config:min-rate=100000000 other-config:max-rate=100000000 -- --id=@q1 create Queue other-config:min-rate=500000000
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1160"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1160: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1160"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1160"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1160: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1160"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1160"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1166: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --columns=other_config,type list Qos
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1166"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --columns=other_config,type list Qos

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "other_config        : {max-rate=\"1000000000\"}
type                : linux-htb
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1166"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1166: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1166"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1166"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1166: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1166"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1166"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1171: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --columns=other_config list Queue | sort | xargs echo
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1171"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --columns=other_config list Queue | sort | xargs echo

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "other_config : {max-rate=100000000, min-rate=100000000} other_config : {min-rate=500000000}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1171"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1171: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1171"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1171"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1171: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1171"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1171"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1175: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket clear Port a1 qos
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket clear Port a2 qos
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1175"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket clear Port a1 qos
ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket clear Port a2 qos

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1175"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1175: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1175"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1175"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1175: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1175"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1175"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1178: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --columns=qos list Port a1 a2
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1178"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --columns=qos list Port a1 a2

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "qos                 : []

qos                 : []
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1178"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1178: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1178"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1178"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1178: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1178"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1178"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1184: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --all destroy Qos
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1184"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --all destroy Qos

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1184"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1184: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1184"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1184"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1184: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1184"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1184"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1186: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket -- list Qos
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1186"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket -- list Qos

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1186"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1186: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1186"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1186"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1186: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1186"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1186"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1188: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --all destroy Queue
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1188"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket --all destroy Queue

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1188"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1188: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1188"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1188"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1188: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1188"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1188"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1190: ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket -- list Queue
"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1190"
( $at_check_trace; ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket -- list Queue

) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1190"
if $at_failed; then :
  cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1190: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1190"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1190"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1190: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1190"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1190"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

fi
$at_failed && at_fn_log_failure
$at_traceon; }

cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1192: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1192"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1192"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1192: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-vsctl.at:1192"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1192"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1306
#AT_START_1307
at_fn_group_banner 1307 'ovs-vsctl.at:1198' \
  "add-port -- reserved names 1" "                   " 84
at_xfail=no
(
  $as_echo "1307. $at_setup_line: testing $at_desc ..."
  $at_traceon

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1199: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:1199"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1199"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1199: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ovs-vsctl.at:1199"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1199"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1199: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1199"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1199"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1199: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ovs-vsctl.at:1199"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1199"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1199: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ovs-vsctl.at:1199"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1199"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1199: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1199"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1199"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1199: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --  "
at_fn_check_prepare_trace "ovs-vsctl.at:1199"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure --
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1199"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# Test creating all reserved port names

# Try creating the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: ovs-vsctl add-port br0 ovs-netdev"
at_fn_check_prepare_trace "ovs-vsctl.at:1202"
( $at_check_trace; ovs-vsctl add-port br0 ovs-netdev
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Detect the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: sed -n \"s/^.*\\(|bridge|WARN|.*\\)\$/\\1/p\" ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1202"
( $at_check_trace; sed -n "s/^.*\(|bridge|WARN|.*\)$/\1/p" ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "|bridge|WARN|could not create interface ovs-netdev, name is reserved
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: sed \"/|bridge|WARN|/d\" ovs-vswitchd.log > ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1202"
( $at_check_trace; sed "/|bridge|WARN|/d" ovs-vswitchd.log > ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: ovs-vsctl del-port br0 ovs-netdev"
at_fn_check_prepare_trace "ovs-vsctl.at:1202"
( $at_check_trace; ovs-vsctl del-port br0 ovs-netdev
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Try creating the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: ovs-vsctl add-port br0 ovs-dummy"
at_fn_check_prepare_trace "ovs-vsctl.at:1202"
( $at_check_trace; ovs-vsctl add-port br0 ovs-dummy
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Detect the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: sed -n \"s/^.*\\(|bridge|WARN|.*\\)\$/\\1/p\" ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1202"
( $at_check_trace; sed -n "s/^.*\(|bridge|WARN|.*\)$/\1/p" ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "|bridge|WARN|could not create interface ovs-dummy, name is reserved
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: sed \"/|bridge|WARN|/d\" ovs-vswitchd.log > ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1202"
( $at_check_trace; sed "/|bridge|WARN|/d" ovs-vswitchd.log > ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: ovs-vsctl del-port br0 ovs-dummy"
at_fn_check_prepare_trace "ovs-vsctl.at:1202"
( $at_check_trace; ovs-vsctl del-port br0 ovs-dummy
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Try creating the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: ovs-vsctl add-port br0 gre_system"
at_fn_check_prepare_trace "ovs-vsctl.at:1202"
( $at_check_trace; ovs-vsctl add-port br0 gre_system
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Detect the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: sed -n \"s/^.*\\(|bridge|WARN|.*\\)\$/\\1/p\" ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1202"
( $at_check_trace; sed -n "s/^.*\(|bridge|WARN|.*\)$/\1/p" ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "|bridge|WARN|could not create interface gre_system, name is reserved
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: sed \"/|bridge|WARN|/d\" ovs-vswitchd.log > ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1202"
( $at_check_trace; sed "/|bridge|WARN|/d" ovs-vswitchd.log > ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: ovs-vsctl del-port br0 gre_system"
at_fn_check_prepare_trace "ovs-vsctl.at:1202"
( $at_check_trace; ovs-vsctl del-port br0 gre_system
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Try creating the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: ovs-vsctl add-port br0 gre64_system"
at_fn_check_prepare_trace "ovs-vsctl.at:1202"
( $at_check_trace; ovs-vsctl add-port br0 gre64_system
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Detect the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: sed -n \"s/^.*\\(|bridge|WARN|.*\\)\$/\\1/p\" ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1202"
( $at_check_trace; sed -n "s/^.*\(|bridge|WARN|.*\)$/\1/p" ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "|bridge|WARN|could not create interface gre64_system, name is reserved
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: sed \"/|bridge|WARN|/d\" ovs-vswitchd.log > ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1202"
( $at_check_trace; sed "/|bridge|WARN|/d" ovs-vswitchd.log > ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: ovs-vsctl del-port br0 gre64_system"
at_fn_check_prepare_trace "ovs-vsctl.at:1202"
( $at_check_trace; ovs-vsctl del-port br0 gre64_system
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Try creating the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: ovs-vsctl add-port br0 lisp_system"
at_fn_check_prepare_trace "ovs-vsctl.at:1202"
( $at_check_trace; ovs-vsctl add-port br0 lisp_system
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Detect the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: sed -n \"s/^.*\\(|bridge|WARN|.*\\)\$/\\1/p\" ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1202"
( $at_check_trace; sed -n "s/^.*\(|bridge|WARN|.*\)$/\1/p" ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "|bridge|WARN|could not create interface lisp_system, name is reserved
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: sed \"/|bridge|WARN|/d\" ovs-vswitchd.log > ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1202"
( $at_check_trace; sed "/|bridge|WARN|/d" ovs-vswitchd.log > ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: ovs-vsctl del-port br0 lisp_system"
at_fn_check_prepare_trace "ovs-vsctl.at:1202"
( $at_check_trace; ovs-vsctl del-port br0 lisp_system
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Try creating the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: ovs-vsctl add-port br0 vxlan_system"
at_fn_check_prepare_trace "ovs-vsctl.at:1202"
( $at_check_trace; ovs-vsctl add-port br0 vxlan_system
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Detect the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: sed -n \"s/^.*\\(|bridge|WARN|.*\\)\$/\\1/p\" ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1202"
( $at_check_trace; sed -n "s/^.*\(|bridge|WARN|.*\)$/\1/p" ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "|bridge|WARN|could not create interface vxlan_system, name is reserved
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: sed \"/|bridge|WARN|/d\" ovs-vswitchd.log > ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1202"
( $at_check_trace; sed "/|bridge|WARN|/d" ovs-vswitchd.log > ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1202: ovs-vsctl del-port br0 vxlan_system"
at_fn_check_prepare_trace "ovs-vsctl.at:1202"
( $at_check_trace; ovs-vsctl del-port br0 vxlan_system
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1202"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1221: check_logs "
at_fn_check_prepare_trace "ovs-vsctl.at:1221"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1221"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1221: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ovs-vsctl.at:1221"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1221"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1221: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ovs-vsctl.at:1221"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1221"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1307
#AT_START_1308
at_fn_group_banner 1308 'ovs-vsctl.at:1224' \
  "add-port -- reserved names 2" "                   " 84
at_xfail=no
(
  $as_echo "1308. $at_setup_line: testing $at_desc ..."
  $at_traceon

# Creates all type of tunnel ports
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   OVS_LOGDIR=`pwd`; export OVS_LOGDIR
   OVS_DBDIR=`pwd`; export OVS_DBDIR
   OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
   trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat ovsdb-server.pid ovs-vswitchd.pid`
EOF


      touch .conf.db.~lock~
   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1226: ovsdb-tool create conf.db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-vsctl.at:1226"
( $at_check_trace; ovsdb-tool create conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1226"
$at_failed && at_fn_log_failure
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1226: ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:\$OVS_RUNDIR/db.sock"
at_fn_check_prepare_dynamic "ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock" "ovs-vsctl.at:1226"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1226"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1226: sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1226"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/ovsdb_server|INFO|ovsdb-server (Open vSwitch)/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1226"
$at_failed && at_fn_log_failure
$at_traceon; }



      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1226: ovs-vsctl --no-wait init"
at_fn_check_prepare_trace "ovs-vsctl.at:1226"
( $at_check_trace; ovs-vsctl --no-wait init
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1226"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1226: ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif"
at_fn_check_prepare_trace "ovs-vsctl.at:1226"
( $at_check_trace; ovs-vswitchd --detach --no-chdir --pidfile --enable-dummy --disable-system --log-file -vvconn -vofproto_dpif
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1226"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log"
$at_traceon; }


   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1226: sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1226"
( $at_check_trace; sed < stderr '
/vlog|INFO|opened log file/d
/vswitchd|INFO|ovs-vswitchd (Open vSwitch)/d
/reconnect|INFO|/d
/ofproto|INFO|using datapath ID/d
/ofproto|INFO|datapath ID changed to fedcba9876543210/d'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1226"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }


      { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1226: ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=gre \\
                    options:remote_ip=1.1.1.1 ofport_request=1\\
                    -- add-port br0 p2 -- set Interface p2 type=gre64 \\
                    options:local_ip=2.2.2.2 options:remote_ip=1.1.1.1 \\
                    ofport_request=2 \\
                    -- add-port br0 p3 -- set Interface p3 type=lisp \\
                    options:remote_ip=2.2.2.2 ofport_request=3 \\
                    -- add-port br0 p4 -- set Interface p4 type=vxlan \\
                    options:remote_ip=2.2.2.2 ofport_request=4 "
at_fn_check_prepare_notrace 'an embedded newline' "ovs-vsctl.at:1226"
( $at_check_trace; ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 protocols=[OpenFlow10,OpenFlow11,OpenFlow12,OpenFlow13] fail-mode=secure -- add-port br0 p1 -- set Interface p1 type=gre \
                    options:remote_ip=1.1.1.1 ofport_request=1\
                    -- add-port br0 p2 -- set Interface p2 type=gre64 \
                    options:local_ip=2.2.2.2 options:remote_ip=1.1.1.1 \
                    ofport_request=2 \
                    -- add-port br0 p3 -- set Interface p3 type=lisp \
                    options:remote_ip=2.2.2.2 ofport_request=3 \
                    -- add-port br0 p4 -- set Interface p4 type=vxlan \
                    options:remote_ip=2.2.2.2 ofport_request=4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1226"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }



# Test creating all reserved tunnel port names

# Try creating the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1237: ovs-vsctl add-port br0 gre_system"
at_fn_check_prepare_trace "ovs-vsctl.at:1237"
( $at_check_trace; ovs-vsctl add-port br0 gre_system
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Detect the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1237: sed -n \"s/^.*\\(|bridge|WARN|.*\\)\$/\\1/p\" ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1237"
( $at_check_trace; sed -n "s/^.*\(|bridge|WARN|.*\)$/\1/p" ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "|bridge|WARN|could not create interface gre_system, name is reserved
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1237: sed \"/|bridge|WARN|/d\" ovs-vswitchd.log > ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1237"
( $at_check_trace; sed "/|bridge|WARN|/d" ovs-vswitchd.log > ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1237: ovs-vsctl del-port br0 gre_system"
at_fn_check_prepare_trace "ovs-vsctl.at:1237"
( $at_check_trace; ovs-vsctl del-port br0 gre_system
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Try creating the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1237: ovs-vsctl add-port br0 gre64_system"
at_fn_check_prepare_trace "ovs-vsctl.at:1237"
( $at_check_trace; ovs-vsctl add-port br0 gre64_system
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Detect the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1237: sed -n \"s/^.*\\(|bridge|WARN|.*\\)\$/\\1/p\" ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1237"
( $at_check_trace; sed -n "s/^.*\(|bridge|WARN|.*\)$/\1/p" ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "|bridge|WARN|could not create interface gre64_system, name is reserved
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1237: sed \"/|bridge|WARN|/d\" ovs-vswitchd.log > ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1237"
( $at_check_trace; sed "/|bridge|WARN|/d" ovs-vswitchd.log > ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1237: ovs-vsctl del-port br0 gre64_system"
at_fn_check_prepare_trace "ovs-vsctl.at:1237"
( $at_check_trace; ovs-vsctl del-port br0 gre64_system
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Try creating the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1237: ovs-vsctl add-port br0 lisp_system"
at_fn_check_prepare_trace "ovs-vsctl.at:1237"
( $at_check_trace; ovs-vsctl add-port br0 lisp_system
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Detect the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1237: sed -n \"s/^.*\\(|bridge|WARN|.*\\)\$/\\1/p\" ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1237"
( $at_check_trace; sed -n "s/^.*\(|bridge|WARN|.*\)$/\1/p" ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "|bridge|WARN|could not create interface lisp_system, name is reserved
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1237: sed \"/|bridge|WARN|/d\" ovs-vswitchd.log > ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1237"
( $at_check_trace; sed "/|bridge|WARN|/d" ovs-vswitchd.log > ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1237: ovs-vsctl del-port br0 lisp_system"
at_fn_check_prepare_trace "ovs-vsctl.at:1237"
( $at_check_trace; ovs-vsctl del-port br0 lisp_system
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Try creating the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1237: ovs-vsctl add-port br0 vxlan_system"
at_fn_check_prepare_trace "ovs-vsctl.at:1237"
( $at_check_trace; ovs-vsctl add-port br0 vxlan_system
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Detect the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1237: sed -n \"s/^.*\\(|bridge|WARN|.*\\)\$/\\1/p\" ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1237"
( $at_check_trace; sed -n "s/^.*\(|bridge|WARN|.*\)$/\1/p" ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "|bridge|WARN|could not create interface vxlan_system, name is reserved
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the warning log message
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1237: sed \"/|bridge|WARN|/d\" ovs-vswitchd.log > ovs-vswitchd.log"
at_fn_check_prepare_notrace 'a shell pipeline' "ovs-vsctl.at:1237"
( $at_check_trace; sed "/|bridge|WARN|/d" ovs-vswitchd.log > ovs-vswitchd.log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

# Delete the port
{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1237: ovs-vsctl del-port br0 vxlan_system"
at_fn_check_prepare_trace "ovs-vsctl.at:1237"
( $at_check_trace; ovs-vsctl del-port br0 vxlan_system
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1237"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1254: check_logs "
at_fn_check_prepare_trace "ovs-vsctl.at:1254"
( $at_check_trace; check_logs
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1254"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1254: ovs-appctl -t ovs-vswitchd exit"
at_fn_check_prepare_trace "ovs-vsctl.at:1254"
( $at_check_trace; ovs-appctl -t ovs-vswitchd exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1254"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-vsctl.at:1254: ovs-appctl -t ovsdb-server exit"
at_fn_check_prepare_trace "ovs-vsctl.at:1254"
( $at_check_trace; ovs-appctl -t ovsdb-server exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-vsctl.at:1254"
$at_failed && at_fn_log_failure  \
"ovsdb-server.log" \
"ovs-vswitchd.log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1308
#AT_START_1309
at_fn_group_banner 1309 'ovs-monitor-ipsec.at:3' \
  "ovs-monitor-ipsec" "                              " 85
at_xfail=no
(
  $as_echo "1309. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "ovs-monitor-ipsec.at:4" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovs-monitor-ipsec.at:4"

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
OVS_DBDIR=`pwd`; export OVS_DBDIR
OVS_PKGDATADIR=`pwd`; export OVS_PKGDATADIR
cp "$top_srcdir/vswitchd/vswitch.ovsschema" .

trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat pid ovs-monitor-ipsec.pid`
EOF


mkdir etc etc/init.d etc/racoon etc/racoon/certs
mkdir usr usr/sbin

cat >etc/init.d/racoon <<'_ATEOF'
#! /bin/sh
echo "racoon: $@" >&3
exit 0
_ATEOF

chmod +x etc/init.d/racoon

cat >usr/sbin/setkey <<'_ATEOF'
#! /bin/sh
exec >&3
echo "setkey:"
while read line; do
      echo "> $line"
done
_ATEOF

chmod +x usr/sbin/setkey

touch etc/racoon/certs/ovs-stale.pem

ovs_vsctl () {
    ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket "$@"
}
trim () {  # Removes blank lines and lines starting with # from input.
    sed -e '/^#/d' -e '/^[       ]*$/d' "$@"
}

###
### Start ovsdb-server.
###
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:45: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-monitor-ipsec.at:45"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:45"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:45: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-monitor-ipsec.at:45"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:45"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:45: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-monitor-ipsec.at:45"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:45"
$at_failed && at_fn_log_failure
$at_traceon; }


###
### Start ovs-monitor-ipsec and wait for it to delete the stale cert.
###
{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:50: \$PYTHON \$top_srcdir/debian/ovs-monitor-ipsec \"--root-prefix=\`pwd\`\" \\
        \"--pidfile=\`pwd\`/ovs-monitor-ipsec.pid\" \\
        unix:socket 2>log 3>actions &"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-monitor-ipsec.at:50"
( $at_check_trace; $PYTHON $top_srcdir/debian/ovs-monitor-ipsec "--root-prefix=`pwd`" \
        "--pidfile=`pwd`/ovs-monitor-ipsec.pid" \
        unix:socket 2>log 3>actions &
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:50"
$at_failed && at_fn_log_failure
$at_traceon; }



{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:56: ovs_wait_cond () { test ! -f etc/racoon/certs/ovs-stale.pem
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-monitor-ipsec.at:56"
( $at_check_trace; ovs_wait_cond () { test ! -f etc/racoon/certs/ovs-stale.pem
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:56"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }


###
### Add an ipsec_gre psk interface and check what ovs-monitor-ipsec does
###
{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:61: ovs_vsctl \\
              -- add-br br0 \\
              -- add-port br0 gre0 \\
              -- set interface gre0 type=ipsec_gre \\
                                    options:remote_ip=1.2.3.4 \\
                                    options:psk=swordfish"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-monitor-ipsec.at:61"
( $at_check_trace; ovs_vsctl \
              -- add-br br0 \
              -- add-port br0 gre0 \
              -- set interface gre0 type=ipsec_gre \
                                    options:remote_ip=1.2.3.4 \
                                    options:psk=swordfish
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:61"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:67: ovs_wait_cond () { test -f actions && grep 'spdadd 1.2.3.4' actions >/dev/null
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-monitor-ipsec.at:67"
( $at_check_trace; ovs_wait_cond () { test -f actions && grep 'spdadd 1.2.3.4' actions >/dev/null
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:67"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:68: cat actions"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:68"
( $at_check_trace; cat actions
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "setkey:
> flush;
setkey:
> spdflush;
racoon: reload
racoon: reload
setkey:
> spdadd 0.0.0.0/0 1.2.3.4 gre -P out ipsec esp/transport//require;
> spdadd 1.2.3.4 0.0.0.0/0 gre -P in ipsec esp/transport//require;
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:68"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:79: trim etc/racoon/psk.txt"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:79"
( $at_check_trace; trim etc/racoon/psk.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "1.2.3.4   swordfish
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:79"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:81: trim etc/racoon/racoon.conf"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:81"
( $at_check_trace; trim etc/racoon/racoon.conf
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "path pre_shared_key \"/etc/racoon/psk.txt\";
path certificate \"/etc/racoon/certs\";
remote 1.2.3.4 {
        exchange_mode main;
        nat_traversal on;
        proposal {
                encryption_algorithm aes;
                hash_algorithm sha1;
                authentication_method pre_shared_key;
                dh_group 2;
        }
}
sainfo anonymous {
        pfs_group 2;
        lifetime time 1 hour;
        encryption_algorithm aes;
        authentication_algorithm hmac_sha1, hmac_md5;
        compression_algorithm deflate;
}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:81"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }


###
### Delete the ipsec_gre interface and check what ovs-monitor-ipsec does
###
{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:106: ovs_vsctl del-port gre0"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:106"
( $at_check_trace; ovs_vsctl del-port gre0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:106"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:107: ovs_wait_cond () { test \`wc -l < actions\` -ge 17
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-monitor-ipsec.at:107"
( $at_check_trace; ovs_wait_cond () { test `wc -l < actions` -ge 17
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:107"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:108: sed '1,9d' actions"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:108"
( $at_check_trace; sed '1,9d' actions
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "racoon: reload
setkey:
> spddelete 0.0.0.0/0 1.2.3.4 gre -P out;
> spddelete 1.2.3.4 0.0.0.0/0 gre -P in;
setkey:
> dump ;
setkey:
> dump ;
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:108"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:118: trim etc/racoon/psk.txt"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:118"
( $at_check_trace; trim etc/racoon/psk.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:118"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:119: trim etc/racoon/racoon.conf"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:119"
( $at_check_trace; trim etc/racoon/racoon.conf
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "path pre_shared_key \"/etc/racoon/psk.txt\";
path certificate \"/etc/racoon/certs\";
sainfo anonymous {
        pfs_group 2;
        lifetime time 1 hour;
        encryption_algorithm aes;
        authentication_algorithm hmac_sha1, hmac_md5;
        compression_algorithm deflate;
}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:119"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }


###
### Add ipsec_gre certificate interface and check what ovs-monitor-ipsec does
###
cat >cert.pem <<'_ATEOF'
-----BEGIN CERTIFICATE-----
(not a real certificate)
-----END CERTIFICATE-----
_ATEOF

cat >key.pem <<'_ATEOF'
-----BEGIN RSA PRIVATE KEY-----
(not a real private key)
-----END RSA PRIVATE KEY-----
_ATEOF

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:144: ovs_vsctl \\
              -- add-port br0 gre1 \\
              -- set Interface gre1 type=ipsec_gre \\
                 options:remote_ip=2.3.4.5 \\
                 options:peer_cert='\"-----BEGIN CERTIFICATE-----
(not a real peer certificate)
-----END CERTIFICATE-----
\"' \\
                 options:certificate='\"/cert.pem\"' \\
                 options:private_key='\"/key.pem\"'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-monitor-ipsec.at:144"
( $at_check_trace; ovs_vsctl \
              -- add-port br0 gre1 \
              -- set Interface gre1 type=ipsec_gre \
                 options:remote_ip=2.3.4.5 \
                 options:peer_cert='"-----BEGIN CERTIFICATE-----
(not a real peer certificate)
-----END CERTIFICATE-----
"' \
                 options:certificate='"/cert.pem"' \
                 options:private_key='"/key.pem"'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:144"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:154: ovs_wait_cond () { test \`wc -l < actions\` -ge 21
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-monitor-ipsec.at:154"
( $at_check_trace; ovs_wait_cond () { test `wc -l < actions` -ge 21
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:154"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:155: sed '1,17d' actions"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:155"
( $at_check_trace; sed '1,17d' actions
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "racoon: reload
setkey:
> spdadd 0.0.0.0/0 2.3.4.5 gre -P out ipsec esp/transport//require;
> spdadd 2.3.4.5 0.0.0.0/0 gre -P in ipsec esp/transport//require;
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:155"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:161: trim etc/racoon/psk.txt"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:161"
( $at_check_trace; trim etc/racoon/psk.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:161"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:162: trim etc/racoon/racoon.conf"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:162"
( $at_check_trace; trim etc/racoon/racoon.conf
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "path pre_shared_key \"/etc/racoon/psk.txt\";
path certificate \"/etc/racoon/certs\";
remote 2.3.4.5 {
        exchange_mode main;
        nat_traversal on;
        ike_frag on;
        certificate_type x509 \"/cert.pem\" \"/key.pem\";
        my_identifier asn1dn;
        peers_identifier asn1dn;
        peers_certfile x509 \"/etc/racoon/certs/ovs-2.3.4.5.pem\";
        verify_identifier on;
        proposal {
                encryption_algorithm aes;
                hash_algorithm sha1;
                authentication_method rsasig;
                dh_group 2;
        }
}
sainfo anonymous {
        pfs_group 2;
        lifetime time 1 hour;
        encryption_algorithm aes;
        authentication_algorithm hmac_sha1, hmac_md5;
        compression_algorithm deflate;
}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:162"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:189: cat etc/racoon/certs/ovs-2.3.4.5.pem"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:189"
( $at_check_trace; cat etc/racoon/certs/ovs-2.3.4.5.pem
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "-----BEGIN CERTIFICATE-----
(not a real peer certificate)
-----END CERTIFICATE-----
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:189"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }


###
### Delete the ipsec_gre certificate interface.
###
{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:198: ovs_vsctl del-port gre1"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:198"
( $at_check_trace; ovs_vsctl del-port gre1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:198"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:199: ovs_wait_cond () { test \`wc -l < actions\` -ge 29
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-monitor-ipsec.at:199"
( $at_check_trace; ovs_wait_cond () { test `wc -l < actions` -ge 29
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:199"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:200: sed '1,21d' actions"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:200"
( $at_check_trace; sed '1,21d' actions
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "racoon: reload
setkey:
> spddelete 0.0.0.0/0 2.3.4.5 gre -P out;
> spddelete 2.3.4.5 0.0.0.0/0 gre -P in;
setkey:
> dump ;
setkey:
> dump ;
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:200"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:210: trim etc/racoon/psk.txt"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:210"
( $at_check_trace; trim etc/racoon/psk.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:210"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:211: trim etc/racoon/racoon.conf"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:211"
( $at_check_trace; trim etc/racoon/racoon.conf
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "path pre_shared_key \"/etc/racoon/psk.txt\";
path certificate \"/etc/racoon/certs\";
sainfo anonymous {
        pfs_group 2;
        lifetime time 1 hour;
        encryption_algorithm aes;
        authentication_algorithm hmac_sha1, hmac_md5;
        compression_algorithm deflate;
}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:211"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:222: test ! -f etc/racoon/certs/ovs-2.3.4.5.pem"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:222"
( $at_check_trace; test ! -f etc/racoon/certs/ovs-2.3.4.5.pem
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:222"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }


###
### Add an SSL certificate interface.
###
cp cert.pem ssl-cert.pem
cp key.pem ssl-key.pem
cat >ssl-cacert.pem <<'_ATEOF'
-----BEGIN CERTIFICATE-----
(not a real CA certificate)
-----END CERTIFICATE-----
_ATEOF

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:234: ovs_vsctl set-ssl /ssl-key.pem /ssl-cert.pem /ssl-cacert.pem \\
              -- add-port br0 gre2 \\
              -- set Interface gre2 type=ipsec_gre \\
                 options:remote_ip=3.4.5.6 \\
                 options:peer_cert='\"-----BEGIN CERTIFICATE-----
(not a real peer certificate)
-----END CERTIFICATE-----
\"' \\
                 options:use_ssl_cert='\"true\"'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-monitor-ipsec.at:234"
( $at_check_trace; ovs_vsctl set-ssl /ssl-key.pem /ssl-cert.pem /ssl-cacert.pem \
              -- add-port br0 gre2 \
              -- set Interface gre2 type=ipsec_gre \
                 options:remote_ip=3.4.5.6 \
                 options:peer_cert='"-----BEGIN CERTIFICATE-----
(not a real peer certificate)
-----END CERTIFICATE-----
"' \
                 options:use_ssl_cert='"true"'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:234"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:243: ovs_wait_cond () { test \`wc -l < actions\` -ge 33
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-monitor-ipsec.at:243"
( $at_check_trace; ovs_wait_cond () { test `wc -l < actions` -ge 33
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:243"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:244: sed '1,29d' actions"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:244"
( $at_check_trace; sed '1,29d' actions
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "racoon: reload
setkey:
> spdadd 0.0.0.0/0 3.4.5.6 gre -P out ipsec esp/transport//require;
> spdadd 3.4.5.6 0.0.0.0/0 gre -P in ipsec esp/transport//require;
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:244"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:250: trim etc/racoon/psk.txt"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:250"
( $at_check_trace; trim etc/racoon/psk.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:250"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:251: trim etc/racoon/racoon.conf"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:251"
( $at_check_trace; trim etc/racoon/racoon.conf
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "path pre_shared_key \"/etc/racoon/psk.txt\";
path certificate \"/etc/racoon/certs\";
remote 3.4.5.6 {
        exchange_mode main;
        nat_traversal on;
        ike_frag on;
        certificate_type x509 \"/ssl-cert.pem\" \"/ssl-key.pem\";
        my_identifier asn1dn;
        peers_identifier asn1dn;
        peers_certfile x509 \"/etc/racoon/certs/ovs-3.4.5.6.pem\";
        verify_identifier on;
        proposal {
                encryption_algorithm aes;
                hash_algorithm sha1;
                authentication_method rsasig;
                dh_group 2;
        }
}
sainfo anonymous {
        pfs_group 2;
        lifetime time 1 hour;
        encryption_algorithm aes;
        authentication_algorithm hmac_sha1, hmac_md5;
        compression_algorithm deflate;
}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:251"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:278: cat etc/racoon/certs/ovs-3.4.5.6.pem"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:278"
( $at_check_trace; cat etc/racoon/certs/ovs-3.4.5.6.pem
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "-----BEGIN CERTIFICATE-----
(not a real peer certificate)
-----END CERTIFICATE-----
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:278"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }


###
### Delete the SSL certificate interface.
###
{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:287: ovs_vsctl del-port gre2"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:287"
( $at_check_trace; ovs_vsctl del-port gre2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:287"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:288: ovs_wait_cond () { test \`wc -l < actions\` -ge 41
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-monitor-ipsec.at:288"
( $at_check_trace; ovs_wait_cond () { test `wc -l < actions` -ge 41
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:288"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:289: sed '1,33d' actions"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:289"
( $at_check_trace; sed '1,33d' actions
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "racoon: reload
setkey:
> spddelete 0.0.0.0/0 3.4.5.6 gre -P out;
> spddelete 3.4.5.6 0.0.0.0/0 gre -P in;
setkey:
> dump ;
setkey:
> dump ;
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:289"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:299: trim etc/racoon/psk.txt"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:299"
( $at_check_trace; trim etc/racoon/psk.txt
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:299"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:300: trim etc/racoon/racoon.conf"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:300"
( $at_check_trace; trim etc/racoon/racoon.conf
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "path pre_shared_key \"/etc/racoon/psk.txt\";
path certificate \"/etc/racoon/certs\";
sainfo anonymous {
        pfs_group 2;
        lifetime time 1 hour;
        encryption_algorithm aes;
        authentication_algorithm hmac_sha1, hmac_md5;
        compression_algorithm deflate;
}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:300"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:311: test ! -f etc/racoon/certs/ovs-3.4.5.6.pem"
at_fn_check_prepare_trace "ovs-monitor-ipsec.at:311"
( $at_check_trace; test ! -f etc/racoon/certs/ovs-3.4.5.6.pem
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:311"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }


cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:313: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-monitor-ipsec.at:313"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:313"
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-monitor-ipsec.at:313: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-monitor-ipsec.at:313"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-monitor-ipsec.at:313"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure  \
"log" \
"actions"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1309
#AT_START_1310
at_fn_group_banner 1310 'ovs-xapi-sync.at:3' \
  "ovs-xapi-sync" "                                  " 86
at_xfail=no
(
  $as_echo "1310. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "ovs-xapi-sync.at:4" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/ovs-xapi-sync.at:4"

# Mock up the XenAPI.
cp "$top_srcdir/tests/MockXenAPI.py" XenAPI.py
PYTHONPATH=`pwd`:$PYTHONPATH
export PYTHONPATH

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
OVS_DBDIR=`pwd`; export OVS_DBDIR
OVS_PKGDATADIR=`pwd`; export OVS_PKGDATADIR
cp "$top_srcdir/vswitchd/vswitch.ovsschema" .

cp "$top_srcdir/xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync" \
   ovs-xapi-sync

trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat pid ovs-xapi-sync.pid`
EOF


mkdir var var/run
touch var/run/xapi_init_complete.cookie

ovs_vsctl () {
    ovs-vsctl --no-wait -vreconnect:emer --db=unix:socket "$@"
}

# Start ovsdb-server.
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
   { set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:29: ovsdb-tool create db \$abs_top_srcdir/vswitchd/vswitch.ovsschema"
at_fn_check_prepare_dynamic "ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema" "ovs-xapi-sync.at:29"
( $at_check_trace; ovsdb-tool create db $abs_top_srcdir/vswitchd/vswitch.ovsschema
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; tee stdout <"$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:29"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:29: ovsdb-tool transact db \\
        '[\"Open_vSwitch\",
          {\"op\": \"insert\",
           \"table\": \"Open_vSwitch\",
           \"row\": {}}]'"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-xapi-sync.at:29"
( $at_check_trace; ovsdb-tool transact db \
        '["Open_vSwitch",
          {"op": "insert",
           "table": "Open_vSwitch",
           "row": {}}]'
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:29"
$at_failed && at_fn_log_failure
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:29: ovsdb-server --detach --no-chdir --pidfile=\"\`pwd\`\"/pid --remote=punix:socket --unixctl=\"\`pwd\`\"/unixctl db >/dev/null 2>&1"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-xapi-sync.at:29"
( $at_check_trace; ovsdb-server --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl db >/dev/null 2>&1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:29"
$at_failed && at_fn_log_failure
$at_traceon; }


# Start ovs-xapi-sync.
{ set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:32: \$PYTHON ./ovs-xapi-sync \"--pidfile=\`pwd\`/ovs-xapi-sync.pid\" \\
                  \"--root-prefix=\`pwd\`\" unix:socket >log 2>&1 &"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-xapi-sync.at:32"
( $at_check_trace; $PYTHON ./ovs-xapi-sync "--pidfile=`pwd`/ovs-xapi-sync.pid" \
                  "--root-prefix=`pwd`" unix:socket >log 2>&1 &
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:32"
$at_failed && at_fn_log_failure
$at_traceon; }



# Add bridges and check ovs-xapi-sync's work.
{ set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:37: ovs_vsctl -- add-br xenbr0 -- add-br xenbr1"
at_fn_check_prepare_trace "ovs-xapi-sync.at:37"
( $at_check_trace; ovs_vsctl -- add-br xenbr0 -- add-br xenbr1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:37"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:38: ovs_wait_cond () { test \"X\`ovs_vsctl get bridge xenbr0 fail-mode\`\" != \"X[]\"
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-xapi-sync.at:38"
( $at_check_trace; ovs_wait_cond () { test "X`ovs_vsctl get bridge xenbr0 fail-mode`" != "X[]"
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:38"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:39: ovs_vsctl \\
                -- get bridge xenbr0 fail-mode other-config external-ids \\
                -- get bridge xenbr1 fail-mode other-config external-ids"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-xapi-sync.at:39"
( $at_check_trace; ovs_vsctl \
                -- get bridge xenbr0 fail-mode other-config external-ids \
                -- get bridge xenbr1 fail-mode other-config external-ids
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "secure
{}
{bridge-id=\"custom bridge ID\"}
secure
{disable-in-band=\"true\"}
{}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:39"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }


# Add vif and check daemon's work.
{ set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:51: ovs_vsctl \\
                -- add-port xenbr0 vif1.0 \\
                -- set Interface vif1.0 'external-ids={attached-mac=\"00:11:22:33:44:55\", xs-network-uuid=\"9b66c68b-a74e-4d34-89a5-20a8ab352d1e\", xs-vif-uuid=\"6ab1b260-398e-49ba-827b-c7696108964c\", xs-vm-uuid=\"fcb8a3f6-dc04-41d2-8b8a-55afd2b755b8\"'}"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-xapi-sync.at:51"
( $at_check_trace; ovs_vsctl \
                -- add-port xenbr0 vif1.0 \
                -- set Interface vif1.0 'external-ids={attached-mac="00:11:22:33:44:55", xs-network-uuid="9b66c68b-a74e-4d34-89a5-20a8ab352d1e", xs-vif-uuid="6ab1b260-398e-49ba-827b-c7696108964c", xs-vm-uuid="fcb8a3f6-dc04-41d2-8b8a-55afd2b755b8"'}
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:51"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:54: ovs_wait_cond () { ovs_vsctl get interface vif1.0 external-ids:iface-id >/dev/null 2>&1
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-xapi-sync.at:54"
( $at_check_trace; ovs_wait_cond () { ovs_vsctl get interface vif1.0 external-ids:iface-id >/dev/null 2>&1
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:54"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:55: ovs_vsctl get interface vif1.0 external-ids"
at_fn_check_prepare_trace "ovs-xapi-sync.at:55"
( $at_check_trace; ovs_vsctl get interface vif1.0 external-ids
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{attached-mac=\"00:11:22:33:44:55\", iface-id=\"custom iface ID\", iface-status=active, vm-id=\"custom vm ID\", xs-network-uuid=\"9b66c68b-a74e-4d34-89a5-20a8ab352d1e\", xs-vif-uuid=\"6ab1b260-398e-49ba-827b-c7696108964c\", xs-vm-uuid=\"fcb8a3f6-dc04-41d2-8b8a-55afd2b755b8\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:55"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }


# Add corresponding tap and check daemon's work.
{ set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:60: ovs_vsctl add-port xenbr0 tap1.0"
at_fn_check_prepare_trace "ovs-xapi-sync.at:60"
( $at_check_trace; ovs_vsctl add-port xenbr0 tap1.0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:60"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:61: ovs_wait_cond () { ovs_vsctl get interface tap1.0 external-ids:iface-id >/dev/null 2>&1
}
ovs_wait"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-xapi-sync.at:61"
( $at_check_trace; ovs_wait_cond () { ovs_vsctl get interface tap1.0 external-ids:iface-id >/dev/null 2>&1
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:61"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:62: ovs_vsctl \\
                -- get interface vif1.0 external-ids \\
                -- get interface tap1.0 external-ids"
at_fn_check_prepare_notrace 'an embedded newline' "ovs-xapi-sync.at:62"
( $at_check_trace; ovs_vsctl \
                -- get interface vif1.0 external-ids \
                -- get interface tap1.0 external-ids
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{attached-mac=\"00:11:22:33:44:55\", iface-id=\"custom iface ID\", iface-status=inactive, vm-id=\"custom vm ID\", xs-network-uuid=\"9b66c68b-a74e-4d34-89a5-20a8ab352d1e\", xs-vif-uuid=\"6ab1b260-398e-49ba-827b-c7696108964c\", xs-vm-uuid=\"fcb8a3f6-dc04-41d2-8b8a-55afd2b755b8\"}
{attached-mac=\"00:11:22:33:44:55\", iface-id=\"custom iface ID\", iface-status=active, vm-id=\"custom vm ID\", xs-network-uuid=\"9b66c68b-a74e-4d34-89a5-20a8ab352d1e\", xs-vif-uuid=\"6ab1b260-398e-49ba-827b-c7696108964c\", xs-vm-uuid=\"fcb8a3f6-dc04-41d2-8b8a-55afd2b755b8\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:62"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }


# Remove corresponding tap and check daemon's work.
{ set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:70: ovs_vsctl del-port tap1.0"
at_fn_check_prepare_trace "ovs-xapi-sync.at:70"
( $at_check_trace; ovs_vsctl del-port tap1.0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:70"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:71: ovs_wait_cond () { test \`ovs_vsctl get interface vif1.0 external-ids:iface-status\` = active
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-xapi-sync.at:71"
( $at_check_trace; ovs_wait_cond () { test `ovs_vsctl get interface vif1.0 external-ids:iface-status` = active
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:71"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:72: ovs_vsctl get interface vif1.0 external-ids"
at_fn_check_prepare_trace "ovs-xapi-sync.at:72"
( $at_check_trace; ovs_vsctl get interface vif1.0 external-ids
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "{attached-mac=\"00:11:22:33:44:55\", iface-id=\"custom iface ID\", iface-status=active, vm-id=\"custom vm ID\", xs-network-uuid=\"9b66c68b-a74e-4d34-89a5-20a8ab352d1e\", xs-vif-uuid=\"6ab1b260-398e-49ba-827b-c7696108964c\", xs-vm-uuid=\"fcb8a3f6-dc04-41d2-8b8a-55afd2b755b8\"}
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:72"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }


cp pid savepid
   { set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:76: ovs-appctl -t \"\`pwd\`\"/unixctl -e exit"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-xapi-sync.at:76"
( $at_check_trace; ovs-appctl -t "`pwd`"/unixctl -e exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:76"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }

   { set +x
$as_echo "$at_srcdir/ovs-xapi-sync.at:76: ovs_wait_cond () { if kill -0 \`cat savepid\`; then return 1; else return 0; fi
}
ovs_wait"
at_fn_check_prepare_notrace 'a `...` command substitution' "ovs-xapi-sync.at:76"
( $at_check_trace; ovs_wait_cond () { if kill -0 `cat savepid`; then return 1; else return 0; fi
}
ovs_wait
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; cat "$at_stderr"
echo stdout:; cat "$at_stdout"
at_fn_check_status 0 $at_status "$at_srcdir/ovs-xapi-sync.at:76"
if $at_failed; then :
  kill `cat savepid`
fi
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1310
#AT_START_1311
at_fn_group_banner 1311 'interface-reconfigure.at:697' \
  "non-VLAN, non-bond" "                             " 87
at_xfail=no
(
  $as_echo "1311. $at_setup_line: testing $at_desc ..."
  $at_traceon


ifr_setup

{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:701: ifr_run --force xenbr2 up"
at_fn_check_prepare_trace "interface-reconfigure.at:701"
( $at_check_trace; ifr_run --force xenbr2 up
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:701"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:702: ifr_filter"
at_fn_check_prepare_trace "interface-reconfigure.at:702"
( $at_check_trace; ifr_filter
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Force interface xenbr2 up
Loading xapi database cache from /var/xapi/network.dbcache
Configured for Vswitch datapath
action_up: xenbr2
Writing network configuration for xenbr2
Configuring xenbr2 using DHCP configuration
configure_datapath: bridge      - xenbr2
configure_datapath: physical    - [u'eth2']
configure_datapath: extra ports - []
configure_datapath: extra bonds - []
/usr/bin/ovs-vsctl -vconsole:off get-fail-mode xenbr2
Applying changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration
Applying changes to /etc/sysconfig/network configuration
Applying changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration
/sbin/ifconfig eth2 up mtu 1500
/sbin/ethtool -K eth2 gro off lro off
/usr/sbin/ovs-vlan-bug-workaround eth2 on
/usr/bin/ovs-vsctl --timeout=20
    --with-iface --if-exists del-port eth2
    --may-exist add-br xenbr2
    --may-exist add-port xenbr2 eth2
    set Bridge xenbr2 other-config:hwaddr=\"00:15:17:a0:29:80\"
    set Bridge xenbr2 fail_mode=secure
    remove Bridge xenbr2 other_config disable-in-band
    br-set-external-id xenbr2 xs-network-uuids d08c8749-0c8f-9e8d-ce25-fd364661ee99
/usr/bin/ovs-vsctl -vconsole:off get interface eth2 ofport
/usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=5,arp,nw_proto=1,actions=local
/usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=local,arp,dl_src=00:15:17:a0:29:80,actions=5
/usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=5,dl_dst=00:15:17:a0:29:80,actions=local
/usr/bin/ovs-ofctl add-flow xenbr2 idle_timeout=0,priority=0,in_port=local,dl_src=00:15:17:a0:29:80,actions=5
/sbin/ifup xenbr2
/sbin/update-issue
Committing changes to /etc/sysconfig/network-scripts/route-xenbr2 configuration
Committing changes to /etc/sysconfig/network configuration
Committing changes to /etc/sysconfig/network-scripts/ifcfg-xenbr2 configuration
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:702"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:739: cat etc/sysconfig/network-scripts/ifcfg-xenbr2"
at_fn_check_prepare_trace "interface-reconfigure.at:739"
( $at_check_trace; cat etc/sysconfig/network-scripts/ifcfg-xenbr2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# DO NOT EDIT: This file (ifcfg-xenbr2) was autogenerated by interface-reconfigure
XEMANAGED=yes
DEVICE=xenbr2
ONBOOT=no
NOZEROCONF=yes
TYPE=Ethernet
BOOTPROTO=dhcp
PERSISTENT_DHCLIENT=yes
MTU=1500
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:739"
$at_failed && at_fn_log_failure
$at_traceon; }


# Simulate interface-reconfigure creating xenbr2, so that we can tell
# interface-reconfigure to take it back down.
{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:753: configure_netdev xenbr2 00:15:17:a0:29:80 0"
at_fn_check_prepare_trace "interface-reconfigure.at:753"
( $at_check_trace; configure_netdev xenbr2 00:15:17:a0:29:80 0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:753"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:755: ifr_run --force xenbr2 down"
at_fn_check_prepare_trace "interface-reconfigure.at:755"
( $at_check_trace; ifr_run --force xenbr2 down
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:755"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:756: ifr_filter"
at_fn_check_prepare_trace "interface-reconfigure.at:756"
( $at_check_trace; ifr_filter
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Force interface xenbr2 down
Loading xapi database cache from /var/xapi/network.dbcache
Configured for Vswitch datapath
action_down: xenbr2
/sbin/ifdown xenbr2
deconfigure ipdev xenbr2 on xenbr2
deconfigure_bridge: bridge           - xenbr2
action_down: bring down physical devices - [u'eth2']
/sbin/ifconfig eth2 down
/usr/bin/ovs-vsctl --timeout=20
    --with-iface --if-exists del-port xenbr2
    --if-exists del-br xenbr2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:756"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1311
#AT_START_1312
at_fn_group_banner 1312 'interface-reconfigure.at:772' \
  "VLAN, non-bond" "                                 " 87
at_xfail=no
(
  $as_echo "1312. $at_setup_line: testing $at_desc ..."
  $at_traceon


ifr_setup

{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:776: ifr_run --force xapi3 up"
at_fn_check_prepare_trace "interface-reconfigure.at:776"
( $at_check_trace; ifr_run --force xapi3 up
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:776"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:777: ifr_filter"
at_fn_check_prepare_trace "interface-reconfigure.at:777"
( $at_check_trace; ifr_filter
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Force interface xapi3 up
Loading xapi database cache from /var/xapi/network.dbcache
Configured for Vswitch datapath
action_up: xapi3
Writing network configuration for xapi3
Configuring xapi3 using None configuration
configure_datapath: bridge      - xenbr3
configure_datapath: physical    - [u'eth3']
configure_datapath: extra ports - []
configure_datapath: extra bonds - []
Applying changes to /etc/sysconfig/network-scripts/route-xapi3 configuration
Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration
/sbin/ifconfig eth3 up mtu 1500
/sbin/ethtool -K eth3 gro off lro off
/usr/sbin/ovs-vlan-bug-workaround eth3 on
/usr/bin/ovs-vsctl --timeout=20
    --with-iface --if-exists del-port eth3
    --may-exist add-br xenbr3
    --may-exist add-port xenbr3 eth3
    set Bridge xenbr3 other-config:hwaddr=\"00:15:17:a0:29:81\"
    set Bridge xenbr3 fail_mode=secure
    remove Bridge xenbr3 other_config disable-in-band
    br-set-external-id xenbr3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6
    --if-exists del-br xapi3
    --may-exist add-br xapi3 xenbr3 123
    br-set-external-id xapi3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6
    set Interface xapi3 MAC=\"00:15:17:a0:29:81\"
/sbin/ifup xapi3
/sbin/update-issue
Committing changes to /etc/sysconfig/network-scripts/route-xapi3 configuration
Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:777"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:810: cat etc/sysconfig/network-scripts/ifcfg-xapi3"
at_fn_check_prepare_trace "interface-reconfigure.at:810"
( $at_check_trace; cat etc/sysconfig/network-scripts/ifcfg-xapi3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# DO NOT EDIT: This file (ifcfg-xapi3) was autogenerated by interface-reconfigure
XEMANAGED=yes
DEVICE=xapi3
ONBOOT=no
NOZEROCONF=yes
TYPE=Ethernet
BOOTPROTO=none
MTU=1500
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:810"
$at_failed && at_fn_log_failure
$at_traceon; }


# Simulate interface-reconfigure creating xapi3, so that we can tell
# interface-reconfigure to take it back down.
{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:823: configure_netdev xapi3 00:23:20:AC:AF:02 0"
at_fn_check_prepare_trace "interface-reconfigure.at:823"
( $at_check_trace; configure_netdev xapi3 00:23:20:AC:AF:02 0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:823"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:825: ifr_run --force xapi3 down"
at_fn_check_prepare_trace "interface-reconfigure.at:825"
( $at_check_trace; ifr_run --force xapi3 down
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:825"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:826: ifr_filter"
at_fn_check_prepare_trace "interface-reconfigure.at:826"
( $at_check_trace; ifr_filter
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Force interface xapi3 down
Loading xapi database cache from /var/xapi/network.dbcache
Configured for Vswitch datapath
action_down: xapi3
/sbin/ifdown xapi3
deconfigure ipdev xapi3 on xenbr3
deconfigure_bridge: bridge           - xapi3
action_down: no more masters, bring down slave xenbr3
deconfigure_bridge: bridge           - xenbr3
action_down: bring down physical devices - [u'eth3']
/sbin/ifconfig eth3 down
/usr/bin/ovs-vsctl --timeout=20
    --with-iface --if-exists del-port xapi3
    --if-exists del-br xapi3
    --if-exists del-br xenbr3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:826"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1312
#AT_START_1313
at_fn_group_banner 1313 'interface-reconfigure.at:845' \
  "Bond, non-VLAN" "                                 " 87
at_xfail=no
(
  $as_echo "1313. $at_setup_line: testing $at_desc ..."
  $at_traceon


ifr_setup

# Pretend that bond0 exists, even though it would really be created by
# a "create-bond" call in an ovs-vsctl invocation within
# interface-reconfigure, because otherwise interface-reconfigure will
# die with "failed to apply changes: netdev: up: device bond0 does not
# exist" after it thinks it created bond0.
{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:854: configure_netdev bond0 00:23:20:e6:39:75 0"
at_fn_check_prepare_trace "interface-reconfigure.at:854"
( $at_check_trace; configure_netdev bond0 00:23:20:e6:39:75 0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:854"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:856: ifr_run --force xapi1 up"
at_fn_check_prepare_trace "interface-reconfigure.at:856"
( $at_check_trace; ifr_run --force xapi1 up
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:856"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:857: ifr_filter"
at_fn_check_prepare_trace "interface-reconfigure.at:857"
( $at_check_trace; ifr_filter
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Force interface xapi1 up
Loading xapi database cache from /var/xapi/network.dbcache
Configured for Vswitch datapath
action_up: xapi1
Writing network configuration for xapi1
Configuring xapi1 using None configuration
configure_datapath: leaving bond bond0 up
configure_datapath: leaving bond bond0 up
configure_datapath: bridge      - xapi1
configure_datapath: physical    - [u'eth0', u'eth1']
configure_datapath: extra ports - []
configure_datapath: extra bonds - []
netdev: down: device xenbr0 does not exist, ignoring
netdev: down: device xenbr1 does not exist, ignoring
Applying changes to /etc/sysconfig/network-scripts/route-xapi1 configuration
Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
/sbin/ifconfig eth0 up mtu 1500
/sbin/ethtool -K eth0 gro off lro off
/usr/sbin/ovs-vlan-bug-workaround eth0 on
/sbin/ifconfig eth1 up mtu 1500
/sbin/ethtool -K eth1 gro off lro off
/usr/sbin/ovs-vlan-bug-workaround eth1 off
/usr/bin/ovs-vsctl --timeout=20
    --if-exists del-br xenbr0
    --if-exists del-br xenbr1
    --with-iface --if-exists del-port eth0
    --with-iface --if-exists del-port eth1
    --may-exist add-br xapi1
    --with-iface --if-exists del-port bond0
    --fake-iface add-bond xapi1 bond0 eth0 eth1
    set Port bond0 MAC=\"00:22:19:22:4b:af\" other-config:bond-miimon-interval=100 bond_downdelay=200 bond_updelay=31000 other-config:bond-detect-mode=carrier lacp=off bond_mode=balance-slb
    set Bridge xapi1 other-config:hwaddr=\"00:22:19:22:4b:af\"
    set Bridge xapi1 fail_mode=secure
    remove Bridge xapi1 other_config disable-in-band
    br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
/sbin/ifup xapi1
action_up: bring up bond0
/sbin/ifconfig bond0 up
/sbin/update-issue
Committing changes to /etc/sysconfig/network-scripts/route-xapi1 configuration
Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi1 configuration
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:857"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:900: cat etc/sysconfig/network-scripts/ifcfg-xapi1"
at_fn_check_prepare_trace "interface-reconfigure.at:900"
( $at_check_trace; cat etc/sysconfig/network-scripts/ifcfg-xapi1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# DO NOT EDIT: This file (ifcfg-xapi1) was autogenerated by interface-reconfigure
XEMANAGED=yes
DEVICE=xapi1
ONBOOT=no
NOZEROCONF=yes
TYPE=Ethernet
BOOTPROTO=none
MTU=1500
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:900"
$at_failed && at_fn_log_failure
$at_traceon; }


# Simulate interface-reconfigure creating xapi1, so that we can tell
# interface-reconfigure to take it back down.
{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:913: configure_netdev xapi1 00:22:19:22:4B:AF 0"
at_fn_check_prepare_trace "interface-reconfigure.at:913"
( $at_check_trace; configure_netdev xapi1 00:22:19:22:4B:AF 0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:913"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:915: ifr_run --force xapi1 down"
at_fn_check_prepare_trace "interface-reconfigure.at:915"
( $at_check_trace; ifr_run --force xapi1 down
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:915"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:916: ifr_filter"
at_fn_check_prepare_trace "interface-reconfigure.at:916"
( $at_check_trace; ifr_filter
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Force interface xapi1 down
Loading xapi database cache from /var/xapi/network.dbcache
Configured for Vswitch datapath
action_down: xapi1
/sbin/ifdown xapi1
deconfigure ipdev xapi1 on xapi1
deconfigure_bridge: bridge           - xapi1
action_down: bring down physical devices - [u'eth0', u'eth1']
/sbin/ifconfig eth0 down
/sbin/ifconfig eth1 down
/usr/bin/ovs-vsctl --timeout=20
    --with-iface --if-exists del-port xapi1
    --if-exists del-br xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:916"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1313
#AT_START_1314
at_fn_group_banner 1314 'interface-reconfigure.at:933' \
  "VLAN on bond" "                                   " 87
at_xfail=no
(
  $as_echo "1314. $at_setup_line: testing $at_desc ..."
  $at_traceon


ifr_setup

# Pretend that bond0 exists, even though it would really be created by
# a "create-bond" call in an ovs-vsctl invocation within
# interface-reconfigure, because otherwise interface-reconfigure will
# die with "failed to apply changes: netdev: up: device bond0 does not
# exist" after it thinks it created bond0.
{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:942: configure_netdev bond0 00:23:20:e6:39:75 0"
at_fn_check_prepare_trace "interface-reconfigure.at:942"
( $at_check_trace; configure_netdev bond0 00:23:20:e6:39:75 0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:942"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:944: ifr_run --force xapi2 up"
at_fn_check_prepare_trace "interface-reconfigure.at:944"
( $at_check_trace; ifr_run --force xapi2 up
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:944"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:945: ifr_filter"
at_fn_check_prepare_trace "interface-reconfigure.at:945"
( $at_check_trace; ifr_filter
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Force interface xapi2 up
Loading xapi database cache from /var/xapi/network.dbcache
Configured for Vswitch datapath
action_up: xapi2
Writing network configuration for xapi2
Configuring xapi2 using None configuration
configure_datapath: leaving bond bond0 up
configure_datapath: leaving bond bond0 up
configure_datapath: bridge      - xapi1
configure_datapath: physical    - [u'eth0', u'eth1']
configure_datapath: extra ports - []
configure_datapath: extra bonds - []
netdev: down: device xenbr0 does not exist, ignoring
netdev: down: device xenbr1 does not exist, ignoring
Applying changes to /etc/sysconfig/network-scripts/route-xapi2 configuration
Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
/sbin/ifconfig eth0 up mtu 1500
/sbin/ethtool -K eth0 gro off lro off
/usr/sbin/ovs-vlan-bug-workaround eth0 on
/sbin/ifconfig eth1 up mtu 1500
/sbin/ethtool -K eth1 gro off lro off
/usr/sbin/ovs-vlan-bug-workaround eth1 off
/usr/bin/ovs-vsctl --timeout=20
    --if-exists del-br xenbr0
    --if-exists del-br xenbr1
    --with-iface --if-exists del-port eth0
    --with-iface --if-exists del-port eth1
    --may-exist add-br xapi1
    --with-iface --if-exists del-port bond0
    --fake-iface add-bond xapi1 bond0 eth0 eth1
    set Port bond0 MAC=\"00:22:19:22:4b:af\" other-config:bond-miimon-interval=100 bond_downdelay=200 bond_updelay=31000 other-config:bond-detect-mode=carrier lacp=off bond_mode=balance-slb
    set Bridge xapi1 other-config:hwaddr=\"00:22:19:22:4b:af\"
    set Bridge xapi1 fail_mode=secure
    remove Bridge xapi1 other_config disable-in-band
    br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
    --if-exists del-br xapi2
    --may-exist add-br xapi2 xapi1 4
    br-set-external-id xapi2 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
    set Interface xapi2 MAC=\"00:22:19:22:4b:af\"
/sbin/ifup xapi2
action_up: bring up bond0
/sbin/ifconfig bond0 up
/sbin/update-issue
Committing changes to /etc/sysconfig/network-scripts/route-xapi2 configuration
Committing changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:945"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:992: cat etc/sysconfig/network-scripts/ifcfg-xapi2"
at_fn_check_prepare_trace "interface-reconfigure.at:992"
( $at_check_trace; cat etc/sysconfig/network-scripts/ifcfg-xapi2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "# DO NOT EDIT: This file (ifcfg-xapi2) was autogenerated by interface-reconfigure
XEMANAGED=yes
DEVICE=xapi2
ONBOOT=no
NOZEROCONF=yes
TYPE=Ethernet
BOOTPROTO=none
MTU=1500
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:992"
$at_failed && at_fn_log_failure
$at_traceon; }


# Simulate interface-reconfigure creating xapi2, so that we can tell
# interface-reconfigure to take it back down.
{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:1005: configure_netdev xapi2 00:23:20:A4:71:C2 0"
at_fn_check_prepare_trace "interface-reconfigure.at:1005"
( $at_check_trace; configure_netdev xapi2 00:23:20:A4:71:C2 0
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:1005"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:1007: ifr_run --force xapi2 down"
at_fn_check_prepare_trace "interface-reconfigure.at:1007"
( $at_check_trace; ifr_run --force xapi2 down
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo stderr:; tee stderr <"$at_stderr"
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:1007"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/interface-reconfigure.at:1008: ifr_filter"
at_fn_check_prepare_trace "interface-reconfigure.at:1008"
( $at_check_trace; ifr_filter
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Force interface xapi2 down
Loading xapi database cache from /var/xapi/network.dbcache
Configured for Vswitch datapath
action_down: xapi2
/sbin/ifdown xapi2
deconfigure ipdev xapi2 on xapi1
deconfigure_bridge: bridge           - xapi2
action_down: no more masters, bring down slave xapi1
deconfigure_bridge: bridge           - xapi1
action_down: bring down physical devices - [u'eth0', u'eth1']
/sbin/ifconfig eth0 down
/sbin/ifconfig eth1 down
/usr/bin/ovs-vsctl --timeout=20
    --with-iface --if-exists del-port xapi2
    --if-exists del-br xapi2
    --if-exists del-br xapi1
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/interface-reconfigure.at:1008"
$at_failed && at_fn_log_failure
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1314
#AT_START_1315
at_fn_group_banner 1315 'stp.at:3' \
  "STP example from IEEE 802.1D-1998" "              " 88
at_xfail=no
(
  $as_echo "1315. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-stp-ieee802.1d-1998 <<'_ATEOF'
bridge 0 0x42 = a b
bridge 1 0x97 = c:5 a d:5
bridge 2 0x45 = b e
bridge 3 0x57 = b:5 e:5
bridge 4 0x83 = a:5 e:5
run 1000
check 0 = root
check 1 = F F:10 F
check 2 = F:10 B
check 3 = F:5 F
check 4 = F:5 B
_ATEOF

{ set +x
$as_echo "$at_srcdir/stp.at:18: test-stp test-stp-ieee802.1d-1998"
at_fn_check_prepare_trace "stp.at:18"
( $at_check_trace; test-stp test-stp-ieee802.1d-1998
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "stp|INFO|stp42: detected topology change.
stp|INFO|stp42: detected topology change.
stp|INFO|stp97: detected topology change.
stp|INFO|stp97: detected topology change.
stp|INFO|stp97: detected topology change.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/stp.at:18"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1315
#AT_START_1316
at_fn_group_banner 1316 'stp.at:27' \
  "STP example from IEEE 802.1D-2004 figures 17.4 and 17.5" "" 88
at_xfail=no
(
  $as_echo "1316. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-stp-ieee802.1d-2004-fig17.4 <<'_ATEOF'
bridge 0 0x111 = a b e c
bridge 1 0x222 = a b d f
bridge 2 0x333 = c d l j h g
bridge 3 0x444 = e f n m k i
bridge 4 0x555 = g i 0 0
bridge 5 0x666 = h k 0 0
bridge 6 0x777 = j m 0 0
bridge 7 0x888 = l n 0 0
run 1000
check 0 = root
check 1 = F:10 B F F
check 2 = F:10 B F F F F
check 3 = F:10 B F F F F
check 4 = F:20 B F F
check 5 = F:20 B F F
check 6 = F:20 B F F
check 7 = F:20 B F F

# Now connect two ports of bridge 7 to the same LAN.
bridge 7 = l n o o
# Same results except for bridge 7:
run 1000
check 0 = root
check 1 = F:10 B F F
check 2 = F:10 B F F F F
check 3 = F:10 B F F F F
check 4 = F:20 B F F
check 5 = F:20 B F F
check 6 = F:20 B F F
check 7 = F:20 B F B
_ATEOF

{ set +x
$as_echo "$at_srcdir/stp.at:61: test-stp test-stp-ieee802.1d-2004-fig17.4"
at_fn_check_prepare_trace "stp.at:61"
( $at_check_trace; test-stp test-stp-ieee802.1d-2004-fig17.4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp222: detected topology change.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/stp.at:61"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1316
#AT_START_1317
at_fn_group_banner 1317 'stp.at:70' \
  "STP example from IEEE 802.1D-2004 figure 17.6" "  " 88
at_xfail=no
(
  $as_echo "1317. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-stp-ieee802.1d-2004-fig17.6 <<'_ATEOF'
bridge 0 0x111 = a b l
bridge 1 0x222 = b c d
bridge 2 0x333 = d e f
bridge 3 0x444 = f g h
bridge 4 0x555 = j h i
bridge 5 0x666 = l j k
run 1000
check 0 = root
check 1 = F:10 F F
check 2 = F:20 F F
check 3 = F:30 F B
check 4 = F:20 F F
check 5 = F:10 F F
_ATEOF

{ set +x
$as_echo "$at_srcdir/stp.at:87: test-stp test-stp-ieee802.1d-2004-fig17.6"
at_fn_check_prepare_trace "stp.at:87"
( $at_check_trace; test-stp test-stp-ieee802.1d-2004-fig17.6
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp222: detected topology change.
stp|INFO|stp222: detected topology change.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/stp.at:87"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1317
#AT_START_1318
at_fn_group_banner 1318 'stp.at:96' \
  "STP example from IEEE 802.1D-2004 figure 17.7" "  " 88
at_xfail=no
(
  $as_echo "1318. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-stp-ieee802.1d-2004-fig17.7 <<'_ATEOF'
bridge 0 0xaa = b
bridge 1 0x111 = a b d f h g e c
bridge 2 0x222 = g h j l n m k i
run 1000
check 0 = root
check 1 = F F:10 F F F F F F
check 2 = B F:20 F F F F F F

# This is not the port priority change described in that figure,
# but I don't understand what port priority change would cause
# that change.
bridge 2 = g X j l n m k i
run 1000
check 0 = root
check 1 = F F:10 F F F F F F
check 2 = F:20 D F F F F F F
_ATEOF

{ set +x
$as_echo "$at_srcdir/stp.at:116: test-stp test-stp-ieee802.1d-2004-fig17.7"
at_fn_check_prepare_trace "stp.at:116"
( $at_check_trace; test-stp test-stp-ieee802.1d-2004-fig17.7
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "stp|INFO|stpaa: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/stp.at:116"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1318
#AT_START_1319
at_fn_group_banner 1319 'stp.at:125' \
  "STP.io.1.1: Link Failure" "                       " 88
at_xfail=no
(
  $as_echo "1319. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-stp-iol-io-1.1 <<'_ATEOF'
# This test file approximates the following test from "Bridge
# Functions Consortium Spanning Tree Interoperability Test Suite
# Version 1.5":
#
# STP.io.1.1: Link Failure
bridge 0 0x111 = a b c
bridge 1 0x222 = a b c
run 1000
check 0 = root
check 1 = F:10 B B
bridge 1 = 0 _ _
run 1000
check 0 = root
check 1 = F F:10 B
bridge 1 = X _ _
run 1000
check 0 = root
check 1 = D F:10 B
bridge 1 = _ 0 _
run 1000
check 0 = root
check 1 = D F F:10
bridge 1 = _ X _
run 1000
check 0 = root
check 1 = D D F:10
_ATEOF

{ set +x
$as_echo "$at_srcdir/stp.at:155: test-stp test-stp-iol-io-1.1"
at_fn_check_prepare_trace "stp.at:155"
( $at_check_trace; test-stp test-stp-iol-io-1.1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp222: detected topology change.
stp|INFO|stp111: detected topology change.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/stp.at:155"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1319
#AT_START_1320
at_fn_group_banner 1320 'stp.at:164' \
  "STP.io.1.2: Repeated Network" "                   " 88
at_xfail=no
(
  $as_echo "1320. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-stp-iol-io-1.2 <<'_ATEOF'
# This test file approximates the following test from "Bridge
# Functions Consortium Spanning Tree Interoperability Test Suite
# Version 1.5":
# STP.io.1.2: Repeated Network
bridge 0 0x111 = a a
bridge 1 0x222 = a a
run 1000
check 0 = rootid:0x111 F B
check 1 = rootid:0x111 F:10 B
bridge 1 = a^0x90 _
run 1000
check 0 = rootid:0x111 F B
check 1 = rootid:0x111 B F:10
_ATEOF

{ set +x
$as_echo "$at_srcdir/stp.at:181: test-stp test-stp-iol-io-1.2"
at_fn_check_prepare_trace "stp.at:181"
( $at_check_trace; test-stp test-stp-iol-io-1.2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "stp|INFO|stp111: detected topology change.
stp|INFO|stp222: detected topology change.
stp|INFO|stp111: detected topology change.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/stp.at:181"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1320
#AT_START_1321
at_fn_group_banner 1321 'stp.at:188' \
  "STP.io.1.4: Network Initialization" "             " 88
at_xfail=no
(
  $as_echo "1321. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-stp-iol-io-1.4 <<'_ATEOF'
# This test file approximates the following test from "Bridge
# Functions Consortium Spanning Tree Interoperability Test Suite
# Version 1.5":
# STP.io.1.4: Network Initialization
bridge 0 0x111 = a b c
bridge 1 0x222 = b d e
bridge 2 0x333 = a d f
bridge 3 0x444 = c e f
run 1000
check 0 = root
check 1 = F:10 F F
check 2 = F:10 B F
check 3 = F:10 B B
_ATEOF

{ set +x
$as_echo "$at_srcdir/stp.at:205: test-stp test-stp-iol-io-1.4"
at_fn_check_prepare_trace "stp.at:205"
( $at_check_trace; test-stp test-stp-iol-io-1.4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp222: detected topology change.
stp|INFO|stp222: detected topology change.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/stp.at:205"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1321
#AT_START_1322
at_fn_group_banner 1322 'stp.at:214' \
  "STP.io.1.5: Topology Change" "                    " 88
at_xfail=no
(
  $as_echo "1322. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-stp-iol-io-1.5 <<'_ATEOF'
# This test file approximates the following test from "Bridge
# Functions Consortium Spanning Tree Interoperability Test Suite
# Version 1.5":
# STP.io.1.5: Topology Change
bridge 0 0x111 = a b d c
bridge 1 0x222 = a b f e
bridge 2 0x333 = c d g h
bridge 3 0x444 = e f g h
run 1000
check 0 = root
check 1 = F:10 B F F
check 2 = B F:10 F F
check 3 = B F:20 B B
bridge 1^0x7000
run 1000
check 0 = F:10 B F F
check 1 = root
check 2 = B F:20 B B
check 3 = B F:10 F F
bridge 2^0x6000
run 1000
check 0 = F F B F:10
check 1 = F:20 B B B
check 2 = root
check 3 = F F F:10 B
bridge 3^0x5000
run 1000
check 0 = B B B F:20
check 1 = F F B F:10
check 2 = F F F:10 B
check 3 = root
bridge 0^0x4000
bridge 1^0x4001
bridge 2^0x4002
bridge 3^0x4003
run 1000
check 0 = root
check 1 = F:10 B F F
check 2 = B F:10 F F
check 3 = B F:20 B B
_ATEOF

{ set +x
$as_echo "$at_srcdir/stp.at:258: test-stp test-stp-iol-io-1.5"
at_fn_check_prepare_trace "stp.at:258"
( $at_check_trace; test-stp test-stp-iol-io-1.5
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp222: detected topology change.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/stp.at:258"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1322
#AT_START_1323
at_fn_group_banner 1323 'stp.at:267' \
  "STP.op.1.1 and STP.op.1.2" "                      " 88
at_xfail=no
(
  $as_echo "1323. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-stp-iol-op-1.1 <<'_ATEOF'
# This test file approximates the following tests from "Bridge
# Functions Consortium Spanning Tree Protocol Operations Test Suite
# Version 2.3":
# Test STP.op.1.1: Root ID Initialized to Bridge ID
# Test STP.op.1.2: Root Path Cost Initialized to Zero
bridge 0 0x123 =
check 0 = root
_ATEOF

{ set +x
$as_echo "$at_srcdir/stp.at:278: test-stp test-stp-iol-op-1.1"
at_fn_check_prepare_trace "stp.at:278"
( $at_check_trace; test-stp test-stp-iol-op-1.1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/stp.at:278"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1323
#AT_START_1324
at_fn_group_banner 1324 'stp.at:281' \
  "STP.op.1.4: All Ports Initialized to Designated Ports" "" 88
at_xfail=no
(
  $as_echo "1324. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-stp-iol-op-1.4 <<'_ATEOF'
# This test file approximates the following test from "Bridge
# Functions Consortium Spanning Tree Protocol Operations Test Suite
# Version 2.3":
# Test STP.op.1.4: All Ports Initialized to Designated Ports
bridge 0 0x123 = a b c d e f
check 0 = Li Li Li Li Li Li
run 1000
check 0 = F F F F F F
_ATEOF

{ set +x
$as_echo "$at_srcdir/stp.at:293: test-stp test-stp-iol-op-1.4"
at_fn_check_prepare_trace "stp.at:293"
( $at_check_trace; test-stp test-stp-iol-op-1.4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "stp|INFO|stp123: detected topology change.
stp|INFO|stp123: detected topology change.
stp|INFO|stp123: detected topology change.
stp|INFO|stp123: detected topology change.
stp|INFO|stp123: detected topology change.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/stp.at:293"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1324
#AT_START_1325
at_fn_group_banner 1325 'stp.at:302' \
  "STP.op.3.1: Root Bridge Selection: Root ID Values" "" 88
at_xfail=no
(
  $as_echo "1325. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-stp-iol-op-3.1 <<'_ATEOF'
# This test file approximates the following test from "Bridge
# Functions Consortium Spanning Tree Protocol Operations Test Suite
# Version 2.3":
# Test STP.op.3.1: Root Bridge Selection: Root ID Values
bridge 0 0x111 = a
bridge 1 0x222 = a
check 0 = rootid:0x111 Li
check 1 = rootid:0x222 Li
run 1000
check 0 = rootid:0x111 root
check 1 = rootid:0x111 F:10
_ATEOF

{ set +x
$as_echo "$at_srcdir/stp.at:317: test-stp test-stp-iol-op-3.1"
at_fn_check_prepare_trace "stp.at:317"
( $at_check_trace; test-stp test-stp-iol-op-3.1
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "stp|INFO|stp111: detected topology change.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/stp.at:317"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1325
#AT_START_1326
at_fn_group_banner 1326 'stp.at:322' \
  "STP.op.3.3: Root Bridge Selection: Bridge ID Values" "" 88
at_xfail=no
(
  $as_echo "1326. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-stp-iol-op-3.3 <<'_ATEOF'
# This test file approximates the following test from "Bridge
# Functions Consortium Spanning Tree Protocol Operations Test Suite
# Version 2.3":
# Test STP.op.3.3: Root Bridge Selection: Bridge ID Values
bridge 0 0x333^0x6000 = a
bridge 1 0x222^0x7000 = b
bridge 2 0x111 = a b
run 1000
check 0 = rootid:0x333^0x6000 root
check 1 = rootid:0x333^0x6000 F:20
check 2 = rootid:0x333^0x6000 F:10 F
_ATEOF

{ set +x
$as_echo "$at_srcdir/stp.at:337: test-stp test-stp-iol-op-3.3"
at_fn_check_prepare_trace "stp.at:337"
( $at_check_trace; test-stp test-stp-iol-op-3.3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "stp|INFO|stp333: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp333: detected topology change.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/stp.at:337"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1326
#AT_START_1327
at_fn_group_banner 1327 'stp.at:345' \
  "STP.op.3.3: Root Bridge Selection: Bridge ID Values" "" 88
at_xfail=no
(
  $as_echo "1327. $at_setup_line: testing $at_desc ..."
  $at_traceon


cat >test-stp-iol-op-3.4 <<'_ATEOF'
# This test file approximates the following test from "Bridge
# Functions Consortium Spanning Tree Protocol Operations Test Suite
# Version 2.3":
# Test STP.op.3.3: Root Bridge Selection: Bridge ID Values
bridge 0 0x333^0x6000 = a
bridge 1 0x222^0x7000 = b
bridge 2 0x111 = a b
run 1000
check 0 = rootid:0x333^0x6000 root
check 1 = rootid:0x333^0x6000 F:20
check 2 = rootid:0x333^0x6000 F:10 F
_ATEOF

{ set +x
$as_echo "$at_srcdir/stp.at:360: test-stp test-stp-iol-op-3.4"
at_fn_check_prepare_trace "stp.at:360"
( $at_check_trace; test-stp test-stp-iol-op-3.4
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
echo >>"$at_stderr"; $as_echo "stp|INFO|stp333: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp111: detected topology change.
stp|INFO|stp333: detected topology change.
" | \
  $at_diff - "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/stp.at:360"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1327
#AT_START_1328
at_fn_group_banner 1328 'vlog.at:3' \
  "vlog - Python" "                                  " 89
at_xfail=no
(
  $as_echo "1328. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "vlog.at:4" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/vlog.at:4"


{ set +x
$as_echo "$at_srcdir/vlog.at:7: \$PYTHON \$srcdir/test-vlog.py --log-file log_file \\
-v dbg module_1:info module_2:warn syslog:off 2>stderr_log"
at_fn_check_prepare_notrace 'an embedded newline' "vlog.at:7"
( $at_check_trace; $PYTHON $srcdir/test-vlog.py --log-file log_file \
-v dbg module_1:info module_2:warn syslog:off 2>stderr_log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:7"
$at_failed && at_fn_log_failure  \
"log_file" \
"stderr_log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/vlog.at:10: diff log_file stderr_log"
at_fn_check_prepare_trace "vlog.at:10"
( $at_check_trace; diff log_file stderr_log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:10"
$at_failed && at_fn_log_failure  \
"log_file" \
"stderr_log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/vlog.at:12: sed -e 's/.*-.*-.*T..:..:..\\....Z|//' \\
-e 's/File \".*\", line [0-9][0-9]*,/File <name>, line <number>,/' \\
stderr_log"
at_fn_check_prepare_notrace 'an embedded newline' "vlog.at:12"
( $at_check_trace; sed -e 's/.*-.*-.*T..:..:..\....Z|//' \
-e 's/File ".*", line [0-9][0-9]*,/File <name>, line <number>,/' \
stderr_log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "0|module_0|EMER|emergency
1|module_0|ERR|error
2|module_0|WARN|warning
3|module_0|INFO|information
4|module_0|DBG|debug
5|module_0|EMER|emergency exception
Traceback (most recent call last):
  File <name>, line <number>, in main
    assert fail
AssertionError
6|module_0|ERR|error exception
Traceback (most recent call last):
  File <name>, line <number>, in main
    assert fail
AssertionError
7|module_0|WARN|warn exception
Traceback (most recent call last):
  File <name>, line <number>, in main
    assert fail
AssertionError
8|module_0|INFO|information exception
Traceback (most recent call last):
  File <name>, line <number>, in main
    assert fail
AssertionError
9|module_0|DBG|debug exception
Traceback (most recent call last):
  File <name>, line <number>, in main
    assert fail
AssertionError
10|module_0|ERR|exception
Traceback (most recent call last):
  File <name>, line <number>, in main
    assert fail
AssertionError
11|module_1|EMER|emergency
12|module_1|ERR|error
13|module_1|WARN|warning
14|module_1|INFO|information
16|module_1|EMER|emergency exception
Traceback (most recent call last):
  File <name>, line <number>, in main
    assert fail
AssertionError
17|module_1|ERR|error exception
Traceback (most recent call last):
  File <name>, line <number>, in main
    assert fail
AssertionError
18|module_1|WARN|warn exception
Traceback (most recent call last):
  File <name>, line <number>, in main
    assert fail
AssertionError
19|module_1|INFO|information exception
Traceback (most recent call last):
  File <name>, line <number>, in main
    assert fail
AssertionError
21|module_1|ERR|exception
Traceback (most recent call last):
  File <name>, line <number>, in main
    assert fail
AssertionError
22|module_2|EMER|emergency
23|module_2|ERR|error
24|module_2|WARN|warning
27|module_2|EMER|emergency exception
Traceback (most recent call last):
  File <name>, line <number>, in main
    assert fail
AssertionError
28|module_2|ERR|error exception
Traceback (most recent call last):
  File <name>, line <number>, in main
    assert fail
AssertionError
29|module_2|WARN|warn exception
Traceback (most recent call last):
  File <name>, line <number>, in main
    assert fail
AssertionError
32|module_2|ERR|exception
Traceback (most recent call last):
  File <name>, line <number>, in main
    assert fail
AssertionError
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:12"
$at_failed && at_fn_log_failure  \
"log_file" \
"stderr_log"
$at_traceon; }


  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1328
#AT_START_1329
at_fn_group_banner 1329 'vlog.at:106' \
  "vlog - vlog/reopen - Python" "                    " 89
at_xfail=no
(
  $as_echo "1329. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "vlog.at:107" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/vlog.at:107"
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
OVS_LOGDIR=`pwd`; export OVS_LOGDIR
OVS_DBDIR=`pwd`; export OVS_DBDIR
OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat test-unixctl.py.pid`
EOF




{ set +x
$as_echo "$at_srcdir/vlog.at:116: \$PYTHON \$srcdir/test-unixctl.py --log-file=\`pwd\`/log --pidfile --detach"
at_fn_check_prepare_notrace 'a `...` command substitution' "vlog.at:116"
( $at_check_trace; $PYTHON $srcdir/test-unixctl.py --log-file=`pwd`/log --pidfile --detach
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:116"
$at_failed && at_fn_log_failure  \
"log" \
"log.old"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/vlog.at:118: ovs-appctl --timeout 20 -t test-unixctl.py log message"
at_fn_check_prepare_trace "vlog.at:118"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py log message
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:118"
$at_failed && at_fn_log_failure  \
"log" \
"log.old"
$at_traceon; }

mv log log.old
{ set +x
$as_echo "$at_srcdir/vlog.at:120: ovs-appctl --timeout 20 -t test-unixctl.py log message2"
at_fn_check_prepare_trace "vlog.at:120"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py log message2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:120"
$at_failed && at_fn_log_failure  \
"log" \
"log.old"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/vlog.at:121: ovs-appctl --timeout 20 -t test-unixctl.py vlog/reopen"
at_fn_check_prepare_trace "vlog.at:121"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py vlog/reopen
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:121"
$at_failed && at_fn_log_failure  \
"log" \
"log.old"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/vlog.at:122: ovs-appctl --timeout 20 -t test-unixctl.py log message3"
at_fn_check_prepare_trace "vlog.at:122"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py log message3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:122"
$at_failed && at_fn_log_failure  \
"log" \
"log.old"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/vlog.at:123: ovs-appctl --timeout 20 -t test-unixctl.py exit"
at_fn_check_prepare_trace "vlog.at:123"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:123"
$at_failed && at_fn_log_failure  \
"log" \
"log.old"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/vlog.at:125: sed 's/.*|//' log.old"
at_fn_check_prepare_notrace 'a shell pipeline' "vlog.at:125"
( $at_check_trace; sed 's/.*|//' log.old
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Entering run loop.
message
message2
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:125"
$at_failed && at_fn_log_failure  \
"log" \
"log.old"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/vlog.at:130: sed 's/.*|//' log"
at_fn_check_prepare_notrace 'a shell pipeline' "vlog.at:130"
( $at_check_trace; sed 's/.*|//' log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "message3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:130"
$at_failed && at_fn_log_failure  \
"log" \
"log.old"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1329
#AT_START_1330
at_fn_group_banner 1330 'vlog.at:135' \
  "vlog - vlog/reopen without log file - Python" "   " 89
at_xfail=no
(
  $as_echo "1330. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "vlog.at:136" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/vlog.at:136"
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
OVS_LOGDIR=`pwd`; export OVS_LOGDIR
OVS_DBDIR=`pwd`; export OVS_DBDIR
OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat test-unixctl.py.pid`
EOF


{ set +x
$as_echo "$at_srcdir/vlog.at:143: \$PYTHON \$srcdir/test-unixctl.py --pidfile --detach"
at_fn_check_prepare_dynamic "$PYTHON $srcdir/test-unixctl.py --pidfile --detach" "vlog.at:143"
( $at_check_trace; $PYTHON $srcdir/test-unixctl.py --pidfile --detach
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:143"
$at_failed && at_fn_log_failure
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/vlog.at:145: ovs-appctl --timeout 20 -t test-unixctl.py vlog/reopen"
at_fn_check_prepare_trace "vlog.at:145"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py vlog/reopen
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Logging to file not configured
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:145"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1330
#AT_START_1331
at_fn_group_banner 1331 'vlog.at:153' \
  "vlog - vlog/reopen can't reopen log file - Python" "" 89
at_xfail=no
(
  $as_echo "1331. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "vlog.at:154" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/vlog.at:154"

# Verify that /dev/full is a character device that fails writes.
$as_echo "vlog.at:157" >"$at_check_line_file"
(test ! -c /dev/full) \
  && at_fn_check_skip 77 "$at_srcdir/vlog.at:157"
$as_echo "vlog.at:158" >"$at_check_line_file"
(echo > /dev/full) \
  && at_fn_check_skip 77 "$at_srcdir/vlog.at:158"

OVS_RUNDIR=`pwd`; export OVS_RUNDIR
OVS_LOGDIR=`pwd`; export OVS_LOGDIR
OVS_DBDIR=`pwd`; export OVS_DBDIR
OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat test-unixctl.py.pid`
EOF


{ set +x
$as_echo "$at_srcdir/vlog.at:166: \$PYTHON \$srcdir/test-unixctl.py --log-file=\`pwd\`/log --pidfile --detach"
at_fn_check_prepare_notrace 'a `...` command substitution' "vlog.at:166"
( $at_check_trace; $PYTHON $srcdir/test-unixctl.py --log-file=`pwd`/log --pidfile --detach
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:166"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/vlog.at:167: ovs-appctl --timeout 20 -t test-unixctl.py log message"
at_fn_check_prepare_trace "vlog.at:167"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py log message
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:167"
$at_failed && at_fn_log_failure
$at_traceon; }

mv log log.old
ln -s /dev/full log
{ set +x
$as_echo "$at_srcdir/vlog.at:170: ovs-appctl --timeout 20 -t test-unixctl.py vlog/reopen"
at_fn_check_prepare_trace "vlog.at:170"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py vlog/reopen
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:170"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/vlog.at:171: ovs-appctl --timeout 20 -t test-unixctl.py log message2"
at_fn_check_prepare_trace "vlog.at:171"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py log message2
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:171"
$at_failed && at_fn_log_failure
$at_traceon; }

rm log
{ set +x
$as_echo "$at_srcdir/vlog.at:173: ovs-appctl --timeout 20 -t test-unixctl.py vlog/reopen"
at_fn_check_prepare_trace "vlog.at:173"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py vlog/reopen
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:173"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/vlog.at:174: ovs-appctl --timeout 20 -t test-unixctl.py log message3"
at_fn_check_prepare_trace "vlog.at:174"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py log message3
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:174"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/vlog.at:175: ovs-appctl --timeout 20 -t test-unixctl.py exit"
at_fn_check_prepare_trace "vlog.at:175"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py exit
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:175"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/vlog.at:176: sed 's/.*|//' log.old"
at_fn_check_prepare_notrace 'a shell pipeline' "vlog.at:176"
( $at_check_trace; sed 's/.*|//' log.old
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "Entering run loop.
message
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:176"
$at_failed && at_fn_log_failure
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/vlog.at:180: sed 's/.*|//' log"
at_fn_check_prepare_notrace 'a shell pipeline' "vlog.at:180"
( $at_check_trace; sed 's/.*|//' log
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "message3
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:180"
$at_failed && at_fn_log_failure
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1331
#AT_START_1332
at_fn_group_banner 1332 'vlog.at:185' \
  "vlog - vlog/set and vlog/list - Python" "         " 89
at_xfail=no
(
  $as_echo "1332. $at_setup_line: testing $at_desc ..."
  $at_traceon

$as_echo "vlog.at:186" >"$at_check_line_file"
(test $HAVE_PYTHON = no) \
  && at_fn_check_skip 77 "$at_srcdir/vlog.at:186"
OVS_RUNDIR=`pwd`; export OVS_RUNDIR
OVS_LOGDIR=`pwd`; export OVS_LOGDIR
OVS_DBDIR=`pwd`; export OVS_DBDIR
OVS_SYSCONFDIR=`pwd`; export OVS_SYSCONFDIR
trap '. ./cleanup' 0; cat >>cleanup <<'EOF'
kill `cat test-unixctl.py.pid`
EOF



{ set +x
$as_echo "$at_srcdir/vlog.at:194: \$PYTHON \$srcdir/test-unixctl.py --log-file=\`pwd\`/log --pidfile --detach"
at_fn_check_prepare_notrace 'a `...` command substitution' "vlog.at:194"
( $at_check_trace; $PYTHON $srcdir/test-unixctl.py --log-file=`pwd`/log --pidfile --detach
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:194"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/vlog.at:196: ovs-appctl --timeout 20 -t test-unixctl.py vlog/list"
at_fn_check_prepare_trace "vlog.at:196"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py vlog/list
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "                 console    syslog    file
                 -------    ------    ------
daemon            info       info       info
fatal-signal      info       info       info
jsonrpc           info       info       info
poller            info       info       info
reconnect         info       info       info
socket_util       info       info       info
stream            info       info       info
test-unixctl      info       info       info
unixctl_server    info       info       info
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:196"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }


{ set +x
$as_echo "$at_srcdir/vlog.at:210: ovs-appctl --timeout 20 -t test-unixctl.py vlog/set daemon:syslog:err"
at_fn_check_prepare_trace "vlog.at:210"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py vlog/set daemon:syslog:err
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:210"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/vlog.at:211: ovs-appctl --timeout 20 -t test-unixctl.py vlog/set file:dbg"
at_fn_check_prepare_trace "vlog.at:211"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py vlog/set file:dbg
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
at_fn_diff_devnull "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:211"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/vlog.at:212: ovs-appctl --timeout 20 -t test-unixctl.py vlog/set nonexistent"
at_fn_check_prepare_trace "vlog.at:212"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py vlog/set nonexistent
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "no facility, level, or module \"nonexistent\"
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:212"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }

{ set +x
$as_echo "$at_srcdir/vlog.at:215: ovs-appctl --timeout 20 -t test-unixctl.py vlog/list"
at_fn_check_prepare_trace "vlog.at:215"
( $at_check_trace; ovs-appctl --timeout 20 -t test-unixctl.py vlog/list
) >>"$at_stdout" 2>>"$at_stderr"
at_status=$? at_failed=false
$at_check_filter
at_fn_diff_devnull "$at_stderr" || at_failed=:
echo >>"$at_stdout"; $as_echo "                 console    syslog    file
                 -------    ------    ------
daemon            info        err        dbg
fatal-signal      info       info        dbg
jsonrpc           info       info        dbg
poller            info       info        dbg
reconnect         info       info        dbg
socket_util       info       info        dbg
stream            info       info        dbg
test-unixctl      info       info        dbg
unixctl_server    info       info        dbg
" | \
  $at_diff - "$at_stdout" || at_failed=:
at_fn_check_status 0 $at_status "$at_srcdir/vlog.at:215"
$at_failed && at_fn_log_failure  \
"log"
$at_traceon; }

  set +x
  $at_times_p && times >"$at_times_file"
) 5>&1 2>&1 7>&- | eval $at_tee_pipe
read at_status <"$at_status_file"
#AT_STOP_1332
