#!/bin/sh

cp -a debian/tests/packages "$AUTOPKGTEST_TMP"

PY3_VER=$(pypy3 -c 'import sys; print("{}.{}".format(*sys.version_info[:2]))')

setUp() {
	mount -t tmpfs tmpfs /usr/local/lib/pypy$PY3_VER/dist-packages
}

tearDown() {
	umount /usr/local/lib/pypy$PY3_VER/dist-packages
}

testFibPy() {
	cd "$AUTOPKGTEST_TMP/packages/fibpy"
	pypy3 setup.py install
	assertTrue 'Install fibpy in /usr/local' $?
	cd "$AUTOPKGTEST_TMP"
	stdout=$(pypy3 -m fibpy 5)
	assertTrue 'Execute fibpy from a virtualenv' $?
	assertEquals 'Correct result' 8 "$stdout"
}

testFibC() {
	cd "$AUTOPKGTEST_TMP/packages/fibc"
	pypy3 setup.py install
	assertTrue 'Install fibc in /usr/local' $?
	cd "$AUTOPKGTEST_TMP"
	stdout=$(pypy3 -c 'from fibc import fib; print(fib(5))')
	assertTrue 'Execute fibc from a virtualenv' $?
	assertEquals 'Correct result' 8 "$stdout"
}

testFibCFFI() {
	cd "$AUTOPKGTEST_TMP/packages/fibcffi"
	pypy3 setup.py install
	assertTrue 'Install fibcffi in /usr/local' $?
	cd "$AUTOPKGTEST_TMP"
	stdout=$(pypy3 -m fibcffi 5)
	assertTrue 'Execute fibcffi from a virtualenv' $?
	assertEquals 'Correct result' 8 "$stdout"
}

. shunit2
