# Just a skip-list for now.  But presumably will add
# expectations later.

# import 'meta', needs a rust implentation since it grabs at VM internals.
wren_c/test/meta/get_module_variables.wren
wren_c/test/meta/get_module_variables_unknown_module.wren
wren_c/test/meta/eval_existing_scoped_variable.wren
wren_c/test/meta/eval_not_string.wren
wren_c/test/meta/get_module_variables_not_string.wren
wren_c/test/meta/eval_compile_error.wren

# wren_c continues after most failures during compiling
# hence for safe_wren we get wrong line numbers sometimes.
wren_c/test/language/string/incomplete_unicode_escape_at_eof.wren
wren_c/test/language/string/incomplete_long_unicode_escape.wren
wren_c/test/language/string/incomplete_unicode_escape.wren
wren_c/test/language/string/incomplete_byte_escape.wren
wren_c/test/language/string/invalid_byte_escape.wren
wren_c/test/language/string/incomplete_byte_escape_at_eof.wren
wren_c/test/language/string/unicode_two_bytes_to_long_escape.wren
wren_c/test/language/string/unterminated_raw.wren
wren_c/test/language/string/unterminated.wren
wren_c/test/language/string/invalid_escape.wren
wren_c/test/language/string/invalid_unicode_escape.wren

# We stop at first error, WONTFIX?
wren_c/test/language/method/empty_subscript_call.wren
wren_c/test/language/nonlocal/undefined.wren
wren_c/test/language/class/field_in_foreign_class.wren
wren_c/test/language/class/newline_after_static.wren
wren_c/test/limit/variable_name_too_long.wren
wren_c/test/regression/428.wren
wren_c/test/regression/494.wren
wren_c/test/language/constructor/cannot_be_static.wren
wren_c/test/language/super/super_at_top_level.wren
wren_c/test/language/method/duplicate_methods.wren

# wren_c decodes unicode during lexing, and will report errors
# before unicode failures.
wren_c/test/regression/442-000007.wren
wren_c/test/regression/442-000115.wren
wren_c/test/regression/442-000665.wren
wren_c/test/regression/442-000182.wren
wren_c/test/regression/442-000005.wren

# byte escapes \x get expanded through char
# Fails because 171 expands to 194, 171 for rust:
# https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=d79f8bdf98be962582f31ea4a62fb658
wren_c/test/language/string/byte_escapes.wren
wren_c/test/language/string/unicode_escapes.wren
# This one addtiionally is attempting to use invalid utf8, so
# it will probably fail even after fixing \x
wren_c/test/core/string_byte_sequence/count.wren

# This also depending on invalid utf8 behavior and \x
wren_c/test/core/string/iterate.wren
wren_c/test/core/string_code_point_sequence/subscript.wren
wren_c/test/core/string_code_point_sequence/iterate.wren
wren_c/test/core/string_code_point_sequence/iterator_value.wren
wren_c/test/core/string_code_point_sequence/iterator_value_incomplete.wren
wren_c/test/core/string_code_point_sequence/subscript_incomplete.wren

# I'm not entirely sure how/why this works in wren_c
wren_c/test/language/super/super_in_static_method.wren

# Untermininated block comment error on wrong line.
wren_c/test/language/comments/unterminated_block.wren
wren_c/test/language/comments/unterminated_nested_block.wren

# Missing System.gc()
wren_c/test/language/deeply_nested_gc.wren

# Missing Class attributes
wren_c/test/language/class/attributes/duplicate_keys.wren
wren_c/test/language/class/attributes/groups.wren
wren_c/test/language/class/attributes/attributes.wren
wren_c/test/language/class/attributes/compile_only.wren
wren_c/test/language/class/attributes/without.wren
wren_c/test/language/class/attributes/invalid_scope.wren
wren_c/test/language/class/attributes/literals.wren
wren_c/test/language/class/attributes/invalid_expression.wren
wren_c/test/language/class/attributes/methods.wren

# Methods should shadow closure variables
wren_c/test/language/variable/local_outside_method.wren

# Expects 0x1234567890ABCDEF to be a valid number, despite it being larger
# than Num.maxSafeInteger.  This might be WONTFIX?
# wren_c allows the parsing of it, but does not represent it precisely.
wren_c/example/syntax.wren

# Times out, needs profiling.
# Slow from Vec::reserve, and lots of call_method?
wren_c/test/random/sample_count_multiple.wren

# WONTFIX? safe_wren doesn't currently enforce MAX_JUMP, but even
# if we did, our opcode stream is different from wren_c's
# so these limit tests wouldn't work.
wren_c/test/limit/jump_too_far.wren
wren_c/test/limit/loop_too_far.wren

# Missing C API to include these.
wren_c/test/api/call_calls_foreign.wren
wren_c/test/api/call_wren_call_root.wren
wren_c/test/api/call.wren
wren_c/test/api/foreign_class.wren
wren_c/test/api/get_variable.wren
wren_c/test/api/handle.wren
wren_c/test/api/lists.wren
wren_c/test/api/maps.wren
wren_c/test/api/new_vm.wren
wren_c/test/api/reset_stack_after_call_abort.wren
wren_c/test/api/reset_stack_after_foreign_construct.wren
wren_c/test/api/resolution.wren
wren_c/test/api/slots.wren
wren_c/test/api/user_data.wren

# Times out on linux, stack-overflow on windows
# Will require fancier tear-down behavior to avoid
# long Drop recursion chains.
wren_c/test/language/many_reallocations.wren

# Invalid: makes false assumptions about iterate behavior.
# Replaced by copies in test/map
wren_c/test/core/map/iterate.wren
wren_c/test/core/map/key_iterate.wren
wren_c/test/core/map/value_iterate.wren

# 255 is not a valid utf8 byte.
wren_c/test/core/string/from_byte.wren

# wren_c expects subscripts in the middle of utf8 codepoints
# to just return the byte as an (invalid) string.  We don't.
wren_c/test/core/string/subscript.wren
wren_c/test/core/string/iterator_value.wren

# wren_c truncates strings when printing at first \0.
wren_c/test/core/string/to_string.wren
