Re: [Vala] testrunner.sh on OpenIndiana
- From: Jason Martin <agrellum gmail com>
- To: vala-list gnome org
- Subject: Re: [Vala] testrunner.sh on OpenIndiana
- Date: Wed, 1 Nov 2017 15:47:56 -0400
All but three pass now. My patch below. Comments might help someone.
/control-flow/bug736774-2
ERROR:/export/home/agrellum/vala-0.36.6/tests/_test/main.c:111:control_flow_bug736774_2_main:
assertion failed: (keep != "test")
control_flow.bug736774_2.check: line 2: 17168 Abort (core
dumped) ./test /control-flow/bug736774-2
/dbus/enum-string-marshalling
main.vala:17.42-17.57: error: The type name `UnixOutputStream' could not be
found
public abstract void test3 (FooEnum e1, UnixOutputStream output_stream,
FooEnum e2) throws DBusError;
^^^^^^^^^^^^^^^^
Loaded package
`/export/home/agrellum/vala-0.36.6/tests/./../vapi/glib-2.0.vapi'
Loaded package
`/export/home/agrellum/vala-0.36.6/tests/./../vapi/gobject-2.0.vapi'
Loaded package
`/export/home/agrellum/vala-0.36.6/tests/./../vapi/gio-2.0.vapi'
/dbus/filedescriptor-errors/server
Conversion from character set '646' to 'UTF-8' is not supported
Patch:
--- /export/home/agrellum/vala-0.36.6/tests/testrunner.sh.orig
+++ /export/home/agrellum/vala-0.36.6/tests/testrunner.sh
@@ -29,7 +29,12 @@
export G_DEBUG=fatal_warnings
VALAC=$topbuilddir/compiler/valac$EXEEXT
-VALAFLAGS="$VALAFLAGS --vapidir $vapidir --disable-warnings --main main
--save-temps -X -g -X -O0 -X -pipe -X -lm -X -DGETTEXT_PACKAGE=\"valac\" -X
-Werror=return-type -X -Werror=init-self -X -Werror=implicit -X
-Werror=sequence-point -X -Werror=return-type -X -Werror=uninitialized -X
-Werror=pointer-arith -X -Werror=int-to-pointer-cast -X
-Werror=pointer-to-int-cast -X -Wformat -X -Werror=format-security -X
-Werror=format-nonliteral -X -Werror=redundant-decls -X
-Werror=int-conversion"
+#VALAFLAGS="$VALAFLAGS --vapidir $vapidir --disable-warnings --main main
--save-temps -X -g -X -O0 -X -pipe -X -lm -X -DGETTEXT_PACKAGE=\"valac\" -X
-Werror=return-type -X -Werror=init-self -X -Werror=implicit -X
-Werror=sequence-point -X -Werror=return-type -X -Werror=uninitialized -X
-Werror=pointer-arith -X -Werror=int-to-pointer-cast -X
-Werror=pointer-to-int-cast -X -Wformat -X -Werror=format-security -X
-Werror=format-nonliteral -X -Werror=redundant-decls -X
-Werror=int-conversion"
+# OpenIndiana add -v flag for extra logging
+# Hardcoded --cc flag for now; Use ./configure CC=gcc when building vala
+# System can have many CC's and gcc may not be default
+# Remove -X -Werror=int-conversion; Not an option with gcc (GCC) 4.9.4
OpenIndiana build
+VALAFLAGS="$VALAFLAGS -v --cc=gcc --vapidir $vapidir --disable-warnings
--main main --save-temps -X -g -X -O0 -X -pipe -X -lm -X
-DGETTEXT_PACKAGE=\"valac\" -X -Werror=return-type -X -Werror=init-self -X
-Werror=implicit -X -Werror=sequence-point -X -Werror=return-type -X
-Werror=uninitialized -X -Werror=pointer-arith -X
-Werror=int-to-pointer-cast -X -Werror=pointer-to-int-cast -X -Wformat -X
-Werror=format-security -X -Werror=format-nonliteral -X
-Werror=redundant-decls"
VAPIGEN=$topbuilddir/vapigen/vapigen$EXEEXT
VAPIGENFLAGS="--vapidir $vapidir"
@@ -114,26 +119,32 @@
}
testdir=_test
-rm -rf $testdir
-mkdir $testdir
-cd $testdir
-
-echo -n -e "TEST: Building...\033[72G"
-
-cat << "EOF" > checkall
+
+# Added
+echo "Use gmake check &> test.log for hard coded log file"
+# Changed echo -n -e to printf; No echo -options SunOS; just use newline
+printf "TEST: Building...\n"
+
+for testfile in "$@"; do
+ PACKAGES=gio-2.0
+ SOURCEFILES=
+ cd $builddir
+ rm -rf $testdir
+ mkdir $testdir
+ cd $testdir
+
+ cat << "EOF" > checkall
all=0
fail=0
EOF
-cat << "EOF" > main.vala
+ cat << "EOF" > main.vala
void main (string[] args) {
switch (args[1]) {
EOF
-PACKAGES=gio-2.0
-SOURCEFILES=
-for testfile in "$@"; do
- rm -f prepare check
+ # Changed; entire $testdir is removed inside loop now
+ #rm -f prepare check
echo 'set -e' >> prepare
case "$testfile" in
@@ -172,7 +183,8 @@
INHEADER=0
fi
else
- if echo "$line" | grep -q "^[A-Za-z]\+:"; then
+ # Changed "^[A-Za-z]\+:" to "^[A-Za-z]*:"
+ if echo "$line" | grep -q "^[A-Za-z]*:"; then
sourceend
PART=$(($PART + 1))
INHEADER=1
@@ -189,24 +201,28 @@
esac
cat prepare check > $ns.check
+ # Changed echo -n -e and echo -e to printf
+ # Changed [72G to [50G TEST RESULT SUMMARY all one line and < 80
chars.
cat << EOF >> checkall
-echo -n -e " /$testpath: \033[72G"
+printf " /$testpath: \033[50G"
((all++))
if bash $ns.check &>log; then
- echo -e "\033[0;32mOK\033[m"
+ printf "\033[0;32mOK\033[m"
else
((fail++))
- echo -e "\033[0;31mFAIL\033[m"
+ printf "\033[0;31mFAIL\033[m"
cat log
fi
EOF
-done
-
+# Moved to end
+#done
+
+# Adds space between RESULT and Summary
cat << "EOF" >> checkall
if [ $fail -eq 0 ]; then
- echo "All $all tests passed"
+ echo " All $all tests passed"
else
- echo "$fail of $all tests failed"
+ echo " $fail of $all tests failed"
exit 1
fi
EOF
@@ -217,23 +233,21 @@
}
EOF
-cat $SOURCEFILES >> main.vala
-
-if $VALAC $VALAFLAGS -o test$EXEEXT $([ -z "$PACKAGES" ] || echo $PACKAGES
| xargs -n 1 echo -n " --pkg") main.vala &>log; then
- echo -e "\033[0;32mOK\033[m"
-else
- echo -e "\033[0;31mFAIL\033[m"
- cat log
-
- cd $builddir
- exit 1
-fi
-
-if bash checkall; then
- cd $builddir
- rm -rf $testdir
-else
- cd $builddir
- exit 1
-fi
-
+ # cat $SOURCEFILES does not catch empty; hangs waiting for stdin
+ if [ -n "$SOURCEFILES" ]
+ then
+ cat $SOURCEFILES >> main.vala
+ # Changed echo -n " --pkg" to printf "%s" " --pkg="
+ if ! $VALAC $VALAFLAGS -o test$EXEEXT $([ -z "$PACKAGES" ] || echo
$PACKAGES | xargs -n 1 printf "%s" " --pkg=") main.vala &>log; then
+ # Only show extra logging for failed compiles; checkall shows
failed test anyway
+ cat log
+ fi
+ fi
+
+ # Just run checkall; do not exit even on fails; finish all tests
+ bash checkall
+
+done
+
+# Added; finish in build directory
+cd $builddir
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]