From 44e9a0098618adcfc213a76c288eadab005bea76 Mon Sep 17 00:00:00 2001 From: Rico Tzschichholz Date: Sun, 10 Feb 2019 19:58:46 +0100 Subject: [PATCH] WIP meson: Add tests --- meson.build | 12 + tests/meson.build | 1480 +++++++++++++++++++++++++++++++++++++ tests/prepare-test.py | 17 + valadoc/meson.build | 1 + valadoc/tests/meson.build | 70 ++ 5 files changed, 1580 insertions(+) create mode 100644 tests/meson.build create mode 100644 tests/prepare-test.py create mode 100644 valadoc/tests/meson.build diff --git a/meson.build b/meson.build index 68e3765f6..9fa765a13 100644 --- a/meson.build +++ b/meson.build @@ -160,6 +160,17 @@ if valadoc_enabled and cc.run('''#include add_project_arguments('-D', 'WITH_CGRAPH', language: 'vala') endif +add_test_setup('default', is_default: true, env: 'G_SLICE=debug-blocks G_DEBUG=fatal-warnings') + +vg = find_program('valgrind', required: false) +if (vg.found()) + add_test_setup('valgrind', + env: 'G_SLICE=always-malloc G_DEBUG=fatal-warnings', + exe_wrapper: [vg, '--error-exitcode=1', '--leak-check=full', '--track-origins=yes'], + timeout_multiplier: 100, + ) +endif + subdir('gobject-introspection') subdir('gee') subdir('vala') @@ -175,5 +186,6 @@ if valadoc_enabled endif subdir('doc') +subdir('tests') install_data('vala.m4', install_dir: join_paths('share', 'aclocal')) diff --git a/tests/meson.build b/tests/meson.build new file mode 100644 index 000000000..ed3ed786f --- /dev/null +++ b/tests/meson.build @@ -0,0 +1,1480 @@ +test_cases = [ + 'basic-types/gassert.vala', + 'basic-types/integer-literals.vala', + 'basic-types/integers.vala', + 'basic-types/integers-boxed-cast.vala', + 'basic-types/escape-chars.vala', + 'basic-types/float-literals.vala', + 'basic-types/floats.vala', + 'basic-types/floats-boxed-cast.vala', + 'basic-types/boolean.vala', + 'basic-types/custom-types.vala', + 'basic-types/default-gtype.vala', + 'basic-types/strings.vala', + 'basic-types/string-array-append.vala', + 'basic-types/string-concat-null.test', + 'basic-types/arrays.vala', + 'basic-types/arrays-generics.vala', + 'basic-types/arrays-fixed-assignment.vala', + 'basic-types/array-uint8-uchar-compat.vala', + 'basic-types/pointers.vala', + 'basic-types/pointers-arithmetic.vala', + 'basic-types/sizeof.vala', + 'basic-types/garray.vala', + 'basic-types/glists.vala', + 'basic-types/glists_remove.vala', + 'basic-types/gptrarray.vala', + 'basic-types/gvariants.vala', + 'basic-types/gvariants-hashtable-deserialize-missing-type-arguments.test', + 'basic-types/gvariants-hashtable-serialize-missing-type-arguments.test', + 'basic-types/gvariants-unboxing-safe.vala', + 'basic-types/null.vala', + 'basic-types/bug570846.test', + 'basic-types/bug571486.vala', + 'basic-types/bug591552.vala', + 'basic-types/bug595751.vala', + 'basic-types/bug596637.vala', + 'basic-types/bug596785.vala', + 'basic-types/bug604371.vala', + 'basic-types/bug604589.test', + 'basic-types/bug610660.vala', + 'basic-types/bug622178.vala', + 'basic-types/bug632322.vala', + 'basic-types/bug641308.test', + 'basic-types/bug643612.vala', + 'basic-types/bug644046.vala', + 'basic-types/bug647222.vala', + 'basic-types/bug648364.vala', + 'basic-types/bug650993.vala', + 'basic-types/bug652380.vala', + 'basic-types/bug655908.vala', + 'basic-types/bug659975.vala', + 'basic-types/bug678791.vala', + 'basic-types/bug686336.vala', + 'basic-types/bug729907.vala', + 'basic-types/bug731017.vala', + 'basic-types/bug744923.test', + 'basic-types/bug756376.vala', + 'basic-types/bug761307.vala', + 'basic-types/bug761736.vala', + 'basic-types/bug771626.test', + 'basic-types/bug772426.vala', + 'basic-types/bug777697.test', + 'basic-types/bug787152.vala', + 'basic-types/bug788775.vala', + 'constants/array-type-invalid.test', + 'constants/glog.vala', + 'constants/member-access.vala', + 'constants/member-access-enum.vala', + 'constants/strings.vala', + 'namespace/unique.vala', + 'arrays/cast-silent-invalid.test', + 'arrays/cast-struct-boxed-element-access.vala', + 'arrays/class-field-initializer.vala', + 'arrays/class-field-length-cname.vala', + 'arrays/constant-element-access.vala', + 'arrays/element-nullable-assignment.vala', + 'arrays/empty-length-0.vala', + 'arrays/expression-bracket.test', + 'arrays/fixed-length-init0-not-allowed.vala', + 'arrays/field-global-length-cname.vala', + 'arrays/fixed-length-concat-invalid.test', + 'arrays/fixed-length-enum-value.vala', + 'arrays/fixed-length-non-const.test', + 'arrays/fixed-length-resize-invalid.test', + 'arrays/inline-field.test', + 'arrays/inline-local-instantiation.test', + 'arrays/inline-local-variable.test', + 'arrays/inline-ownership-transfer.test', + 'arrays/inline-parameter.test', + 'arrays/inline-struct.vala', + 'arrays/inline-struct-field.test', + 'arrays/in-operator-with-boxed-needle.vala', + 'arrays/length-inline-assignment.vala', + 'arrays/length-type.vala', + 'arrays/length-type-include.vala', + 'arrays/length-no-int-type.test', + 'arrays/struct-field-length-cname.vala', + 'arrays/struct-field-initializer.vala', + 'arrays/struct-initializer-null.vala', + 'arrays/struct-namespaced-initializer.vala', + 'arrays/incompatible-integer-elements.test', + 'arrays/resize.vala', + 'arrays/resize-constant.test', + 'arrays/resize-local-size.vala', + 'arrays/resize-local-size-captured.vala', + 'arrays/resize-unowned-invalid.test', + 'arrays/resize-unowned-invalid-2.test', + 'arrays/resize-unowned-invalid-3.test', + 'arrays/slice-fixed-length.vala', + 'arrays/slice-invalid-start.test', + 'arrays/slice-invalid-stop.test', + 'arrays/slice-no-array.test', + 'chainup/base-arguments.test', + 'chainup/base-class-invalid.test', + 'chainup/base-enum-invalid.test', + 'chainup/base-invalid.test', + 'chainup/base-private.test', + 'chainup/base-struct-invalid.test', + 'chainup/class-base.vala', + 'chainup/class-base-foo.vala', + 'chainup/class-compact-base.vala', + 'chainup/class-compact-this.vala', + 'chainup/class-object.vala', + 'chainup/class-this.vala', + 'chainup/class-this-foo.vala', + 'chainup/method-lambda-base.vala', + 'chainup/no-chainup.vala', + 'chainup/signal-default-handler.vala', + 'chainup/struct-base.vala', + 'chainup/struct-base-foo.vala', + 'chainup/struct-no-gtype-base.vala', + 'chainup/struct-simple-no-gtype-base.vala', + 'chainup/struct-this.vala', + 'chainup/struct-this-foo.vala', + 'chainup/bug791785.vala', + 'pointers/delete.vala', + 'pointers/bug590641.vala', + 'methods/array-length-type.vala', + 'methods/lambda.vala', + 'methods/closures.vala', + 'methods/contains.vala', + 'methods/ellipsis-preceding.test', + 'methods/extern.vala', + 'methods/iterator.vala', + 'methods/local-functions.vala', + 'methods/parameter-fixed-array-initializer.vala', + 'methods/parameter-out-free-on-error.vala', + 'methods/parameter-ref-array-resize.vala', + 'methods/parameter-ref-array-resize-captured.vala', + 'methods/parameter-ref-delegate.vala', + 'methods/parameter-ref-element-access.vala', + 'methods/preconditions-temp-variables.vala', + 'methods/prepostconditions.vala', + 'methods/prepostconditions-captured.vala', + 'methods/prepostconditions-contains.vala', + 'methods/postconditions.vala', + 'methods/postconditions-temp-variables.vala', + 'methods/return-unowned-delegate.vala', + 'methods/same-name.vala', + 'methods/symbolresolution.vala', + 'methods/bug540483.vala', + 'methods/bug595538.vala', + 'methods/bug596726.vala', + 'methods/bug597426.vala', + 'methods/bug598738.vala', + 'methods/bug599892.vala', + 'methods/bug613483.vala', + 'methods/bug615450.test', + 'methods/bug620673.vala', + 'methods/bug620673-2.test', + 'methods/bug622570.vala', + 'methods/bug626783.vala', + 'methods/bug634753.vala', + 'methods/bug639054.vala', + 'methods/bug642350.vala', + 'methods/bug642885.vala', + 'methods/bug642899.vala', + 'methods/bug643088.test', + 'methods/bug646345.vala', + 'methods/bug648030.test', + 'methods/bug648320.vala', + 'methods/bug649562.vala', + 'methods/bug652098.vala', + 'methods/bug653391.vala', + 'methods/bug653908.vala', + 'methods/bug663210.vala', + 'methods/bug699956.vala', + 'methods/bug710862.vala', + 'methods/bug723009.vala', + 'methods/bug723195.vala', + 'methods/bug726347.vala', + 'methods/bug736235.vala', + 'methods/bug737222.vala', + 'methods/bug743877.vala', + 'methods/bug771964.vala', + 'methods/bug774060.vala', + 'methods/bug775466.test', + 'methods/bug781061.vala', + 'methods/bug784691.vala', + 'methods/bug791215.vala', + 'methods/bug791283.vala', + 'methods/argument-array-initilizer.vala', + 'methods/argument-named.vala', + 'methods/delegate-target.vala', + 'methods/generics.vala', + 'methods/nowrapper-interface.vala', + 'methods/nowrapper-no-vfunc.test', + 'methods/parameter-ccode-type.vala', + 'methods/params-array.vala', + 'methods/params-array-abstract.test', + 'methods/params-array-multi-dimensional.test', + 'methods/params-array-preceding.test', + 'methods/params-array-with-throws.vala', + 'methods/print-attribute.vala', + 'methods/print-attribute-invalid.test', + 'methods/printf-invalid.test', + 'methods/printf-constructor.vala', + 'methods/printf-constructor-invalid.test', + 'methods/profile.vala', + 'methods/varargs-delegate.vala', + 'methods/varargs-delegate-without-target.vala', + 'methods/varargs-gvalue.vala', + 'methods/varargs-out.vala', + 'methods/varargs-ref.vala', + 'methods/varargs-struct.vala', + 'control-flow/assigned-local-variable.vala', + 'control-flow/break.vala', + 'control-flow/break-invalid.test', + 'control-flow/coalesce-as-argument.vala', + 'control-flow/coalesce-execution-order.vala', + 'control-flow/coalesce-reference-transfer.vala', + 'control-flow/coalesce-right-value.vala', + 'control-flow/coalesce-short-circuit.vala', + 'control-flow/conditional-as-argument.vala', + 'control-flow/continue-invalid.test', + 'control-flow/double-catch.test', + 'control-flow/expressions-conditional.vala', + 'control-flow/finally-return.test', + 'control-flow/for.vala', + 'control-flow/for-switch-continue.vala', + 'control-flow/foreach.vala', + 'control-flow/garray-foreach-variable.test', + 'control-flow/gptrarray-foreach-variable.test', + 'control-flow/gsequence-foreach-variable.test', + 'control-flow/local-clash-with-implicit-this.vala', + 'control-flow/missing-break.test', + 'control-flow/missing-return.test', + 'control-flow/nested-conditional.vala', + 'control-flow/null-conditional-bool.vala', + 'control-flow/pre-post-increment.vala', + 'control-flow/pre-post-increment-field.vala', + 'control-flow/pre-post-increment-local.vala', + 'control-flow/pre-post-increment-parameter.vala', + 'control-flow/pre-post-increment-property.vala', + 'control-flow/switch.vala', + 'control-flow/switch-enum.vala', + 'control-flow/switch-string.vala', + 'control-flow/sideeffects.vala', + 'control-flow/unassigned-captured-local-variable.test', + 'control-flow/unassigned-local-block-variable.test', + 'control-flow/unassigned-local-variable.test', + 'control-flow/unassigned-local-variable-2.test', + 'control-flow/unassigned-local-variable-3.test', + 'control-flow/unassigned-local-variable-while.test', + 'control-flow/while-false.vala', + 'control-flow/bug628336.vala', + 'control-flow/bug639482.vala', + 'control-flow/bug652549.vala', + 'control-flow/bug661985.vala', + 'control-flow/bug665904.vala', + 'control-flow/bug691514.vala', + 'control-flow/bug736774-1.vala', + 'control-flow/bug736774-2.vala', + 'control-flow/bug761267-1.vala', + 'control-flow/bug761267-2.vala', + 'control-flow/bug761267-3.test', + 'control-flow/bug764440.vala', + 'control-flow/bug790903.test', + 'control-flow/bug790903-2.test', + 'control-semantic/argument-extra.test', + 'control-semantic/argument-incompatible-type-out.test', + 'control-semantic/argument-incompatible-type-ref.test', + 'control-semantic/argument-missing.test', + 'control-semantic/argument-named.test', + 'control-semantic/argument-no-out.test', + 'control-semantic/argument-no-ref.test', + 'control-semantic/argument-null-ref.test', + 'control-semantic/argument-owned-out.test', + 'control-semantic/argument-owned-ref.test', + 'control-semantic/argument-value-out.test', + 'control-semantic/argument-value-ref.test', + 'control-semantic/condition-not-boolean.test', + 'control-semantic/expression-not-boolean.test', + 'control-semantic/literal-immutable.test', + 'control-semantic/member-incompatible-type.test', + 'control-semantic/member-invalid.test', + 'control-semantic/member-private.test', + 'control-semantic/member-readonly.test', + 'control-semantic/printf-too-few.test', + 'control-semantic/printf-too-many.test', + 'control-semantic/this-assignment.test', + 'control-semantic/variadic-argument-invalid.test', + 'enums/default-gtype.vala', + 'enums/enum_only.vala', + 'enums/enum-boxed.vala', + 'enums/enum-no-gtype.vala', + 'enums/enum-gtype-too-short.test', + 'enums/enums.vala', + 'enums/flags.vala', + 'enums/from-0-literal.vala', + 'enums/in-inference.vala', + 'enums/in-invalid.test', + 'enums/no_gtype_to_string.vala', + 'enums/switch.vala', + 'enums/unsafe-assignment.vala', + 'enums/bug614424.vala', + 'enums/bug666035.vala', + 'enums/bug666035-1.test', + 'enums/bug666035-2.test', + 'enums/bug673879.vala', + 'enums/bug763831.vala', + 'enums/bug780050.vala', + 'structs/cast-struct-boxed.vala', + 'structs/cast-struct-to-class.test', + 'structs/cast-struct-to-simple-struct.test', + 'structs/struct_only.vala', + 'structs/struct-base-types.vala', + 'structs/struct-boxed-cast.vala', + 'structs/struct-empty-still.test', + 'structs/struct-gtype-too-short.test', + 'structs/struct-initializer-list-in-array.vala', + 'structs/struct-initializer-list-nested.vala', + 'structs/struct-no-gtype.vala', + 'structs/struct-no-gtype-inherit.vala', + 'structs/struct-static-field-initializer.vala', + 'structs/struct-static-field-initializer-2.test', + 'structs/struct-static-property-initializer.test', + 'structs/structs.vala', + 'structs/constructor-params-array.vala', + 'structs/constructor-variadic.vala', + 'structs/constructor-wrong-name.test', + 'structs/default-gtype.vala', + 'structs/gmutex.vala', + 'structs/gtype-base-struct.vala', + 'structs/gvalue.vala', + 'structs/gvalue-implicit-comparison.vala', + 'structs/properties.vala', + 'structs/simple-type-constructor.vala', + 'structs/simple-type-boxed.vala', + 'structs/simple-type-disposable.test', + 'structs/bug530605.vala', + 'structs/bug572091.vala', + 'structs/bug583603.vala', + 'structs/bug595587.vala', + 'structs/bug596144.vala', + 'structs/bug603056.vala', + 'structs/bug606202.vala', + 'structs/bug609642.vala', + 'structs/bug613513.vala', + 'structs/bug613825.vala', + 'structs/bug621176.vala', + 'structs/bug622422.vala', + 'structs/bug623092.vala', + 'structs/bug651441.vala', + 'structs/bug654646.vala', + 'structs/bug654753.vala', + 'structs/bug656693.vala', + 'structs/bug657378.vala', + 'structs/bug658048.vala', + 'structs/bug660426.vala', + 'structs/bug661945.vala', + 'structs/bug667890.vala', + 'structs/bug669580.vala', + 'structs/bug685177.vala', + 'structs/bug686190.vala', + 'structs/bug688732.vala', + 'structs/bug690380.vala', + 'structs/bug694140.vala', + 'structs/bug749952.vala', + 'structs/bug775761.vala', + 'structs/bug777194.vala', + 'structs/bug777194-2.vala', + 'delegates/casting.vala', + 'delegates/compatible.vala', + 'delegates/delegate_only.vala', + 'delegates/delegate-recusive.vala', + 'delegates/delegates.vala', + 'delegates/delegates-error.test', + 'delegates/error-pos.vala', + 'delegates/fields.vala', + 'delegates/fields-no-target.vala', + 'delegates/gclosure-conversion.vala', + 'delegates/implicit-local-variable.vala', + 'delegates/incompatible.test', + 'delegates/incompatible-assignment.test', + 'delegates/incompatible-error-assignment.test', + 'delegates/incompatible-error-argument.test', + 'delegates/incompatible-error-argument-2.test', + 'delegates/incompatible-initializer.test', + 'delegates/incompatible-target.test', + 'delegates/instance-method-to-no-target.test', + 'delegates/instance-method-to-no-target-2.test', + 'delegates/lambda-incompatible.test', + 'delegates/lambda-mixed-instance-static.vala', + 'delegates/lambda-outer-constant.test', + 'delegates/lambda-shared-closure.vala', + 'delegates/member-target-destroy.vala', + 'delegates/member-target-destroy-2.vala', + 'delegates/params-array.vala', + 'delegates/params-array-with-throws.vala', + 'delegates/reference_transfer.vala', + 'delegates/return-array-null-terminated.vala', + 'delegates/variadic.vala', + 'delegates/wrapper.vala', + 'delegates/bug519949.test', + 'delegates/bug539166.vala', + 'delegates/bug595610.vala', + 'delegates/bug595639.vala', + 'delegates/bug598869.test', + 'delegates/bug632017.test', + 'delegates/bug638415.vala', + 'delegates/bug639751.vala', + 'delegates/bug659778.vala', + 'delegates/bug683925.vala', + 'delegates/bug703804.vala', + 'delegates/bug761360.vala', + 'delegates/bug772204.test', + 'delegates/bug792077.vala', + 'objects/chainup.vala', + 'objects/class-ccode-cprefix.vala', + 'objects/class_only.vala', + 'objects/class-destroysinstance.vala', + 'objects/class-gtype-too-short.test', + 'objects/class-inner-types.vala', + 'objects/class-new-no-override.vala', + 'objects/class-partial.vala', + 'objects/class-partial-conflict-abstract.test', + 'objects/class-partial-conflict-access.test', + 'objects/class-partial-conflict-partial.test', + 'objects/class-partial-conflict-sealed.test', + 'objects/class-partial-nested.vala', + 'objects/class-vfunc-base-access.vala', + 'objects/classes.vala', + 'objects/classes-interfaces.vala', + 'objects/classes-interfaces-virtuals.vala', + 'objects/classes-implicit-implementation.vala', + 'objects/compact-class.vala', + 'objects/compact-class-destructor.vala', + 'objects/compact-class-refcount.vala', + 'objects/compact-class-custom-ref.vala', + 'objects/constructor-abstract-public.test', + 'objects/constructor-inner-error.vala', + 'objects/constructor-variadic.vala', + 'objects/constructor-variadic-invalid.test', + 'objects/constructor-wrong-name.test', + 'objects/constructors.vala', + 'objects/destructors.vala', + 'objects/duplicating-instance-invalid.test', + 'objects/dynamic.vala', + 'objects/generics.vala', + 'objects/initially-unowned.vala', + 'objects/field-leading-digit.test', + 'objects/fields.vala', + 'objects/gobject-class-lifetime.vala', + 'objects/gsource.vala', + 'objects/gtype-class-lifetime.vala', + 'objects/instance-comparison.vala', + 'objects/interface_only.vala', + 'objects/interface-async-base-access.vala', + 'objects/interface-base-access.vala', + 'objects/interface-gtype-too-short.test', + 'objects/interface-inner-types.vala', + 'objects/interfaces.vala', + 'objects/interface-abstract-async-override.vala', + 'objects/interface-async-captured-generic.vala', + 'objects/interface-generics.vala', + 'objects/interface-property-base-access.vala', + 'objects/interface-property-base-impl.vala', + 'objects/interface-property-delegate.vala', + 'objects/interface-property-override.vala', + 'objects/interface-virtual-override.vala', + 'objects/member-initializer-base-properties.vala', + 'objects/member-initializer-chained.vala', + 'objects/member-initializer-chained-2.vala', + 'objects/member-initializer-property.vala', + 'objects/member-initializer-property-owned-setter.vala', + 'objects/methods.vala', + 'objects/paramspec.vala', + 'objects/plugin-module-init.vala', + 'objects/properties.vala', + 'objects/property-array.vala', + 'objects/property-array-length.vala', + 'objects/property-base-access.vala', + 'objects/property-enum.vala', + 'objects/property-notify.vala', + 'objects/property-notify-owned-getter.vala', + 'objects/property-ownership.vala', + 'objects/property-read-only-auto.vala', + 'objects/property-read-only-member-write.test', + 'objects/property-read-only-write.test', + 'objects/property-class-invalid-name.test', + 'objects/property-construct-only.vala', + 'objects/property-construct-only-write.test', + 'objects/property-construct-only-write-after.test', + 'objects/property-construct-only-write-foreign.test', + 'objects/property-delegate.vala', + 'objects/property-delegate-owned.vala', + 'objects/property-gboxed-nullable.vala', + 'objects/property-interface-invalid-name.test', + 'objects/property-real-struct-assignment.vala', + 'objects/property-real-struct-no-accessor.test', + 'objects/property-simple-type-struct-nullable.vala', + 'objects/property-static.vala', + 'objects/property-struct-no-gtype.vala', + 'objects/property-write-only-member-read.test', + 'objects/regex.vala', + 'objects/sealed-abstract-class.test', + 'objects/sealed-class.test', + 'objects/sealed-compact-class.test', + 'objects/signals.vala', + 'objects/signals-default-class-handler.vala', + 'objects/signals-enum-marshal.vala', + 'objects/signals-delegate.vala', + 'objects/signals-delegate-parameter.vala', + 'objects/signals-dynamic-emit.vala', + 'objects/signals-dynamic-invalid-disconnect.test', + 'objects/signals-dymanic-invalid-handler.test', + 'objects/signals-dynamic-invalid-return-type.test', + 'objects/signals-dynamic-lambda-handler.test', + 'objects/signals-emit.vala', + 'objects/signals-error-marshal.vala', + 'objects/signals-fundamental-return.vala', + 'objects/signals-generic-return.vala', + 'objects/signals-gobject-return.vala', + 'objects/signals-lambda-delegate.vala', + 'objects/signals-prototype-access.vala', + 'objects/signals-prototype-access-invalid.test', + 'objects/signals-prototype-access-invalid-2.test', + 'objects/signals-struct-return.vala', + 'objects/simple-generics-chainup.vala', + 'objects/singleton.vala', + 'objects/type-narrowing.vala', + 'objects/type-narrowing-by-precondition.vala', + 'objects/type-narrowing-fallback.vala', + 'objects/test-025.vala', + 'objects/test-026.vala', + 'objects/test-029.vala', + 'objects/test-034.vala', + 'objects/bug541728.test', + 'objects/bug554329.test', + 'objects/bug564011.test', + 'objects/bug564090.test', + 'objects/bug566909.vala', + 'objects/bug574146.test', + 'objects/bug585344.test', + 'objects/bug587905.test', + 'objects/bug588203.vala', + 'objects/bug589928.vala', + 'objects/bug593137.vala', + 'objects/bug593260.vala', + 'objects/bug596621.vala', + 'objects/bug597155.vala', + 'objects/bug597161.vala', + 'objects/bug603491.test', + 'objects/bug613486.vala', + 'objects/bug613840.vala', + 'objects/bug620675.vala', + 'objects/bug620706.vala', + 'objects/bug624594.vala', + 'objects/bug626038.vala', + 'objects/bug626038-2.vala', + 'objects/bug628639.vala', + 'objects/bug629593.vala', + 'objects/bug631267.vala', + 'objects/bug634782.vala', + 'objects/bug641418-1.test', + 'objects/bug641418-2.test', + 'objects/bug641418-3.test', + 'objects/bug641828.vala', + 'objects/bug642809.vala', + 'objects/bug643711.vala', + 'objects/bug644938.vala', + 'objects/bug646362.vala', + 'objects/bug646792.vala', + 'objects/bug647018.vala', + 'objects/bug653138.vala', + 'objects/bug654702.vala', + 'objects/bug663134.vala', + 'objects/bug664529.vala', + 'objects/bug667668.vala', + 'objects/bug681356.vala', + 'objects/bug683646.vala', + 'objects/bug695671.vala', + 'objects/bug702736.vala', + 'objects/bug702846.vala', + 'objects/bug731547.vala', + 'objects/bug741465.vala', + 'objects/bug751338.vala', + 'objects/bug758816.vala', + 'objects/bug760031.test', + 'objects/bug764481.vala', + 'objects/bug767092.test', + 'objects/bug768823.test', + 'objects/bug773956-1.test', + 'objects/bug773956-2.test', + 'objects/bug615830-1.test', + 'objects/bug615830-2.test', + 'objects/bug766739.vala', + 'objects/bug778632.vala', + 'objects/bug779038-1.test', + 'objects/bug779038-2.test', + 'objects/bug779038-3.test', + 'objects/bug779219.vala', + 'objects/bug779955.vala', + 'objects/bug783897.vala', + 'objects/bug788964.vala', + 'objects/bug795225-1.test', + 'objects/bug795225-2.test', + 'objects/bug795225-3.test', + 'objects/bug795225-4.test', + 'objects/bug795521.vala', + 'objects/with-expression.vala', + 'objects/with-instance.vala', + 'objects/with-nested.vala', + 'objects/with-nested-in-lambda.vala', + 'objects/with-nested-method.vala', + 'objects/with-nested-signal.vala', + 'objects/with-nested-unambigous-signal.vala', + 'errors/catch-error-code.vala', + 'errors/catch-in-finally.vala', + 'errors/catch-no-error-type.test', + 'errors/default-gtype.vala', + 'errors/delegate-throws-error-code.vala', + 'errors/delegate-throws-no-error-type.test', + 'errors/errors.vala', + 'errors/errorcode.vala', + 'errors/errordomain.vala', + 'errors/errordomain-instance-method.test', + 'errors/errordomain-static-method.vala', + 'errors/invalid-type-check.test', + 'errors/loops.vala', + 'errors/method-throws.vala', + 'errors/method-throws-error-code.vala', + 'errors/method-throws-no-error-type.test', + 'errors/unhandled.vala', + 'errors/bug567181.vala', + 'errors/bug579101.vala', + 'errors/bug596228.vala', + 'errors/bug623049.vala', + 'errors/bug627090.vala', + 'errors/bug639589.vala', + 'errors/bug651145.vala', + 'errors/bug762377.vala', + 'errors/bug778224.vala', + 'asynchronous/bug595735.vala', + 'asynchronous/bug595755.vala', + 'asynchronous/bug596177.vala', + 'asynchronous/bug596861.vala', + 'asynchronous/bug597294.vala', + 'asynchronous/bug598677.vala', + 'asynchronous/bug598697.vala', + 'asynchronous/bug598698.vala', + 'asynchronous/bug599568.vala', + 'asynchronous/bug600827.vala', + 'asynchronous/bug601558.vala', + 'asynchronous/bug602594.vala', + 'asynchronous/bug612641.vala', + 'asynchronous/bug613484.vala', + 'asynchronous/bug614294.vala', + 'asynchronous/bug620740.vala', + 'asynchronous/bug626053.vala', + 'asynchronous/bug639591.vala', + 'asynchronous/bug640721.vala', + 'asynchronous/bug641182.vala', + 'asynchronous/bug646945.vala', + 'asynchronous/bug652252.vala', + 'asynchronous/bug653861.vala', + 'asynchronous/bug654336.vala', + 'asynchronous/bug654337.vala', + 'asynchronous/bug659886.vala', + 'asynchronous/bug661961.vala', + 'asynchronous/bug710103.vala', + 'asynchronous/bug741929.vala', + 'asynchronous/bug742621.vala', + 'asynchronous/bug762819.vala', + 'asynchronous/bug777242.vala', + 'asynchronous/bug783543.vala', + 'asynchronous/bug792660.vala', + 'asynchronous/bug792942.vala', + 'asynchronous/bug793158.vala', + 'asynchronous/captured-fixed-array.vala', + 'asynchronous/catch-error-scope.vala', + 'asynchronous/catch-in-finally.vala', + 'asynchronous/creation-missing-yield.test', + 'asynchronous/closures.vala', + 'asynchronous/constructor-argument-check.vala', + 'asynchronous/finish-name.vala', + 'asynchronous/generator.vala', + 'asynchronous/main-block-async-call.vala', + 'asynchronous/main-block-async-creation.vala', + 'asynchronous/main-block-async-yield.vala', + 'asynchronous/method-main-async.vala', + 'asynchronous/method-main-async-void.vala', + 'asynchronous/nowrapper.vala', + 'asynchronous/out-parameter-free-on-error.vala', + 'asynchronous/out-parameter-invalid.test', + 'asynchronous/params-array-invalid.test', + 'asynchronous/result-pos.vala', + 'asynchronous/variadic-invalid.test', + 'asynchronous/variadic-invalid-2.test', + 'asynchronous/yield.vala', + 'threads/threadpool.vala', + 'generics/arrays.vala', + 'generics/arrays-not-supported.test', + 'generics/arrays-not-supported-2.test', + 'generics/arrays-not-supported-3.test', + 'generics/constructor-chain-up.vala', + 'generics/floating-type-cast.vala', + 'generics/gvariant-serialization.test', + 'generics/inference-argument-may-fail.vala', + 'generics/inference-static-function.vala', + 'generics/integer-member-access.vala', + 'generics/integer-type-cast.vala', + 'generics/integer-type-cast-return.vala', + 'generics/parameter-invalid-initializer.test', + 'generics/parameter-sizeof-initializer.vala', + 'generics/member-dup-destroy.vala', + 'generics/null-type.vala', + 'generics/property-gobject-set.vala', + 'generics/property-int-cast.vala', + 'generics/reference-transfer.vala', + 'generics/string-literal-comparison.vala', + 'generics/type-parameter-properties.vala', + 'generics/type-parameter-property-clash.vala', + 'generics/value-pointer-type-access.vala', + 'generics/bug640330.vala', + 'generics/bug640330-2.test', + 'generics/bug694765-1.vala', + 'generics/bug694765-2.vala', + 'generics/bug694765-3.vala', + 'annotations/deprecated.vala', + 'annotations/deprecated-delegate-minimal.vala', + 'annotations/deprecated-enum-minimal.vala', + 'annotations/deprecated-method-minimal.vala', + 'annotations/deprecated-property-minimal.vala', + 'annotations/deprecated-struct-minimal.vala', + 'annotations/description.vala', + 'annotations/noaccessormethod.test', + 'scanner/comment-not-closed.test', + 'scanner/preprocessor-invalid.test', + 'scanner/preprocessor-missing-paren.test', + 'scanner/preprocessor-unexpected.test', + 'scanner/regex-escape-invalid.test', + 'scanner/regex-escape-u-digit-length.test', + 'scanner/regex-escape-u-empty.test', + 'scanner/regex-escape-x-digit-length.test', + 'scanner/regex-escape-x-empty.test', + 'scanner/regex-escape-x.vala', + 'scanner/regex-multiple-i.test', + 'scanner/regex-multiple-m.test', + 'scanner/regex-multiple-s.test', + 'scanner/regex-multiple-x.test', + 'scanner/string-escape-u-digit-length.test', + 'scanner/string-escape-u-empty.test', + 'scanner/string-escape-x-digit-length.test', + 'scanner/string-escape-x-empty.test', + 'scanner/string-escape-x.vala', + 'parser/argument-list-incomplete.test', + 'parser/array-creation-invalid.test', + 'parser/array-length.vala', + 'parser/assignment.vala', + 'parser/attribute-duplicate.test', + 'parser/attribute-missing-literal.test', + 'parser/attribute-wrong-number.test', + 'parser/block-delimiter-missing.test', + 'parser/constant-owned.test', + 'parser/constant-local-owned.test', + 'parser/constructor-class-exists.test', + 'parser/constructor-exists.test', + 'parser/constructor-no-new.test', + 'parser/constructor-no-static-class.test', + 'parser/constructor-static-exists.test', + 'parser/continue-statement.vala', + 'parser/creation-no-abstract.test', + 'parser/creation-no-new.test', + 'parser/creation-no-override.test', + 'parser/creation-no-virtual.test', + 'parser/declaration-embedded.test', + 'parser/delegate-anonymous.test', + 'parser/delegate-no-new.test', + 'parser/destructor-class-exists.test', + 'parser/destructor-exists.test', + 'parser/destructor-no-new.test', + 'parser/destructor-no-static-class.test', + 'parser/destructor-static-exists.test', + 'parser/destructor-wrong-name.test', + 'parser/do-statement.vala', + 'parser/expect-endbrace.test', + 'parser/expect-error.test', + 'parser/field-no-abstract.test', + 'parser/field-no-override.test', + 'parser/field-no-static-class.test', + 'parser/field-no-virtual.test', + 'parser/foreach.vala', + 'parser/foreach-no-type.test', + 'parser/function-syntax-error.test', + 'parser/initializer-list-incomplete.test', + 'parser/inner-array-size.test', + 'parser/invalid-brace.test', + 'parser/invalid-statement-delimiter.test', + 'parser/local-variable.vala', + 'parser/local-variable-array-type-invalid.test', + 'parser/lock-statement.vala', + 'parser/main-block.vala', + 'parser/main-block-minimal.vala', + 'parser/member-access-pointer.vala', + 'parser/member-initializer.vala', + 'parser/member-initializer-empty.vala', + 'parser/member-initializer-trailing-comma.vala', + 'parser/method-no-abstract-override.test', + 'parser/method-no-abstract-virtual-override.test', + 'parser/method-no-abstract-virtual.test', + 'parser/method-no-class-abstract.test', + 'parser/method-no-class-override.test', + 'parser/method-no-class-virtual.test', + 'parser/method-no-static-abstract.test', + 'parser/method-no-static-class.test', + 'parser/method-no-static-override.test', + 'parser/method-no-static-virtual.test', + 'parser/method-no-virtual-override.test', + 'parser/namespaces.vala', + 'parser/namespace-missing-bracket.test', + 'parser/preprocessor.vala', + 'parser/preprocessor-glib.vala', + 'parser/preprocessor-vala.vala', + 'parser/property-default-redefined.test', + 'parser/property-get-must-have-body.test', + 'parser/property-get-redefined.test', + 'parser/property-get-set-construct.test', + 'parser/property-no-abstract-override.test', + 'parser/property-no-abstract-virtual.test', + 'parser/property-no-abstract-virtual-override.test', + 'parser/property-no-static-class.test', + 'parser/property-no-virtual-override.test', + 'parser/property-set-must-have-body.test', + 'parser/property-set-redefined.test', + 'parser/qualified-member-access.vala', + 'parser/qualified-symbol-access.vala', + 'parser/sealed-class.vala', + 'parser/signal-no-class.test', + 'parser/signal-no-static.test', + 'parser/statement-keyword-as-identifier.vala', + 'parser/statement-outside-root.test', + 'parser/switch-statement.vala', + 'parser/switch-section-outside-switch.test', + 'parser/template.vala', + 'parser/tuple.vala', + 'parser/unsupported-property-async.test', + 'parser/unsupported-property-throws.test', + 'parser/using-ambiguous-reference.test', + 'parser/using-directive.vala', + 'parser/using-invalid-namespace.test', + 'parser/var-type-nullable.vala', + 'parser/with-embedded.vala', + 'parser/with-empty.vala', + 'parser/with-invalid-declaration.test', + 'parser/with-invalid-expression.test', + 'parser/with-no-block.test', + 'parser/with-no-expression.test', + 'parser/yield-method.test', + 'parser/yield-return-invalid.test', + 'parser/yield-return.vala', + 'parser/bug728574.vala', + 'parser/bug749576.vala', + 'parser-keep-going/member-initializer.vala', + 'resolver/class-base-cycle.test', + 'resolver/interface-prerequisite-cycle.test', + 'resolver/peek-inner-types-ambiguous.test', + 'resolver/peek-inner-types.vala', + 'resolver/struct-base-cycle.test', + 'ordering/constant-class.vala', + 'ordering/constant-constant.vala', + 'ordering/constant-enum.vala', + 'ordering/constant-field.vala', + 'ordering/constant-struct.vala', + 'ordering/delegate-class.vala', + 'ordering/delegate-enum.vala', + 'ordering/delegate-interface.vala', + 'ordering/delegate-struct.vala', + 'ordering/struct-delegate.vala', + 'semantic/address-of-invalid.test', + 'semantic/array-stacked.test', + 'semantic/array-incompatible-initializer.test', + 'semantic/array-incompatible-initializer2.test', + 'semantic/array-invalid-type-argument.test', + 'semantic/array-length-invalid.test', + 'semantic/array-length-nullable.test', + 'semantic/array-too-few-type-arguments.test', + 'semantic/array-too-many-type-arguments.test', + 'semantic/assignment-element-incompatible-ownership.test', + 'semantic/assignment-element-incompatible-type.test', + 'semantic/assignment-fixed-array-length.test', + 'semantic/assignment-same-variable.vala', + 'semantic/assignment-signal-incompatible-method.test', + 'semantic/assignment-signal-incompatible-type.test', + 'semantic/assignment-invalid-type.test', + 'semantic/cast-gvalue-unsupported.test', + 'semantic/cast-gvariant-unsupported.test', + 'semantic/cast-void-not-allowed.test', + 'semantic/chainup-gobject-incompatible-type-property.test', + 'semantic/chainup-gobject-unknown-property.test', + 'semantic/chainup-gobject-unsupported-type-property.test', + 'semantic/class-base-type-invalid.test', + 'semantic/class-base-type-less-accessible.test', + 'semantic/class-base-type-multiple.test', + 'semantic/class-compact-field-class.test', + 'semantic/class-compact-field-lock.test', + 'semantic/class-compact-field-private.test', + 'semantic/class-compact-derived-instance-field.test', + 'semantic/class-compact-interface.test', + 'semantic/class-compact-method-baseaccess.test', + 'semantic/class-compact-property-baseaccess.test', + 'semantic/class-opaque.vala', + 'semantic/class-opaque-public-field.test', + 'semantic/class-opaque-abstract-method.test', + 'semantic/class-opaque-abstract-property.test', + 'semantic/class-opaque-automatic-property.vala', + 'semantic/class-missing-implement-interface-method.test', + 'semantic/class-missing-implement-interface-property.test', + 'semantic/class-missing-implement-interfaces-methods.test', + 'semantic/class-missing-implement-interfaces-methods2.test', + 'semantic/class-missing-implement-interfaces-methods3.test', + 'semantic/class-missing-implement-method.test', + 'semantic/class-missing-implement-property.test', + 'semantic/class-missing-prerequisites.test', + 'semantic/class-singleton-base.test', + 'semantic/class-singleton-non-gobject.test', + 'semantic/class-too-few-type-arguments.test', + 'semantic/class-too-many-type-arguments.test', + 'semantic/conditional-expression-incompatible.test', + 'semantic/conditional-expression-no-block.test', + 'semantic/constant-extern.test', + 'semantic/constant-pointer.test', + 'semantic/constant-reassignment-element.test', + 'semantic/constant-reassignment-member.test', + 'semantic/constant-type-less-accessible.test', + 'semantic/constant-value.test', + 'semantic/constant-value-less-accessible.test', + 'semantic/constant-value-missing.test', + 'semantic/constant-value-type.test', + 'semantic/constant-void.test', + 'semantic/construct-without-gobject.test', + 'semantic/creation-error-accessibility.test', + 'semantic/creation-method-enum.test', + 'semantic/creation-method-errordomain.test', + 'semantic/creation-method-interface.test', + 'semantic/creation-method-namespace.test', + 'semantic/delegate-access-destroy-invalid.test', + 'semantic/delegate-access-target-invalid.test', + 'semantic/delegate-error-accessibility.test', + 'semantic/delegate-return-valist.test', + 'semantic/delegate-too-few-type-arguments.test', + 'semantic/delegate-too-many-type-arguments.test', + 'semantic/delete-unsupported.test', + 'semantic/element-access-index-invalid.test', + 'semantic/enum-empty.test', + 'semantic/enum-value-less-accessible.test', + 'semantic/errordomain-empty.test', + 'semantic/field-accessibility.test', + 'semantic/field-compact-static.test', + 'semantic/field-constant.vala', + 'semantic/field-external.test', + 'semantic/field-incompatible.test', + 'semantic/field-interface.test', + 'semantic/field-namespace-owned.test', + 'semantic/field-non-constant.test', + 'semantic/field-owned-to-unowned.test', + 'semantic/field-static-instance-access.test', + 'semantic/field-too-few-type-arguments.test', + 'semantic/field-too-many-type-arguments.test', + 'semantic/field-valist.test', + 'semantic/field-void.test', + 'semantic/floating-reference.vala', + 'semantic/floating-reference-base-method.vala', + 'semantic/floating-reference-error.vala', + 'semantic/foreach-iterator-args.test', + 'semantic/foreach-iterator-element-owned.test', + 'semantic/foreach-iterator-void.test', + 'semantic/foreach-iterator-wrong-types.test', + 'semantic/foreach-missing-generic-type.test', + 'semantic/foreach-missing-iterator.test', + 'semantic/foreach-missing-next-value.test', + 'semantic/foreach-next-args.test', + 'semantic/foreach-next-get-args.test', + 'semantic/foreach-next-get-void.test', + 'semantic/foreach-next-missing-get.test', + 'semantic/foreach-next-value-args.test', + 'semantic/foreach-next-value-void.test', + 'semantic/foreach-next-void.test', + 'semantic/foreach-wrong-types.test', + 'semantic/initializer-invalid-type.test', + 'semantic/initializer-unknown-type.test', + 'semantic/interface-prerequisite-invalid.test', + 'semantic/interface-prerequisite-less-accessible.test', + 'semantic/interface-prerequisite-multiple.test', + 'semantic/literal-expression.test', + 'semantic/localvariable-owned-to-unowned.test', + 'semantic/localvariable-var-pointer-initializer.vala', + 'semantic/localvariable-var-static-access-instance-field.test', + 'semantic/localvariable-var-static-access-instance-method.test', + 'semantic/localvariable-var-static-access-instance-property.test', + 'semantic/localvariable-var-without-initializer.test', + 'semantic/localvariable-void.test', + 'semantic/lock-not-current-class.test', + 'semantic/lock-not-lockable.test', + 'semantic/member-access-async-callback-invalid.test', + 'semantic/member-access-capture-out.test', + 'semantic/member-access-capture-valist-parameter.test', + 'semantic/member-access-capture-valist-variable.test', + 'semantic/member-access-not-found.test', + 'semantic/member-access-protected-invalid.test', + 'semantic/member-access-this-invalid.test', + 'semantic/member-access-undefined.test', + 'semantic/member-access-static-with-instance.vala', + 'semantic/member-access-static-transformed-qualified.vala', + 'semantic/member-access-transformed-qualified.vala', + 'semantic/method-abstract.test', + 'semantic/method-abstract-body.test', + 'semantic/method-async-ref-parameter.test', + 'semantic/method-body.test', + 'semantic/method-class-abstract.test', + 'semantic/method-derived-compact.test', + 'semantic/method-error-accessibility.test', + 'semantic/method-extern-abstract.test', + 'semantic/method-extern-body.test', + 'semantic/method-extern-virtual.test', + 'semantic/method-interface-already-found.test', + 'semantic/method-interface-not-found.test', + 'semantic/method-main-inline.test', + 'semantic/method-main-throws.test', + 'semantic/method-override.test', + 'semantic/method-postcondition.test', + 'semantic/method-precondition.test', + 'semantic/method-private-abstract.test', + 'semantic/method-private-override.test', + 'semantic/method-private-virtual.test', + 'semantic/method-protected.test', + 'semantic/method-return-accessibility.test', + 'semantic/method-return-too-few-type-arguments.test', + 'semantic/method-return-too-many-type-arguments.test', + 'semantic/method-return-valist.test', + 'semantic/method-too-few-type-arguments.test', + 'semantic/method-too-many-type-arguments.test', + 'semantic/method-virtual.test', + 'semantic/method-virtual-body.test', + 'semantic/methodcall-field-initializer-throws.test', + 'semantic/methodcall-invalid-argument-lambda.test', + 'semantic/methodcall-void-expression.test', + 'semantic/methodcall-yield-with-begin.test', + 'semantic/objectcreation-abstract-class.test', + 'semantic/objectcreation-field-initializer-throws.test', + 'semantic/objectcreation-no-creation-method.test', + 'semantic/objectcreation-non-public-constructor.test', + 'semantic/objectcreation-unsupported-type.test', + 'semantic/parameter-accessibility.test', + 'semantic/parameter-default-invalid.test', + 'semantic/parameter-default-type.test', + 'semantic/parameter-out-default.test', + 'semantic/parameter-params.test', + 'semantic/parameter-ref-default.test', + 'semantic/parameter-too-few-type-arguments.test', + 'semantic/parameter-too-many-type-arguments.test', + 'semantic/parameter-void.test', + 'semantic/params-array-multiple.test', + 'semantic/params-array-objectcreation-multiple.test', + 'semantic/params-array-objectcreation-struct-length.test', + 'semantic/params-array-struct-length.test', + 'semantic/pointer-indirection-type-not-supported.test', + 'semantic/pointer-indirection-void-not-supported.test', + 'semantic/property-abstract.test', + 'semantic/property-abstract-derived-compact.test', + 'semantic/property-accessibility.test', + 'semantic/property-construct.test', + 'semantic/property-initializer-type.test', + 'semantic/property-method-returns-modified-pointer.test', + 'semantic/property-override.test', + 'semantic/property-override-class.test', + 'semantic/property-override-interface.test', + 'semantic/property-static-instance-access.test', + 'semantic/property-struct-abstract.test', + 'semantic/property-struct-override.test', + 'semantic/property-struct-protected.test', + 'semantic/property-struct-virtual.test', + 'semantic/property-too-few-type-arguments.test', + 'semantic/property-too-many-type-arguments.test', + 'semantic/property-void.test', + 'semantic/reference-transfer-not-supported.test', + 'semantic/reference-transfer-unavailable.test', + 'semantic/return-in-nonvoid.test', + 'semantic/return-in-void.test', + 'semantic/return-missing-ownership.test', + 'semantic/return-missing-transfer.test', + 'semantic/signal-clash-inherited.test', + 'semantic/signal-compact-class.test', + 'semantic/signal-detail-invalid.test', + 'semantic/signal-detail-non-string.test', + 'semantic/struct-derived.test', + 'semantic/signal-disconnect-empty-invalid.test', + 'semantic/signal-disconnect-invalid.test', + 'semantic/signal-return-valist.test', + 'semantic/struct-base-type-less-accessible.test', + 'semantic/struct-field-initializer.test', + 'semantic/struct-invalid-base.test', + 'semantic/struct-recursive.test', + 'semantic/struct-recursive-in-struct.test', + 'semantic/switch-duplicate-label.test', + 'semantic/switch-label-not-compatible.test', + 'semantic/switch-label-not-constant.test', + 'semantic/switch-type-unsupported.test', + 'semantic/throw-no-error-type.test', + 'semantic/throw-unknown-error-type.test', + 'semantic/type-argument-ownership-mismatch.test', + 'semantic/unary-invalid-instance-member-access.test', + 'semantic/unary-unsupported-complement.test', + 'semantic/unary-unsupported-decrement.test', + 'semantic/unary-unsupported-increment.test', + 'semantic/unary-unsupported-minus.test', + 'semantic/unary-unsupported-negation.test', + 'semantic/unary-unsupported-out-ref.test', + 'semantic/unlock-not-current-class.test', + 'semantic/unlock-not-lockable.test', + 'semantic/with-array.test', + 'semantic/with-buildin.vala', + 'semantic/with-class.test', + 'semantic/with-compact.vala', + 'semantic/with-declaration-cast-type.vala', + 'semantic/with-declaration-wrong-type.test', + 'semantic/with-declaration.vala', + 'semantic/with-dereferenced-pointer.vala', + 'semantic/with-enum.test', + 'semantic/with-enum-member.vala', + 'semantic/with-error.test', + 'semantic/with-error-member.test', + 'semantic/with-pointer.test', + 'semantic/with-namespace.test', + 'semantic/with-no-declaration.test', + 'semantic/with-no-such-member.test', + 'semantic/with-null.vala', + 'semantic/with-string.vala', + 'semantic/with-outside-declaration.test', + 'semantic/with-value.vala', + 'semantic/yield-call-requires-async-context.test', + 'semantic/yield-call-requires-async-method.test', + 'semantic/yield-call-requires-async-method-2.test', + 'semantic/yield-creation-requires-async-context.test', + 'semantic/yield-creation-requires-async-method.test', + 'semantic/yield-statement-requires-async-context.test', + 'glib/conditional-glib-api.vala', + 'bindings/gio/memoryoutputstream.vala', +] + +dbus_test_cases = [ + 'dbus/basic-types.test', + 'dbus/arrays.test', + 'dbus/structs.test', + 'dbus/errors.test', + 'dbus/async.test', + 'dbus/async-bus.test', + 'dbus/async-connection.test', + 'dbus/async-errors.test', + 'dbus/async-no-reply.test', + 'dbus/connection.test', + 'dbus/dbus-name-missing.test', + 'dbus/dynamic-method.test', + 'dbus/enum-string-marshalling.vala', + 'dbus/generics.test', + 'dbus/no-reply.test', + 'dbus/signals.test', + 'dbus/filedescriptor.test', + 'dbus/filedescriptor-async.test', + 'dbus/filedescriptor-errors.test', + 'dbus/dicts.test', + 'dbus/bug596862.vala', + 'dbus/bug602003.test', + 'dbus/bug735437.test', + 'dbus/bug782719.test', + 'dbus/bug783002.test', + 'dbus/bug792277.vala', + 'dbus/rawvariants.test', + 'dbus/interface-info.test', +] + +gir_test_cases = [ + 'gir/bug651773.test', + 'gir/bug667751.test', + 'gir/bug742012.test', + 'gir/bug788775.test', + 'gir/bug792998.test', + 'gir/alias.test', + 'gir/array-fixed-length.test', + 'gir/async-creation-method.test', + 'gir/async-result-pos.test', + 'gir/async-sync-out.test', + 'gir/class.test', + 'gir/class-final.test', + 'gir/constant.test', + 'gir/delegate-alias-without-target.test', + 'gir/delegate-anonymous.test', + 'gir/delegate-array-length-type.test', + 'gir/delegate-closure-destroy-index-conflict.test', + 'gir/delegate-error-pos.test', + 'gir/enum.test', + 'gir/errordomain.test', + 'gir/gtype-struct-name.test', + 'gir/instance-parameter-owned.test', + 'gir/method-array-length-type.test', + 'gir/method-class.test', + 'gir/method-nowrapper.test', + 'gir/parameter-array-length-type.test', + 'gir/parameter-nullable-out-simple-type.test', + 'gir/property-non-readable.test', + 'gir/signal-virtual.test', + 'gir/symbol-type-csuffix.test', + 'gir/union.test', + 'gir/union-transparent.test', + 'girwriter/combined.test', +] + +gtk_test_cases = [ + 'gtktemplate/gtkcallback-incompatible.test', + 'gtktemplate/gtkcallback-unknown.test', + 'gtktemplate/gtkchild-field-assignment.test', + 'gtktemplate/gtkchild-field-incompatible-type.test', + 'gtktemplate/gtkchild-field-out-assignment.test', + 'gtktemplate/gtkchild-field-ref-assignment.test', + 'gtktemplate/gtkchild-field-unknown.test', + 'gtktemplate/gtkchild-property-assignment.test', + 'gtktemplate/gtkchild-property-not-automatic.test', + 'gtktemplate/gtkchild-property-unknown.test', + 'gtktemplate/gtkchild-without-gtktemplate.test', + 'gtktemplate/gtktemplate-gtkwidget-subclass.test', +] + + +test_cases_non_null = [ + 'nullability/bug611223.vala', + 'nullability/local-variable-invalid-convert.test', + 'nullability/member-access-narrowed-instance.vala', + 'nullability/member-access-nullable-instance.test', + 'nullability/method-parameter-invalid-convert.test', + 'nullability/method-return-invalid-convert.test', + 'nullability/string-concat.test', + 'nullability/with-non-null.test', + 'nullability/var-type.vala', +] + +test_cases_linux = [ + 'linux/bug793444.vala', + 'linux/file-commandpipe.vala', +] + +test_cases_posix = [ + 'posix/arrays.vala', + 'posix/empty-length-0.vala', + 'posix/string-concat.vala', + 'posix/string-printf.vala', + 'posix/struct_only.vala', + 'posix/delegate_only.vala', + 'posix/enum_only.vala', + 'posix/enum-to-string.vala', +] + +test_cases_version_check = [ + 'version/since-constant.test', + 'version/since-field.test', + 'version/since-local-variable.test', + 'version/since-method.test', + 'version/since-parameter.test', +] + +test_cases += [ + 'genie/case.gs', + 'genie/class.gs', + 'genie/class-abstract.gs', + 'genie/class-field.gs', + 'genie/class-init.gs', + 'genie/class-property.gs', + 'genie/class-signal.gs', + 'genie/constant.gs', + 'genie/control-flow-if-do.gs', + 'genie/control-flow-if-else.gs', + 'genie/control-flow-if-else-if.gs', + 'genie/control-flow-if-greater-than.gs', + 'genie/control-flow-if.gs', + 'genie/control-flow-if-identity.gs', + 'genie/control-flow-if-less-than.gs', + 'genie/do-while.gs', + 'genie/enum.gs', + 'genie/enum-with-keyword-values.gs', + 'genie/exception.gs', + 'genie/for-downto.gs', + 'genie/for-in.gs', + 'genie/for-to.gs', + 'genie/function.gs', + 'genie/function-returns-closure.gs', + 'genie/function-with-argument.gs', + 'genie/function-with-return-value.gs', + 'genie/indentation-with-spaces.gs', + 'genie/init.gs', + 'genie/init-int.gs', + 'genie/initializer-list.gs', + 'genie/interface.gs', + 'genie/literal-boolean-assignment.gs', + 'genie/literal-boolean.gs', + 'genie/literal-character.gs', + 'genie/literal-hexadecimal.gs', + 'genie/literal-integer.gs', + 'genie/literal-integer-long-long-suffix.gs', + 'genie/literal-null.gs', + 'genie/literal-octal.gs', + 'genie/literal-real.gs', + 'genie/literal-regex.gs', + 'genie/literal-template-string.gs', + 'genie/literal-verbatim-string.gs', + 'genie/operator-addition.gs', + 'genie/operator-assignment-combined.gs', + 'genie/operator-assignment.gs', + 'genie/operator-bitwise-and.gs', + 'genie/operator-bitwise-left-shift.gs', + 'genie/operator-bitwise-not.gs', + 'genie/operator-bitwise-or.gs', + 'genie/operator-bitwise-right-shift.gs', + 'genie/operator-bitwise-xor.gs', + 'genie/operator-division.gs', + 'genie/operator-equal.gs', + 'genie/operator-greater-than-equal.gs', + 'genie/operator-less-than-equal.gs', + 'genie/operator-less-than.gs', + 'genie/operator-logical-and.gs', + 'genie/operator-logical-not.gs', + 'genie/operator-logical-or.gs', + 'genie/operator-modulo.gs', + 'genie/operator-multiply.gs', + 'genie/operator-not-equal.gs', + 'genie/operator-post-decrement.gs', + 'genie/operator-post-increment.gs', + 'genie/operator-pre-decrement.gs', + 'genie/operator-pre-increment.gs', + 'genie/operators-greater-than.gs', + 'genie/operator-subtraction.gs', + 'genie/operator-ternary.gs', + 'genie/preparser-and-expression.gs', + 'genie/preparser-elif.gs', + 'genie/preparser-equality-expression.gs', + 'genie/preparser.gs', + 'genie/preparser-not.gs', + 'genie/preparser-or-expression.gs', + 'genie/print.gs', + 'genie/sizeof.gs', + 'genie/struct.gs', + 'genie/struct-after-class.gs', + 'genie/try-except-finally.gs', + 'genie/typeof.gs', + 'genie/while.gs', +] + +vala_flags = [ + '--vapidir', join_paths(meson.source_root(), 'vapi'), + '--enable-checking', + '--disable-version-header', + '--disable-warnings', + '--save-temps', + '--cc', cc.cmd_array()[-1], + '-X', '-g', + '-X', '-O0', + '-X', '-pipe', + '-X', '-lm', + '-X', '-DGETTEXT_PACKAGE="valac"', +] + +test_envars = [ + 'G_DEBUG=fatal-warnings', +] + +foreach flag : supported_test_cflags + vala_flags += ['-X', flag] +endforeach + +preparetest = find_program('prepare-test.py') + +foreach case : test_cases + if case.endswith('.vala') or case.endswith('.gs') + test(case, + valac_exe, + workdir: meson.current_build_dir(), + args: vala_flags + ['--pkg', 'gio-2.0', join_paths(meson.current_source_dir(), case)], + env: test_envars, + ) + else + invalid_case = run_command(preparetest, + join_paths(meson.current_source_dir(), case), + join_paths(meson.current_build_dir(), case.underscorify() + '.vala'), + ) + test(case, + valac_exe, + workdir: meson.current_build_dir(), + should_fail: true, + args: vala_flags + ['--pkg', 'gio-2.0', case.underscorify() + '.vala'], + env: test_envars, + ) + endif +endforeach + +foreach case : test_cases_non_null + if case.endswith('.vala') or case.endswith('.gs') + test(case, + valac_exe, + workdir: meson.current_build_dir(), + args: vala_flags + ['--enable-experimental-non-null', '--pkg', 'gio-2.0', join_paths(meson.current_source_dir(), case)], + env: test_envars, + ) + else + invalid_case = run_command(preparetest, + join_paths(meson.current_source_dir(), case), + join_paths(meson.current_build_dir(), case.underscorify() + '.vala'), + ) + test(case, + valac_exe, + workdir: meson.current_build_dir(), + should_fail: true, + args: vala_flags + ['--enable-experimental-non-null', '--pkg', 'gio-2.0', case.underscorify() + '.vala'], + env: test_envars, + ) + endif +endforeach + +foreach case : test_cases_linux + if case.endswith('.vala') or case.endswith('.gs') + test(case, + valac_exe, + workdir: meson.current_build_dir(), + args: vala_flags + ['--pkg', 'linux', join_paths(meson.current_source_dir(), case)], + env: test_envars, + ) + endif +endforeach + +foreach case : test_cases_posix + if case.endswith('.vala') or case.endswith('.gs') + test(case, + valac_exe, + workdir: meson.current_build_dir(), + args: vala_flags + ['--profile', 'posix', '--pkg', 'posix', '--pkg', 'linux', join_paths(meson.current_source_dir(), case)], + env: test_envars, + ) + endif +endforeach + +foreach case : test_cases_version_check + if case.endswith('.vala') or case.endswith('.gs') + test(case, + valac_exe, + workdir: meson.current_build_dir(), + args: vala_flags + [join_paths(meson.current_source_dir(), case)], + env: test_envars + ['PKG_CONFIG_PATH=' + join_paths(meson.current_source_dir(), 'version')], + ) + else + invalid_case = run_command(preparetest, + join_paths(meson.current_source_dir(), case), + join_paths(meson.current_build_dir(), case.underscorify() + '.vala'), + ) + test(case, + valac_exe, + workdir: meson.current_build_dir(), + should_fail: true, + args: vala_flags + [case.underscorify() + '.vala'], + env: test_envars + ['PKG_CONFIG_PATH=' + join_paths(meson.current_source_dir(), 'version')], + ) + endif +endforeach diff --git a/tests/prepare-test.py b/tests/prepare-test.py new file mode 100644 index 000000000..bdf7502a4 --- /dev/null +++ b/tests/prepare-test.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python3 + +import sys, os, re +from pathlib import Path + +if len(sys.argv) != 3: + print("Wrong amount of parameters.") + +inputf = Path(sys.argv[1]) +outputf = Path(sys.argv[2]) + +with inputf.open('r') as ifile: + with outputf.open('w') as ofile: + if not ifile.readline().strip() == "Invalid Code": + ifile.seek(0) + lines = ifile.readlines() + ofile.writelines(lines) diff --git a/valadoc/meson.build b/valadoc/meson.build index 46de4975a..08e891e5b 100644 --- a/valadoc/meson.build +++ b/valadoc/meson.build @@ -20,3 +20,4 @@ meson.add_install_script('sh', '-c', 'cd $DESTDIR@0@; ln -fs --relative @1@ vala subdir('doclets') subdir('icons') +subdir('tests') diff --git a/valadoc/tests/meson.build b/valadoc/tests/meson.build new file mode 100644 index 000000000..6c6be7dd5 --- /dev/null +++ b/valadoc/tests/meson.build @@ -0,0 +1,70 @@ +test_cases = [ + 'libvaladoc/errorreporter.vala', + 'libvaladoc/gtkdoc-scanner.vala', + 'libvaladoc/markupreader.vala', + 'libvaladoc/parser-manyrule.vala', + 'libvaladoc/parser-oneofrule.vala', + 'libvaladoc/parser-optionalrule.vala', + 'libvaladoc/parser-sequencerule.vala', + 'libvaladoc/parser-stubrule.vala', +] + +vala_flags = [ + '-X', '-DTOP_SRC_DIR="@0@"'.format(meson.source_root()), + '--vapidir', join_paths(meson.source_root(), 'vapi'), + '--pkg', 'gio-2.0', + '--disable-warnings', + '--main', 'main', '--save-temps', + '--cc', cc.cmd_array()[-1], + '-X', '-g', + '-X', '-O0', + '-X', '-pipe', + '-X', '-lm', + '--pkg', 'libgvc', + '--vapidir', join_paths(meson.build_root(), 'vala'), + '--pkg', 'libvala@0@'.format(vala_version_suffix), + '--vapidir', join_paths(meson.build_root(), 'libvaladoc'), + '--pkg', 'valadoc@0@'.format(vala_version_suffix), + '-X', '-L' + join_paths(meson.build_root(), 'vala'), + '-X', '-lvala@0@'.format(vala_version_suffix), + '-X', '-L' + join_paths(meson.build_root(), 'libvaladoc'), + '-X', '-lvaladoc@0@'.format(vala_version_suffix), + '-X', '-L' + join_paths(meson.build_root(), 'libvaladoc'), + '-X', '-lvaladoc@0@'.format(vala_version_suffix), + '-X', '-I' + join_paths(meson.build_root(), 'gee'), + '-X', '-I' + join_paths(meson.build_root(), 'vala'), + '-X', '-I' + join_paths(meson.build_root(), 'libvaladoc'), + join_paths(meson.source_root(), 'valadoc', 'tests', 'libvaladoc', 'parser-generic-scanner.vala'), +] + +foreach flag : supported_test_cflags + vala_flags += ['-X', flag] +endforeach + +foreach case : test_cases + test(case, + valac_exe, + workdir: meson.current_build_dir(), + args: vala_flags + [join_paths(meson.current_source_dir(), case)], + depends: [valacore_lib, libvaladoc_lib] + ) +endforeach + +driver_exe = executable('driver', + files( + 'drivers/driver-test.vala', + 'drivers/generic-api-test.vala', + join_paths(meson.source_root(), 'valadoc/girwriter.vala'), + join_paths(meson.source_root(), 'valadoc/initializerbuilder.vala'), + join_paths(meson.source_root(), 'valadoc/symbolresolver.vala'), + join_paths(meson.source_root(), 'valadoc/treebuilder.vala'), + ), + c_args: '-DTOP_SRC_DIR="@0@"'.format(meson.source_root()), + dependencies: [gobject_dep, valacodegen_dep, libvaladoc_dep], + install: false, +) + +test('valadoc/driver', + driver_exe, + workdir: meson.current_build_dir(), +) -- 2.47.2