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 _______________________________________________ vala-list mailing list vala-list@gnome.org https://mail.gnome.org/mailman/listinfo/vala-list