diff --git a/.github/workflows/prism.yml b/.github/workflows/prism.yml index 3d54b2b6a9..dd0133d374 100644 --- a/.github/workflows/prism.yml +++ b/.github/workflows/prism.yml @@ -90,7 +90,7 @@ jobs: timeout-minutes: 40 env: GNUMAKEFLAGS: '' - RUBY_TESTOPTS: '-q --tty=no --excludes-dir="../src/test/.excludes-prism" --exclude="test_ast.rb" --exclude="test_regexp.rb" --exclude="error_highlight/test_error_highlight.rb"' + RUBY_TESTOPTS: '-q --tty=no --excludes-dir="../src/test/.excludes-prism" --exclude="test_ast.rb" --exclude="test_marshal.rb" --exclude="test_regexp.rb" --exclude="error_highlight/test_error_highlight.rb" --exclude="irb/test_context.rb" --exclude="prism/encoding_test.rb" --exclude="prism/unescape_test.rb"' RUN_OPTS: ${{ matrix.run_opts }} # - name: make test-spec diff --git a/test/.excludes-prism/TestAssignmentGen.rb b/test/.excludes-prism/TestAssignmentGen.rb new file mode 100644 index 0000000000..7d9ffd235c --- /dev/null +++ b/test/.excludes-prism/TestAssignmentGen.rb @@ -0,0 +1 @@ +exclude(:test_assignment, "unknown") diff --git a/test/.excludes-prism/TestClass.rb b/test/.excludes-prism/TestClass.rb new file mode 100644 index 0000000000..0eb5c90615 --- /dev/null +++ b/test/.excludes-prism/TestClass.rb @@ -0,0 +1 @@ +exclude(:test_redefinition_mismatch, "incorrect line number") diff --git a/test/.excludes-prism/TestERB.rb b/test/.excludes-prism/TestERB.rb new file mode 100644 index 0000000000..bd0e221a93 --- /dev/null +++ b/test/.excludes-prism/TestERB.rb @@ -0,0 +1,6 @@ +exclude(:test_with_filename_and_safe_level, "incorrect line number") +exclude(:test_with_filename_lineno, "incorrect line number") +exclude(:test_with_filename, "incorrect line number") +exclude(:test_with_location, "incorrect line number") +exclude(:test_without_filename_with_safe_level, "incorrect line number") +exclude(:test_without_filename, "incorrect line number") diff --git a/test/.excludes-prism/TestERBCore.rb b/test/.excludes-prism/TestERBCore.rb new file mode 100644 index 0000000000..b9a65b8dca --- /dev/null +++ b/test/.excludes-prism/TestERBCore.rb @@ -0,0 +1,6 @@ +exclude(:test_def_method_with_fname, "incorrect line number") +exclude(:test_def_method_without_filename, "incorrect line number") +exclude(:test_eval_input_with_exception, "incorrect line number") +exclude(:test_keep_lineno, "incorrect line number") +exclude(:test_multi_line_comment_lineno, "incorrect line number") +exclude(:test_multi_line_comment_lineno, "incorrect line number") diff --git a/test/.excludes-prism/TestERBCoreWOStrScan.rb b/test/.excludes-prism/TestERBCoreWOStrScan.rb new file mode 100644 index 0000000000..4cf0b8bdbd --- /dev/null +++ b/test/.excludes-prism/TestERBCoreWOStrScan.rb @@ -0,0 +1 @@ +exclude(:test_def_method_with_fname, "unknown") diff --git a/test/.excludes-prism/TestEval.rb b/test/.excludes-prism/TestEval.rb new file mode 100644 index 0000000000..e11f30dd5f --- /dev/null +++ b/test/.excludes-prism/TestEval.rb @@ -0,0 +1,5 @@ +exclude(:test_eval_ascii_incompatible, "incorrect encoding") +exclude(:test_eval_location_binding, "incorrect line number") +exclude(:test_file_encoding, "incorrect encoding") +exclude(:test_with_filename_and_safe_level, "incorrect line number") +exclude(:test_with_filename_lineno, "incorrect line number") diff --git a/test/.excludes-prism/TestException.rb b/test/.excludes-prism/TestException.rb new file mode 100644 index 0000000000..44e2cfb6d8 --- /dev/null +++ b/test/.excludes-prism/TestException.rb @@ -0,0 +1,2 @@ +exclude(:test_errinfo_encoding_in_debug, "unknown") +exclude(:test_syntax_error_path, "unknown") diff --git a/test/.excludes-prism/TestFlip.rb b/test/.excludes-prism/TestFlip.rb new file mode 100644 index 0000000000..f57af0c847 --- /dev/null +++ b/test/.excludes-prism/TestFlip.rb @@ -0,0 +1 @@ +exclude(:test_input_line_number_range, "line numbers") diff --git a/test/.excludes-prism/TestISeq.rb b/test/.excludes-prism/TestISeq.rb new file mode 100644 index 0000000000..de7052cb11 --- /dev/null +++ b/test/.excludes-prism/TestISeq.rb @@ -0,0 +1 @@ +exclude(:test_syntax_error_message, "unknown") diff --git a/test/.excludes-prism/TestM17N.rb b/test/.excludes-prism/TestM17N.rb index c49125bd1f..7848c5d38a 100644 --- a/test/.excludes-prism/TestM17N.rb +++ b/test/.excludes-prism/TestM17N.rb @@ -1,5 +1,19 @@ -exclude(:test_regexp_embed, "https://github.com/ruby/prism/issues/1997") exclude(:test_dynamic_eucjp_regexp, "https://github.com/ruby/prism/issues/1997") -exclude(:test_regexp_ascii, "https://github.com/ruby/prism/issues/1997") -exclude(:test_dynamic_utf8_regexp, "https://github.com/ruby/prism/issues/1997") exclude(:test_dynamic_sjis_regexp, "https://github.com/ruby/prism/issues/1997") +exclude(:test_dynamic_utf8_regexp, "https://github.com/ruby/prism/issues/1997") +exclude(:test_magic_comment_at_various_positions, "unknown") +exclude(:test_magic_comment, "unknown") +exclude(:test_nonascii_method_name, "unknown") +exclude(:test_regexp_ascii, "https://github.com/ruby/prism/issues/1997") +exclude(:test_regexp_embed, "https://github.com/ruby/prism/issues/1997") +exclude(:test_regexp_euc, "unknown") +exclude(:test_regexp_mixed_unicode, "unknown") +exclude(:test_regexp_property, "unknown") +exclude(:test_regexp_sjis, "unknown") +exclude(:test_regexp_too_short_multibyte_character, "unknown") +exclude(:test_regexp_unicode, "unknown") +exclude(:test_regexp_usascii, "unknown") +exclude(:test_str_dump, "unknown") +exclude(:test_string_ascii_literal, "unknown") +exclude(:test_string_eucjp_literal, "unknown") +exclude(:test_string_mixed_unicode, "unknown") diff --git a/test/.excludes-prism/TestMixedUnicodeEscape.rb b/test/.excludes-prism/TestMixedUnicodeEscape.rb new file mode 100644 index 0000000000..09e3cc168b --- /dev/null +++ b/test/.excludes-prism/TestMixedUnicodeEscape.rb @@ -0,0 +1 @@ +exclude(:test_basic, "unknown") diff --git a/test/.excludes-prism/TestModule.rb b/test/.excludes-prism/TestModule.rb new file mode 100644 index 0000000000..934e18f31a --- /dev/null +++ b/test/.excludes-prism/TestModule.rb @@ -0,0 +1 @@ +exclude(:test_redefinition_mismatch, "unknown") diff --git a/test/.excludes-prism/TestParse.rb b/test/.excludes-prism/TestParse.rb new file mode 100644 index 0000000000..251bb2e3ad --- /dev/null +++ b/test/.excludes-prism/TestParse.rb @@ -0,0 +1,23 @@ +exclude(:test_assign_in_conditional, "missing warning") +exclude(:test_eval_ascii_incompatible, "unknown") +exclude(:test_eval_location_binding, "incorrect line number") +exclude(:test_file_encoding, "unknown") +exclude(:test_here_document, "incorrect heredoc") +exclude(:test_literal_in_conditional, "missing warning") +exclude(:test_magic_comment, "incorrect encoding") +exclude(:test_negative_line_number, "incorrect line number") +exclude(:test_nonascii_const_set, "incorrect encoding") +exclude(:test_nonascii_constant, "incorrect encoding") +exclude(:test_question, "missing warning") +exclude(:test_redefinition_mismatch, "unknown") +exclude(:test_serial_comparison, "missing warning") +exclude(:test_shareable_constant_value_nested, "ractor support") +exclude(:test_shareable_constant_value_nonliteral, "ractor support") +exclude(:test_shareable_constant_value_simple, "ractor support") +exclude(:test_shareable_constant_value_unfrozen, "ractor support") +exclude(:test_shareable_constant_value_unshareable_literal, "ractor support") +exclude(:test_string, "incorrect encoding") +exclude(:test_unused_variable, "missing warning") +exclude(:test_utf8_bom, "incorrect error") +exclude(:test_void_expr_stmts_value, "missing warning") +exclude(:test_whitespace_warning, "missing warning") diff --git a/test/.excludes-prism/TestPatternMatching.rb b/test/.excludes-prism/TestPatternMatching.rb new file mode 100644 index 0000000000..cb64a6d818 --- /dev/null +++ b/test/.excludes-prism/TestPatternMatching.rb @@ -0,0 +1 @@ +exclude(:test_hash_pattern, "useless literal warning missing") diff --git a/test/.excludes-prism/TestProfileFrames.rb b/test/.excludes-prism/TestProfileFrames.rb new file mode 100644 index 0000000000..2a493913d8 --- /dev/null +++ b/test/.excludes-prism/TestProfileFrames.rb @@ -0,0 +1 @@ +exclude(:test_profile_frames, "unknown") diff --git a/test/.excludes-prism/TestRubyLiteral.rb b/test/.excludes-prism/TestRubyLiteral.rb index 0ea7c9362c..80cfbfc307 100644 --- a/test/.excludes-prism/TestRubyLiteral.rb +++ b/test/.excludes-prism/TestRubyLiteral.rb @@ -1 +1,6 @@ +exclude(:test_dregexp, "unknown") +exclude(:test_float, "numbered parameters inside evals") +exclude(:test_frozen_string_in_array_literal, "incorrect frozen value") +exclude(:test_hash_duplicated_key, "missing warning") +exclude(:test_integer, "numbered parameters inside evals") exclude(:test_string, "https://github.com/ruby/prism/issues/2331") diff --git a/test/.excludes-prism/TestSetTraceFunc.rb b/test/.excludes-prism/TestSetTraceFunc.rb new file mode 100644 index 0000000000..61277d447c --- /dev/null +++ b/test/.excludes-prism/TestSetTraceFunc.rb @@ -0,0 +1,7 @@ +exclude(:test_class, "unknown") +exclude(:test_return, "unknown") +exclude(:test_return2, "unknown") +exclude(:test_script_compiled, "unknown") +exclude(:test_set_trace_func, "unknown") +exclude(:test_thread_trace, "unknown") +exclude(:test_tracepoint, "unknown") diff --git a/test/.excludes-prism/TestSyntax.rb b/test/.excludes-prism/TestSyntax.rb index bfc9ff9d9e..68d07063b4 100644 --- a/test/.excludes-prism/TestSyntax.rb +++ b/test/.excludes-prism/TestSyntax.rb @@ -1 +1,12 @@ +exclude(:test_dedented_heredoc_concatenation, "unknown") +exclude(:test_dedented_heredoc_continued_line, "unknown") +exclude(:test_duplicated_when, "unknown") +exclude(:test_integer_suffix, "unknown") exclude(:test_it, "https://github.com/ruby/prism/issues/2323") +exclude(:test_keyword_duplicated, "unknown") +exclude(:test_numbered_parameter, "unknown") +exclude(:test_range_at_eol, "unknown") +exclude(:test_too_big_nth_ref, "unknown") +exclude(:test_warning_for_cr, "unknown") +exclude(:test_warning_literal_in_condition, "unknown") +exclude(:test_warning_literal_in_flip_flop, "unknown") diff --git a/test/.excludes-prism/TestUnicodeEscape.rb b/test/.excludes-prism/TestUnicodeEscape.rb new file mode 100644 index 0000000000..93ed9fcb45 --- /dev/null +++ b/test/.excludes-prism/TestUnicodeEscape.rb @@ -0,0 +1,2 @@ +exclude(:test_fail, "unknown") +exclude(:test_regexp, "unknown")