mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-01 13:40:04 +00:00
duktape: Add ptest
The Ptest for duktape executes below tests: 1. hello - a helloworld example is basic compilation test that test the APIs - duk_get_top(), duk_push_c_function(), duk_eval_string() 2. eval - a very simple for evaluating expressions from command line which test the APIs - duk_push_string(), duk_insert(), duk_join(), duk_pop() 3. evloop - a basic eventloop implementation test that test the APIs - duk_is_object(), duk_compile() duk_push_c_function(), duk_safe_call() Test Summary: Execution time = 46 sec Signed-off-by: Nikhil R <nikhil.r@kpit.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
@@ -4,7 +4,11 @@ HOMEPAGE = "https://duktape.org"
|
|||||||
LICENSE = "MIT"
|
LICENSE = "MIT"
|
||||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b7825df97b52f926fc71300f7880408"
|
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b7825df97b52f926fc71300f7880408"
|
||||||
|
|
||||||
SRC_URI = "https://duktape.org/duktape-${PV}.tar.xz"
|
SRC_URI = "https://duktape.org/duktape-${PV}.tar.xz \
|
||||||
|
file://run-ptest \
|
||||||
|
"
|
||||||
|
inherit ptest
|
||||||
|
|
||||||
SRC_URI[sha256sum] = "90f8d2fa8b5567c6899830ddef2c03f3c27960b11aca222fa17aa7ac613c2890"
|
SRC_URI[sha256sum] = "90f8d2fa8b5567c6899830ddef2c03f3c27960b11aca222fa17aa7ac613c2890"
|
||||||
|
|
||||||
EXTRA_OEMAKE = "INSTALL_PREFIX='${prefix}' DESTDIR='${D}' LIBDIR='/${baselib}'"
|
EXTRA_OEMAKE = "INSTALL_PREFIX='${prefix}' DESTDIR='${D}' LIBDIR='/${baselib}'"
|
||||||
@@ -13,8 +17,24 @@ do_compile () {
|
|||||||
oe_runmake -f Makefile.sharedlibrary INSTALL_PREFIX="${prefix}" DESTDIR="${D}"
|
oe_runmake -f Makefile.sharedlibrary INSTALL_PREFIX="${prefix}" DESTDIR="${D}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
do_compile_ptest() {
|
||||||
|
oe_runmake -f Makefile.hello INSTALL_PREFIX="${prefix}" DESTDIR="${D}"
|
||||||
|
oe_runmake -f Makefile.eval INSTALL_PREFIX="${prefix}" DESTDIR="${D}"
|
||||||
|
oe_runmake -f Makefile.eventloop INSTALL_PREFIX="${prefix}" DESTDIR="${D}"
|
||||||
|
}
|
||||||
|
|
||||||
do_install () {
|
do_install () {
|
||||||
oe_runmake -f Makefile.sharedlibrary INSTALL_PREFIX="${prefix}" DESTDIR="${D}" install
|
oe_runmake -f Makefile.sharedlibrary INSTALL_PREFIX="${prefix}" DESTDIR="${D}" install
|
||||||
# libduktaped is identical to libduktape but has an hard-coded -g build flags, remove it
|
# libduktaped is identical to libduktape but has an hard-coded -g build flags, remove it
|
||||||
rm -f ${D}${libdir}/libduktaped.so*
|
rm -f ${D}${libdir}/libduktaped.so*
|
||||||
}
|
}
|
||||||
|
|
||||||
|
do_install_ptest() {
|
||||||
|
install -m 0755 "${WORKDIR}/duktape-2.7.0/hello" "${D}${PTEST_PATH}"
|
||||||
|
install -m 0755 "${WORKDIR}/duktape-2.7.0/eval" "${D}${PTEST_PATH}"
|
||||||
|
install -m 0755 "${WORKDIR}/duktape-2.7.0/evloop" "${D}${PTEST_PATH}"
|
||||||
|
install -m 0755 "${WORKDIR}/duktape-2.7.0/examples/eventloop/timer-test.js" "${D}${PTEST_PATH}"
|
||||||
|
install -m 0755 "${WORKDIR}/duktape-2.7.0/examples/eventloop/ecma_eventloop.js" "${D}${PTEST_PATH}"
|
||||||
|
}
|
||||||
|
|
||||||
|
RDEPENDS_${PN}-ptest += "make"
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
./hello &> $test.output 2>&1
|
||||||
|
out="Hello world!"
|
||||||
|
|
||||||
|
if grep -i "$out" $test.output 2>&1 ; then
|
||||||
|
echo "PASS: Hello duktape"
|
||||||
|
else
|
||||||
|
echo "FAIL: Hello duktape"
|
||||||
|
fi
|
||||||
|
rm -f $test.output
|
||||||
|
|
||||||
|
./eval "print('Hello world!'); 123;" > out.log
|
||||||
|
|
||||||
|
sed -n '2p' out.log > eval.log
|
||||||
|
sed -n '3p' out.log >> eval.log
|
||||||
|
|
||||||
|
if grep -w 'Hello world!\|123' eval.log 2>&1; then
|
||||||
|
echo "PASS: eval duktape"
|
||||||
|
else
|
||||||
|
echo "FAIL: eval duktape"
|
||||||
|
fi
|
||||||
|
rm -f eval.log out.log
|
||||||
|
|
||||||
|
./evloop timer-test.js > evloop.log 2>&1
|
||||||
|
|
||||||
|
if grep -i "no active timers and no sockets to poll" evloop.log 2>&1; then
|
||||||
|
echo "PASS: evloop duktape"
|
||||||
|
else
|
||||||
|
echo "FAIL: evloop duktape"
|
||||||
|
fi
|
||||||
|
rm -f evloop.log
|
||||||
Reference in New Issue
Block a user