Add --inbox and --inbox-folder flags
This commit is contained in:
parent
88ccb37dfd
commit
891b8aabbf
|
@ -0,0 +1,70 @@
|
||||||
|
#! /usr/bin/env bats
|
||||||
|
|
||||||
|
# This is a test file for use with the bats testing framework
|
||||||
|
# https://github.com/bats-core/bats-core
|
||||||
|
# On Debian: apt install bats
|
||||||
|
|
||||||
|
function setup {
|
||||||
|
ORIGDIR="$(pwd)"
|
||||||
|
TMPDIR="$(mktemp -d)"
|
||||||
|
|
||||||
|
# If no $FORGEBUILD is supplied in ENV, use the default
|
||||||
|
# (otherwise you can't `bats ./tests/` manually)
|
||||||
|
[ -z "$FORGEBUILD" ] && FORGEBUILD="forgebuild"
|
||||||
|
|
||||||
|
# Setup forgebuild tasks
|
||||||
|
FORGEBUILDDIR="$TMPDIR"/forgebuild
|
||||||
|
mkdir $FORGEBUILDDIR
|
||||||
|
echo "date +%s%N > $TMPDIR/forgebuild-time" > $FORGEBUILDDIR/time
|
||||||
|
chmod +x $FORGEBUILDDIR/time
|
||||||
|
echo "echo \$(pwd) > $TMPDIR/forgebuild-pwd" > $FORGEBUILDDIR/pwd
|
||||||
|
chmod +x $FORGEBUILDDIR/pwd
|
||||||
|
|
||||||
|
# Setup settings
|
||||||
|
mkdir $FORGEBUILDDIR/config
|
||||||
|
echo "default" > $FORGEBUILDDIR/config/entry
|
||||||
|
mkdir $FORGEBUILDDIR/$HOSTNAME
|
||||||
|
echo "host" > $FORGEBUILDDIR/$HOSTNAME/entry
|
||||||
|
}
|
||||||
|
|
||||||
|
function teardown {
|
||||||
|
cd $ORIGDIR
|
||||||
|
#if [ -d $TMPDIR ]; then rm -rf $TMPDIR; fi
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "forgebuild --inbox only triggers tasks with a corresponding task.inbox file" {
|
||||||
|
$FORGEBUILD -b $FORGEBUILDDIR --inbox
|
||||||
|
[ ! -f $TMPDIR/forgebuild-time ]
|
||||||
|
[ ! -f $TMPDIR/forgebuild-pwd ]
|
||||||
|
touch $FORGEBUILDDIR/time.inbox
|
||||||
|
$FORGEBUILD -b $FORGEBUILDDIR --inbox
|
||||||
|
[ -f $TMPDIR/forgebuild-time ]
|
||||||
|
[ ! -f $TMPDIR/forgebuild-pwd ]
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "Task from inbox is not run twice" {
|
||||||
|
touch $FORGEBUILDDIR/time.inbox
|
||||||
|
$FORGEBUILD -b $FORGEBUILDDIR --inbox
|
||||||
|
[ -f $TMPDIR/forgebuild-time ]
|
||||||
|
[ ! -f $TMPDIR/forgebuild-pwd ]
|
||||||
|
rm $TMPDIR/forgebuild-time
|
||||||
|
rm $FORGEBUILDDIR/time.done
|
||||||
|
$FORGEBUILD -b $FORGEBUILDDIR --inbox
|
||||||
|
[ ! -f $TMPDIR/forgebuild-time ]
|
||||||
|
}
|
||||||
|
|
||||||
|
@test "forgebuild --inbox-folder can specify a folder as inbox" {
|
||||||
|
INBOXFOLDER="$TMPDIR/inbox"
|
||||||
|
mkdir $INBOXFOLDER
|
||||||
|
$FORGEBUILD -b $FORGEBUILDDIR --inbox-folder $INBOXFOLDER
|
||||||
|
[ ! -f $TMPDIR/forgebuild-time ]
|
||||||
|
[ ! -f $TMPDIR/forgebuild-pwd ]
|
||||||
|
touch $INBOXFOLDER/time.inbox
|
||||||
|
$FORGEBUILD -b $FORGEBUILDDIR --inbox-folder $INBOXFOLDER
|
||||||
|
[ -f $TMPDIR/forgebuild-time ]
|
||||||
|
[ ! -f $TMPDIR/forgebuild-pwd ]
|
||||||
|
rm $TMPDIR/forgebuild-time
|
||||||
|
$FORGEBUILD -b $FORGEBUILDDIR --inbox-folder $INBOXFOLDER
|
||||||
|
[ ! -f $TMPDIR/forgebuild-time ]
|
||||||
|
[ ! -f $TMPDIR/forgebuild-pwd ]
|
||||||
|
}
|
Loading…
Reference in New Issue