<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 21, 2018 at 7:59 PM, Jamie Strandboge <span dir="ltr"><<a href="mailto:jamie@canonical.com" target="_blank">jamie@canonical.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On Wed, 2018-03-21 at 15:53 +0100, Christian Ehrhardt wrote:<br>
> So far the virt-aa-helper tests only checked the return code and<br>
> thereby<br>
> catched aborts like issues failing to parse the XML. But there is one<br>
> category of virt-aa-helper issues so far untested - not generating<br>
> the<br>
> expected rule.<br>
><br>
> This adds a basic grep based checks after each test to match against<br>
> the<br>
> rule that is expected to be added by the test.<br>
><br>
> Signed-off-by: Christian Ehrhardt <<a href="mailto:christian.ehrhardt@canonical.com">christian.ehrhardt@canonical.<wbr>com</a>><br>
> ---<br>
>  tests/virt-aa-helper-test | 86 +++++++++++++++++++++++++++---<wbr>-----<br>
> ------------<br>
>  1 file changed, 50 insertions(+), 36 deletions(-)<br>
><br>
> diff --git a/tests/virt-aa-helper-test b/tests/virt-aa-helper-test<br>
> index 7c839e4..2ddad20 100755<br>
> --- a/tests/virt-aa-helper-test<br>
> +++ b/tests/virt-aa-helper-test<br>
> @@ -108,6 +108,9 @@ testme() {<br>
>      outstr="$2"<br>
>      args="$3"<br>
>      input=""<br>
> +    checkrule="$5"<br>
> +<br>
> +    tmpout=$(mktemp)<br>
><br>
</div></div>Can you instead use (or similar):<br>
<br>
tmpout="$tmpdir/checkrule.out"<br>
<br>
We have a tmpdir that is automatically removed via a trap. Utilizing it<br>
would mean we don't leave the tmp file around in the case of an error.<span class=""><br></span></blockquote><div><br></div><div>That is fine, I can do that.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
>      if [ -n "$4" ]; then<br>
>          input="$4"<br>
> @@ -127,13 +130,24 @@ testme() {<br>
>      echo "': " >$output<br>
>      set +e<br>
>      if [ -n "$input" ]; then<br>
> -        LD_LIBRARY_PATH="$ld_library_<wbr>path" $exe $extra_args $args <<br>
> $input >$output 2>&1<br>
> +        LD_LIBRARY_PATH="$ld_library_<wbr>path" $exe $extra_args $args <<br>
> $input >"$tmpout" 2>&1<br>
>      else<br>
> -        LD_LIBRARY_PATH="$ld_library_<wbr>path" $exe $extra_args $args<br>
> >$output 2>&1<br>
> +        LD_LIBRARY_PATH="$ld_library_<wbr>path" $exe $extra_args $args<br>
> >"$tmpout" 2>&1<br>
>      fi<br>
>      rc="$?"<br>
> +    cat "$tmpout" >"$output"<br>
<br>
</span>Why are you overwriting $output here? I think you can just remove this<br>
'cat' entirely since you grep $tmpout below, and add the FAIL to<br>
$output, which sounds like exactly what you want.<span class=""><br></span></blockquote><div><br></div><div>Oh that is the magic of this script :-)</div><div>$output is actually either /dev/null or /dev/stdout</div><div>So it is essentially no overwrite - instead it is posting to one or the other (depending on some flags)</div><div><br></div><div>The reason I cat to there is that the execution formerly did put the output there and for the logging I don't want to break that.</div><div>I'd keep that part as it is, but hope my explanation helps to see why.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
> +<br>
> +    rule_missing=0<br>
> +    if [ -n "$checkrule" ]; then<br>
> +        if ! grep -q "$checkrule" "$tmpout"; then<br>
> +            echo "FAIL: missing rule '$checkrule'" >"$output"<br>
> +            rule_missing=1<br>
> +        fi<br>
> +    fi<br>
> +    rm "$tmpout"<br>
> +<br>
</span>You can remove this 'rm' if you use tmpdir as suggested above.<br></blockquote><div><br></div><div>Yep I can do that.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
>      set -e<br>
> -    if [ "$rc" = "$expected" ]; then<br>
> +    if [ "$rc" = "$expected" ] && [ $rule_missing -eq 0 ]; then<br>
>          echo "pass" >$output<br>
>      else<br>
>          echo "FAIL: exited with '$rc'" >$output<br>
> @@ -234,19 +248,19 @@ testme "1" "-c with invalid domain name char *"<br>
> "-c -u $valid_uuid" "$test_xml"<br>
><br>
>  echo "Expected pass:" >$output<br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g"<br>
> "$template_xml" > "$test_xml"<br>
> -testme "0" "create (x86_64)" "-c -u $valid_uuid" "$test_xml"<br>
> +testme "0" "create (x86_64)" "-c -u $valid_uuid" "$test_xml"<br>
> "$disk1.*rwk,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,arch='x86_64',arch='i686',<wbr>g" "$template_xml" > "$test_xml"<br>
> -testme "0" "create (i686)" "-c -u $valid_uuid" "$test_xml"<br>
> +testme "0" "create (i686)" "-c -u $valid_uuid" "$test_xml"<br>
> "$disk1.*rwk,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,arch='x86_64',arch='ppc',g" "$template_xml" > "$test_xml"<br>
> -testme "0" "create (ppc)" "-c -u $valid_uuid" "$test_xml"<br>
> +testme "0" "create (ppc)" "-c -u $valid_uuid" "$test_xml"<br>
> "$disk1.*rwk,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</disk>,</disk><disk type='file' device='disk'><driver name='qemu'<br>
> type='raw'/><source file='$disk2'/><target dev='hdb'<br>
> bus='ide'/></disk>,g" "$template_xml" > "$test_xml"<br>
> -testme "0" "create multiple disks" "-c -u $valid_uuid" "$test_xml"<br>
> +testme "0" "create multiple disks" "-c -u $valid_uuid" "$test_xml"<br>
> "$disk1.*rwk,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e<br>
> "s,###DISK###',${disk1}'/><<wbr>readonly,g" "$template_xml" > "$test_xml"<br>
> -testme "0" "create (readonly)" "-c -u $valid_uuid" "$test_xml"<br>
> +testme "0" "create (readonly)" "-c -u $valid_uuid" "$test_xml"<br>
> "$disk1.*rk,$"<br>
><br>
>  if [ "$test_hostdev" = "yes" ]; then<br>
>      sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</disk>,</disk><hostdev mode='subsystem'<br>
> type='usb'><source><address bus='002'<br>
> device='004'/></source></<wbr>hostdev>,g" "$template_xml" > "$test_xml"<br>
> @@ -257,73 +271,73 @@ if [ "$test_hostdev" = "yes" ]; then<br>
>  fi<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$nonexistent,g"<br>
> "$template_xml" > "$test_xml"<br>
> -testme "0" "create (non-existent disk)" "-c -u $valid_uuid"<br>
> "$test_xml"<br>
> +testme "0" "create (non-existent disk)" "-c -u $valid_uuid"<br>
> "$test_xml" "$nonexistent.*rwk,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$relative_disk1,<wbr>g"<br>
> "$template_xml" > "$test_xml"<br>
> -testme "0" "create (relative path)" "-c -u $valid_uuid" "$test_xml"<br>
> +testme "0" "create (relative path)" "-c -u $valid_uuid" "$test_xml"<br>
> "$disk1.*rwk,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk2,g"<br>
> "$template_xml" > "$test_xml"<br>
> -testme "0" "replace" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "replace" "-r -u $valid_uuid" "$test_xml" "$disk2.*rwk,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$nonexistent,g"<br>
> "$template_xml" > "$test_xml"<br>
> -testme "0" "replace (non-existent disk)" "-r -u $valid_uuid"<br>
> "$test_xml"<br>
> +testme "0" "replace (non-existent disk)" "-r -u $valid_uuid"<br>
> "$test_xml" "$nonexistent.*rwk,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g"<br>
> "$template_xml" > "$test_xml"<br>
> -testme "0" "replace (adding disk)" "-r -u $valid_uuid -f $disk2"<br>
> "$test_xml"<br>
> +testme "0" "replace (adding disk)" "-r -u $valid_uuid -f $disk2"<br>
> "$test_xml" "$disk2.*rwk,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g"<br>
> "$template_xml" > "$test_xml"<br>
> -testme "0" "replace (adding non-existent disk)" "-r -u $valid_uuid<br>
> -f $nonexistent" "$test_xml"<br>
> +testme "0" "replace (adding non-existent disk)" "-r -u $valid_uuid<br>
> -f $nonexistent" "$test_xml" "$nonexistent.*rwk,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g"<br>
> "$template_xml" > "$test_xml"<br>
> -testme "0" "replace (appending disk)" "-r -u $valid_uuid -F $disk2"<br>
> "$test_xml"<br>
> +testme "0" "replace (appending disk)" "-r -u $valid_uuid -F $disk2"<br>
> "$test_xml" "$disk2.*rwk,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g"<br>
> "$template_xml" > "$test_xml"<br>
> -testme "0" "replace (appending non-existent disk)" "-r -u<br>
> $valid_uuid -F $nonexistent" "$test_xml"<br>
> +testme "0" "replace (appending non-existent disk)" "-r -u<br>
> $valid_uuid -F $nonexistent" "$test_xml" "$nonexistent.*rwk,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</devices>,<disk type='block' device='cdrom'><target dev='hdc'<br>
> bus='ide'/><readonly/></disk><<wbr>/devices>,g" "$template_xml" ><br>
> "$test_xml"<br>
>  testme "0" "disk (empty cdrom)" "-r -u $valid_uuid" "$test_xml"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</devices>,<serial type='file'><source<br>
> path='$tmpdir/serial.log'/><<wbr>target port='0'/></serial></devices>,<wbr>g"<br>
> "$template_xml" > "$test_xml"<br>
> -testme "0" "serial" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "serial" "-r -u $valid_uuid" "$test_xml"<br>
> "$tmpdir/serial.log.*rw,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</devices>,<serial type='pty'><target<br>
> port='0'/></serial></devices>,<wbr>g" "$template_xml" > "$test_xml"<br>
>  testme "0" "serial (pty)" "-r -u $valid_uuid" "$test_xml"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</devices>,<serial type='dev'><source path='/dev/ttyS0'/><target<br>
> port='0'/></serial></devices>,<wbr>g" "$template_xml" > "$test_xml"<br>
> -testme "0" "serial (dev)" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "serial (dev)" "-r -u $valid_uuid" "$test_xml"<br>
> "/dev/ttyS0.*rw,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</devices>,<serial type='pipe'><source<br>
> path='$tmpdir/serial.pipe'/><<wbr>target port='0'/></serial></devices>,<wbr>g"<br>
> "$template_xml" > "$test_xml"<br>
> -mkfifo "$tmpdir/<a href="http://serial.pipe.in" rel="noreferrer" target="_blank">serial.pipe.in</a>" "$tmpdir/serial.pipe.out"<br>
> +mkfifo "$tmpdir/<a href="http://serial.pipe.in" rel="noreferrer" target="_blank">serial.pipe.in</a>" "$tmpdir/serial.pipe.out"<br>
> "$tmpdir/serial.pipe.in.*rw,$"<br>
>  testme "0" "serial (pipe)" "-r -u $valid_uuid" "$test_xml"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</devices>,<console type='file'><source<br>
> path='$tmpdir/console.log'/><<wbr>target port='0'/></console></devices><wbr>,g"<br>
> "$template_xml" > "$test_xml"<br>
>  touch "$tmpdir/console.log"<br>
> -testme "0" "console" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "console" "-r -u $valid_uuid" "$test_xml"<br>
> "$tmpdir/console.log.*rw,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</devices>,<console type='pty'><target<br>
> port='0'/></console></devices><wbr>,g" "$template_xml" > "$test_xml"<br>
>  testme "0" "console (pty)" "-r -u $valid_uuid" "$test_xml"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</devices>,<console type='pipe'><source<br>
> path='$tmpdir/console.pipe'/><<wbr>target<br>
> port='0'/></console></devices><wbr>,g" "$template_xml" > "$test_xml"<br>
>  mkfifo "$tmpdir/<a href="http://console.pipe.in" rel="noreferrer" target="_blank">console.pipe.in</a>" "$tmpdir/console.pipe.out"<br>
> -testme "0" "console (pipe)" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "console (pipe)" "-r -u $valid_uuid" "$test_xml"<br>
> "$tmpdir/console.pipe.out.*rw,<wbr>$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</devices>,<parallel type='pty'><source path='/dev/pts/0'/><target<br>
> port='0'/></parallel></<wbr>devices>,g" "$template_xml" > "$test_xml"<br>
> -testme "0" "parallel (pty)" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "parallel (pty)" "-r -u $valid_uuid" "$test_xml"<br>
> "/dev/pts/0.*rw,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</devices>,<parallel type='pipe'><source<br>
> path='$tmpdir/parallel.pipe'/><wbr><target<br>
> port='0'/></parallel></<wbr>devices>,g" "$template_xml" > "$test_xml"<br>
>  mkfifo "$tmpdir/<a href="http://parallel.pipe.in" rel="noreferrer" target="_blank">parallel.pipe.in</a>" "$tmpdir/parallel.pipe.out"<br>
> -testme "0" "parallel (pipe)" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "parallel (pipe)" "-r -u $valid_uuid" "$test_xml"<br>
> "$tmpdir/parallel.pipe.in.*rw,<wbr>$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</devices>,<channel type='unix'><source mode='bind'<br>
> path='$tmpdir/guestfwd'/><<wbr>target type='guestfwd' address='10.0.2.1'<br>
> port='4600'/></channel></<wbr>devices>,g" "$template_xml" > "$test_xml"<br>
>  touch "$tmpdir/guestfwd"<br>
> -testme "0" "channel (unix)" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "channel (unix)" "-r -u $valid_uuid" "$test_xml"<br>
> "$tmpdir/guestfwd.*rw,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</devices>,<channel type='pty'><target<br>
> type='virtio'/></channel></<wbr>devices>,g" "$template_xml" > "$test_xml"<br>
>  testme "0" "channel (pty)" "-r -u $valid_uuid" "$test_xml"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</os>,<kernel>$tmpdir/<wbr>kernel</kernel></os>,g" "$template_xml" ><br>
> "$test_xml"<br>
>  touch "$tmpdir/kernel"<br>
> -testme "0" "kernel" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "kernel" "-r -u $valid_uuid" "$test_xml"<br>
> "$tmpdir/kernel.*r,$"<br>
><br>
>  testfw "ovmf (old path)" "/usr/share/ovmf/OVMF.fd"<br>
>  testfw "OVMF (new path)" "/usr/share/OVMF/OVMF_CODE.fd"<br>
> @@ -333,37 +347,37 @@ testfw "qemu-efi" "/usr/share/qemu-<br>
> efi/QEMU_EFI.fd"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</os>,<initrd>$tmpdir/<wbr>initrd</initrd></os>,g" "$template_xml" ><br>
> "$test_xml"<br>
>  touch "$tmpdir/initrd"<br>
> -testme "0" "initrd" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "initrd" "-r -u $valid_uuid" "$test_xml"<br>
> "$tmpdir/initrd.*r,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</os>,<kernel>/boot/kernel<<wbr>/kernel></os>,g" "$template_xml" ><br>
> "$test_xml"<br>
> -testme "0" "kernel in /boot" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "kernel in /boot" "-r -u $valid_uuid" "$test_xml"<br>
> "/boot/kernel.*r,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</os>,<initrd>/boot/initrd<<wbr>/initrd></os>,g" "$template_xml" ><br>
> "$test_xml"<br>
> -testme "0" "initrd in /boot" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "initrd in /boot" "-r -u $valid_uuid" "$test_xml"<br>
> "/boot/initrd.*r,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</os>,<kernel>/vmlinuz</<wbr>kernel></os>,g" "$template_xml" ><br>
> "$test_xml"<br>
> -testme "0" "kernel is /vmlinuz" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "kernel is /vmlinuz" "-r -u $valid_uuid" "$test_xml"<br>
> "/vmlinuz.*r,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</os>,<initrd>/initrd/<wbr>ramdisk</initrd></os>,g" "$template_xml" ><br>
> "$test_xml"<br>
> -testme "0" "initrd is /initrd/ramdisk" "-r -u $valid_uuid"<br>
> "$test_xml"<br>
> +testme "0" "initrd is /initrd/ramdisk" "-r -u $valid_uuid"<br>
> "$test_xml" "/initrd/ramdisk.*r,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</os>,<initrd>/initrd.img</<wbr>initrd></os>,g" "$template_xml" ><br>
> "$test_xml"<br>
> -testme "0" "initrd is /initrd.img" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "initrd is /initrd.img" "-r -u $valid_uuid" "$test_xml"<br>
> "/initrd.img.*r,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,<graphics*,<graphics type='sdl' display=':0.0'<br>
> xauth='/home/myself/.<wbr>Xauthority'/>,g" "$template_xml" > "$test_xml"<br>
> -testme "0" "sdl Xauthority" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "sdl Xauthority" "-r -u $valid_uuid" "$test_xml"<br>
> "/home/myself/.Xauthority.*r,$<wbr>"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g"<br>
> "$template_xml" > "$test_xml"<br>
> -testme "0" "hugepages" "-r -u $valid_uuid -F<br>
> /run/hugepages/kvm/\*\*" "$test_xml"<br>
> +testme "0" "hugepages" "-r -u $valid_uuid -F<br>
> /run/hugepages/kvm/\*\*" "$test_xml" "/run/hugepages/kvm/.*rwk,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,<graphics.*>,<graphics type='vnc'<br>
> socket='/var/lib/libvirt/qemu/<wbr>myself.vnc'><listen type='address'<br>
> address='0.0.0.0'/></graphics><wbr>,g" "$template_xml" > "$test_xml"<br>
> -testme "0" "vnc socket" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "vnc socket" "-r -u $valid_uuid" "$test_xml"<br>
> "/var/lib/libvirt/qemu/myself.<wbr>vnc.*rw,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,</devices>,<input type='passthrough' bus='virtio'><source<br>
> evdev='$disk2' /></input></devices>,g" "$template_xml" > "$test_xml"<br>
> -testme "0" "input dev passthrough" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "input dev passthrough" "-r -u $valid_uuid" "$test_xml"<br>
> "$disk2.*rw,$"<br>
><br>
>  sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e<br>
> "s,<memory>524288</memory>,<<wbr>memory>1048576</memory>,g" -e<br>
> "s,</devices>,<memory<br>
> model='nvdimm'><source><path>$<wbr>disk2</path></source><target><<wbr>size<br>
> unit='KiB'>524288</size><node><wbr>0</node></target></memory></<wbr>devices>,g"<br>
> "$template_xml" > "$test_xml"<br>
> -testme "0" "nvdimm" "-r -u $valid_uuid" "$test_xml"<br>
> +testme "0" "nvdimm" "-r -u $valid_uuid" "$test_xml" "$disk2.*rw,$"<br>
><br>
>  testme "0" "help" "-h"<br>
><br>
<br>
</div></div>Nice! I love these test additions. :)<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Jamie Strandboge             | <a href="http://www.canonical.com" rel="noreferrer" target="_blank">http://www.canonical.com</a></font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><span style="color:rgb(136,136,136);font-size:12.8px">Christian Ehrhardt</span><div style="color:rgb(136,136,136);font-size:12.8px">Software Engineer, Ubuntu Server</div><div style="color:rgb(136,136,136);font-size:12.8px">Canonical Ltd</div></div></div></div></div>
</div></div>