#!/bin/sh

ACTD_PID=-1

stop_services() {
	systemctl stop activationd-acceptance-test-s-p
	systemctl stop activationd-acceptance-test-s-n
	systemctl stop activationd-acceptance-test-i-p
	systemctl stop activationd-acceptance-test-i-n
	systemctl stop activationd-acceptance-test-d-p
	systemctl stop activationd-acceptance-test-d-n
	systemctl stop activationd-acceptance-test-b-p
	systemctl stop activationd-acceptance-test-b-n
}

cleanup() {
	[ $ACTD_PID -ne -1 ] && kill $ACTD_PID > /dev/null 2>&1
	vconftool unset  file/activationd/acceptance
	exit 0
}

trap cleanup 0

vconftool -f set -t string file/activationd/acceptance_string_p foo
vconftool -f set -t string file/activationd/acceptance_string_n foo
vconftool -f set -t int file/activationd/acceptance_int_p 0
vconftool -f set -t int file/activationd/acceptance_int_n 0
vconftool -f set -t double file/activationd/acceptance_double_p 0.0
vconftool -f set -t double file/activationd/acceptance_double_n 0.0
vconftool -f set -t bool file/activationd/acceptance_bool_p 0
vconftool -f set -t bool file/activationd/acceptance_bool_n 0

# assumes there's no epcd service running
actd > /dev/null 2>&1 &
ACTD_PID=$!
sleep 2

echo "Testing vconf:"
/usr/bin/activationd_acceptance_checker -t vconf 2> /dev/null
if [ "$?" -eq "0" ]; then
	echo "all tests passed"
else
	echo "some tests failed"
fi

stop_services
echo ""
echo "Testing dbus signals:"
/usr/bin/activationd_acceptance_checker -t signal 2> /dev/null
if [ "$?" -eq "0" ]; then
	echo "all tests passed"
else
	echo "some tests failed"
fi

stop_services
echo ""
echo "Testing unit control dbus api:"
/usr/bin/activationd_acceptance_checker -t unit_control 2> /dev/null
if [ "$?" -eq "0" ]; then
	echo "all tests passed"
else
	echo "some tests failed"
fi
