#!/bin/bash

# Copyright 2019 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

set -e

pushd ../../..

fx ninja -C out/default.zircon \
  host-x64-linux-clang/obj/tools/fidl/fidlc \
  host-x64-linux-clang/obj/tools/kazoo/kazoo.debug \
  host-x64-linux-clang/obj/tools/kazoo/kazoo-test.debug

out/default.zircon/host-x64-linux-clang/obj/tools/kazoo/kazoo-test.debug --gtest_break_on_failure

# An rspfile appears to be the only way to get the path to these tools in the
# real build, so pass those through directly to avoid more contortions, even
# though it makes for weird arguments to the test script.
echo host-x64-linux-clang/obj/tools/fidl/fidlc > /tmp/fidlc.rsp
echo host-x64-linux-clang/obj/tools/kazoo/kazoo.debug > /tmp/kazoo.rsp

zircon/tools/kazoo/golden-test \
  --fidlc /tmp/fidlc.rsp \
  --kazoo /tmp/kazoo.rsp \
  --builddir out/default.zircon \
  --syscalls zircon/vdso \
  --p4merge \
  --output-touch /dev/null \
  --tmp-base /tmp
