#!/usr/bin/env bash
#
# A smoke test to ensure that program runs without crashing. This doesn't test
# the results of execution, other than the return code.
#
# Copyright 2018-2020 Chris Cummins <chrisc.101@gmail.com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in
# the Software without restriction, including without limitation the rights to
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
# the Software, and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
# COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
# IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
# CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

ME_DB="datasets/me_db/me_db"
INBOX_PATH="datasets/me_db/tests/test_inbox"
TMPDIR="$(mktemp -d)"
DB_PATH="$TMPDIR/me_db_smoke_test.db"

# Tidy up.
cleanup() {
  rm -rf "$TMPDIR"
}
trap cleanup EXIT

set -eux

# Run it once.
"$ME_DB" --inbox "$INBOX_PATH" --v=1 --db="sqlite:///$DB_PATH"
# Run it again, replacing the existing database.
"$ME_DB" --inbox "$INBOX_PATH" --v=1 --db="sqlite:///$DB_PATH" --replace_existing
