#!/bin/bash
set -eu -o pipefail
set -x
$DUB remove --version="*" gitcompatibledubpackage || true
# check whether the interactive run mode works
echo "y" | $DUB run gitcompatibledubpackage | grep "Hello DUB"
$DUB remove gitcompatibledubpackage
! (echo "n" | $DUB run gitcompatibledubpackage | grep "Hello DUB")
! $DUB remove gitcompatibledubpackage
# check -y
$DUB run --yes gitcompatibledubpackage | grep "Hello DUB"
$DUB remove gitcompatibledubpackage
# check --yes
$DUB run -y gitcompatibledubpackage | grep "Hello DUB"
$DUB remove gitcompatibledubpackage
(! $DUB run --non-interactive gitcompatibledubpackage) 2>&1 | grep "Failed to find.*gitcompatibledubpackage.*locally"
# check supplying versions directly
dub_log="$($DUB run gitcompatibledubpackage@1.0.3)"
echo "$dub_log" | grep "Hello DUB"
echo "$dub_log" | grep "Fetching.*1.0.3"
$DUB remove gitcompatibledubpackage
# check supplying an invalid version
(! $DUB run gitcompatibledubpackage@0.42.43) 2>&1 | \
grep 'No package gitcompatibledubpackage was found matching the dependency 0[.]42[.]43'
! $DUB remove gitcompatibledubpackage