From 95e8c48dd3348503a8c7db5d0498894a1b676395 Mon Sep 17 00:00:00 2001 From: eregon Date: Sun, 7 May 2017 12:04:49 +0000 Subject: Add in-tree mspec and ruby/spec * For easier modifications of ruby/spec by MRI developers. * .gitignore: track changes under spec. * spec/mspec, spec/rubyspec: add in-tree mspec and ruby/spec. These files can therefore be updated like any other file in MRI. Instructions are provided in spec/README. [Feature #13156] [ruby-core:79246] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58595 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- spec/rubyspec/fixtures/code/a/load_fixture.bundle | 1 + spec/rubyspec/fixtures/code/a/load_fixture.dll | 1 + spec/rubyspec/fixtures/code/a/load_fixture.so | 1 + spec/rubyspec/fixtures/code/b/load_fixture.rb | 1 + spec/rubyspec/fixtures/code/concurrent.rb | 12 + spec/rubyspec/fixtures/code/concurrent2.rb | 8 + spec/rubyspec/fixtures/code/concurrent3.rb | 2 + spec/rubyspec/fixtures/code/file_fixture.rb | 1 + spec/rubyspec/fixtures/code/gem/load_fixture.rb | 1 + spec/rubyspec/fixtures/code/line_fixture.rb | 5 + spec/rubyspec/fixtures/code/load_ext_fixture.rb | 1 + spec/rubyspec/fixtures/code/load_fixture | 1 + spec/rubyspec/fixtures/code/load_fixture.bundle | 1 + spec/rubyspec/fixtures/code/load_fixture.dll | 1 + spec/rubyspec/fixtures/code/load_fixture.ext | 1 + .../rubyspec/fixtures/code/load_fixture.ext.bundle | 1 + spec/rubyspec/fixtures/code/load_fixture.ext.dll | 1 + spec/rubyspec/fixtures/code/load_fixture.ext.rb | 1 + spec/rubyspec/fixtures/code/load_fixture.ext.so | 1 + spec/rubyspec/fixtures/code/load_fixture.rb | 1 + spec/rubyspec/fixtures/code/load_fixture.so | 1 + .../fixtures/code/load_wrap_method_fixture.rb | 9 + spec/rubyspec/fixtures/code/methods_fixture.rb | 364 +++++++++++++++++++++ spec/rubyspec/fixtures/code/raise_fixture.rb | 1 + .../fixtures/code/recursive_load_fixture.rb | 5 + .../fixtures/code/recursive_require_fixture.rb | 3 + spec/rubyspec/fixtures/code/symlink/symlink1.rb | 1 + .../fixtures/code/symlink/symlink2/symlink2.rb | 1 + spec/rubyspec/fixtures/code/wrap_fixture.rb | 3 + 29 files changed, 431 insertions(+) create mode 100644 spec/rubyspec/fixtures/code/a/load_fixture.bundle create mode 100644 spec/rubyspec/fixtures/code/a/load_fixture.dll create mode 100644 spec/rubyspec/fixtures/code/a/load_fixture.so create mode 100644 spec/rubyspec/fixtures/code/b/load_fixture.rb create mode 100644 spec/rubyspec/fixtures/code/concurrent.rb create mode 100644 spec/rubyspec/fixtures/code/concurrent2.rb create mode 100644 spec/rubyspec/fixtures/code/concurrent3.rb create mode 100644 spec/rubyspec/fixtures/code/file_fixture.rb create mode 100644 spec/rubyspec/fixtures/code/gem/load_fixture.rb create mode 100644 spec/rubyspec/fixtures/code/line_fixture.rb create mode 100644 spec/rubyspec/fixtures/code/load_ext_fixture.rb create mode 100644 spec/rubyspec/fixtures/code/load_fixture create mode 100644 spec/rubyspec/fixtures/code/load_fixture.bundle create mode 100644 spec/rubyspec/fixtures/code/load_fixture.dll create mode 100644 spec/rubyspec/fixtures/code/load_fixture.ext create mode 100644 spec/rubyspec/fixtures/code/load_fixture.ext.bundle create mode 100644 spec/rubyspec/fixtures/code/load_fixture.ext.dll create mode 100644 spec/rubyspec/fixtures/code/load_fixture.ext.rb create mode 100644 spec/rubyspec/fixtures/code/load_fixture.ext.so create mode 100644 spec/rubyspec/fixtures/code/load_fixture.rb create mode 100644 spec/rubyspec/fixtures/code/load_fixture.so create mode 100644 spec/rubyspec/fixtures/code/load_wrap_method_fixture.rb create mode 100644 spec/rubyspec/fixtures/code/methods_fixture.rb create mode 100644 spec/rubyspec/fixtures/code/raise_fixture.rb create mode 100644 spec/rubyspec/fixtures/code/recursive_load_fixture.rb create mode 100644 spec/rubyspec/fixtures/code/recursive_require_fixture.rb create mode 100644 spec/rubyspec/fixtures/code/symlink/symlink1.rb create mode 100644 spec/rubyspec/fixtures/code/symlink/symlink2/symlink2.rb create mode 100644 spec/rubyspec/fixtures/code/wrap_fixture.rb (limited to 'spec/rubyspec/fixtures/code') diff --git a/spec/rubyspec/fixtures/code/a/load_fixture.bundle b/spec/rubyspec/fixtures/code/a/load_fixture.bundle new file mode 100644 index 0000000000..30b53d7c0c --- /dev/null +++ b/spec/rubyspec/fixtures/code/a/load_fixture.bundle @@ -0,0 +1 @@ +ScratchPad << :ext_bundle diff --git a/spec/rubyspec/fixtures/code/a/load_fixture.dll b/spec/rubyspec/fixtures/code/a/load_fixture.dll new file mode 100644 index 0000000000..77c65b315b --- /dev/null +++ b/spec/rubyspec/fixtures/code/a/load_fixture.dll @@ -0,0 +1 @@ +ScratchPad << :ext_dll diff --git a/spec/rubyspec/fixtures/code/a/load_fixture.so b/spec/rubyspec/fixtures/code/a/load_fixture.so new file mode 100644 index 0000000000..4d02dea086 --- /dev/null +++ b/spec/rubyspec/fixtures/code/a/load_fixture.so @@ -0,0 +1 @@ +ScratchPad << :ext_so diff --git a/spec/rubyspec/fixtures/code/b/load_fixture.rb b/spec/rubyspec/fixtures/code/b/load_fixture.rb new file mode 100644 index 0000000000..4a6e9c9601 --- /dev/null +++ b/spec/rubyspec/fixtures/code/b/load_fixture.rb @@ -0,0 +1 @@ +ScratchPad << :loaded diff --git a/spec/rubyspec/fixtures/code/concurrent.rb b/spec/rubyspec/fixtures/code/concurrent.rb new file mode 100644 index 0000000000..054b8fc055 --- /dev/null +++ b/spec/rubyspec/fixtures/code/concurrent.rb @@ -0,0 +1,12 @@ +ScratchPad.recorded << :con_pre +Thread.current[:in_concurrent_rb] = true + +if t = Thread.current[:wait_for] + Thread.pass until t.backtrace && t.backtrace.any? { |call| call.include? 'require' } +end + +if Thread.current[:con_raise] + raise "con1" +end + +ScratchPad.recorded << :con_post diff --git a/spec/rubyspec/fixtures/code/concurrent2.rb b/spec/rubyspec/fixtures/code/concurrent2.rb new file mode 100644 index 0000000000..08a7264023 --- /dev/null +++ b/spec/rubyspec/fixtures/code/concurrent2.rb @@ -0,0 +1,8 @@ +ScratchPad.recorded << :con2_pre + +Thread.current[:in_concurrent_rb2] = true + +t = Thread.current[:concurrent_require_thread] +Thread.pass until t[:in_concurrent_rb3] + +ScratchPad.recorded << :con2_post diff --git a/spec/rubyspec/fixtures/code/concurrent3.rb b/spec/rubyspec/fixtures/code/concurrent3.rb new file mode 100644 index 0000000000..edb441d15d --- /dev/null +++ b/spec/rubyspec/fixtures/code/concurrent3.rb @@ -0,0 +1,2 @@ +ScratchPad.recorded << :con3 +Thread.current[:in_concurrent_rb3] = true diff --git a/spec/rubyspec/fixtures/code/file_fixture.rb b/spec/rubyspec/fixtures/code/file_fixture.rb new file mode 100644 index 0000000000..27388c7d8d --- /dev/null +++ b/spec/rubyspec/fixtures/code/file_fixture.rb @@ -0,0 +1 @@ +ScratchPad << __FILE__ diff --git a/spec/rubyspec/fixtures/code/gem/load_fixture.rb b/spec/rubyspec/fixtures/code/gem/load_fixture.rb new file mode 100644 index 0000000000..e1806de201 --- /dev/null +++ b/spec/rubyspec/fixtures/code/gem/load_fixture.rb @@ -0,0 +1 @@ +ScratchPad << :loaded_gem diff --git a/spec/rubyspec/fixtures/code/line_fixture.rb b/spec/rubyspec/fixtures/code/line_fixture.rb new file mode 100644 index 0000000000..2a2a0568cd --- /dev/null +++ b/spec/rubyspec/fixtures/code/line_fixture.rb @@ -0,0 +1,5 @@ +ScratchPad << __LINE__ + +# line 3 + +ScratchPad << __LINE__ diff --git a/spec/rubyspec/fixtures/code/load_ext_fixture.rb b/spec/rubyspec/fixtures/code/load_ext_fixture.rb new file mode 100644 index 0000000000..4a6e9c9601 --- /dev/null +++ b/spec/rubyspec/fixtures/code/load_ext_fixture.rb @@ -0,0 +1 @@ +ScratchPad << :loaded diff --git a/spec/rubyspec/fixtures/code/load_fixture b/spec/rubyspec/fixtures/code/load_fixture new file mode 100644 index 0000000000..1b76dc8cad --- /dev/null +++ b/spec/rubyspec/fixtures/code/load_fixture @@ -0,0 +1 @@ +ScratchPad << :no_ext diff --git a/spec/rubyspec/fixtures/code/load_fixture.bundle b/spec/rubyspec/fixtures/code/load_fixture.bundle new file mode 100644 index 0000000000..30b53d7c0c --- /dev/null +++ b/spec/rubyspec/fixtures/code/load_fixture.bundle @@ -0,0 +1 @@ +ScratchPad << :ext_bundle diff --git a/spec/rubyspec/fixtures/code/load_fixture.dll b/spec/rubyspec/fixtures/code/load_fixture.dll new file mode 100644 index 0000000000..77c65b315b --- /dev/null +++ b/spec/rubyspec/fixtures/code/load_fixture.dll @@ -0,0 +1 @@ +ScratchPad << :ext_dll diff --git a/spec/rubyspec/fixtures/code/load_fixture.ext b/spec/rubyspec/fixtures/code/load_fixture.ext new file mode 100644 index 0000000000..f25b8e2951 --- /dev/null +++ b/spec/rubyspec/fixtures/code/load_fixture.ext @@ -0,0 +1 @@ +ScratchPad << :no_rb_ext diff --git a/spec/rubyspec/fixtures/code/load_fixture.ext.bundle b/spec/rubyspec/fixtures/code/load_fixture.ext.bundle new file mode 100644 index 0000000000..30b53d7c0c --- /dev/null +++ b/spec/rubyspec/fixtures/code/load_fixture.ext.bundle @@ -0,0 +1 @@ +ScratchPad << :ext_bundle diff --git a/spec/rubyspec/fixtures/code/load_fixture.ext.dll b/spec/rubyspec/fixtures/code/load_fixture.ext.dll new file mode 100644 index 0000000000..77c65b315b --- /dev/null +++ b/spec/rubyspec/fixtures/code/load_fixture.ext.dll @@ -0,0 +1 @@ +ScratchPad << :ext_dll diff --git a/spec/rubyspec/fixtures/code/load_fixture.ext.rb b/spec/rubyspec/fixtures/code/load_fixture.ext.rb new file mode 100644 index 0000000000..4a6e9c9601 --- /dev/null +++ b/spec/rubyspec/fixtures/code/load_fixture.ext.rb @@ -0,0 +1 @@ +ScratchPad << :loaded diff --git a/spec/rubyspec/fixtures/code/load_fixture.ext.so b/spec/rubyspec/fixtures/code/load_fixture.ext.so new file mode 100644 index 0000000000..4d02dea086 --- /dev/null +++ b/spec/rubyspec/fixtures/code/load_fixture.ext.so @@ -0,0 +1 @@ +ScratchPad << :ext_so diff --git a/spec/rubyspec/fixtures/code/load_fixture.rb b/spec/rubyspec/fixtures/code/load_fixture.rb new file mode 100644 index 0000000000..4a6e9c9601 --- /dev/null +++ b/spec/rubyspec/fixtures/code/load_fixture.rb @@ -0,0 +1 @@ +ScratchPad << :loaded diff --git a/spec/rubyspec/fixtures/code/load_fixture.so b/spec/rubyspec/fixtures/code/load_fixture.so new file mode 100644 index 0000000000..4d02dea086 --- /dev/null +++ b/spec/rubyspec/fixtures/code/load_fixture.so @@ -0,0 +1 @@ +ScratchPad << :ext_so diff --git a/spec/rubyspec/fixtures/code/load_wrap_method_fixture.rb b/spec/rubyspec/fixtures/code/load_wrap_method_fixture.rb new file mode 100644 index 0000000000..b617473b4d --- /dev/null +++ b/spec/rubyspec/fixtures/code/load_wrap_method_fixture.rb @@ -0,0 +1,9 @@ +def top_level_method + ::ScratchPad << :load_wrap_loaded +end + +begin + top_level_method +rescue NameError + ::ScratchPad << :load_wrap_error +end diff --git a/spec/rubyspec/fixtures/code/methods_fixture.rb b/spec/rubyspec/fixtures/code/methods_fixture.rb new file mode 100644 index 0000000000..d42b5e4018 --- /dev/null +++ b/spec/rubyspec/fixtures/code/methods_fixture.rb @@ -0,0 +1,364 @@ +def foo1 +end + +def foo2 +end + +def foo3 +end + +def foo4 +end + +def foo5 +end + +def foo6 +end + +def foo7 +end + +def foo8 +end + +def foo9 +end + +def foo10 +end + +def foo11 +end + +def foo12 +end + +def foo13 +end + +def foo14 +end + +def foo15 +end + +def foo16 +end + +def foo17 +end + +def foo18 +end + +def foo19 +end + +def foo20 +end + +def foo21 +end + +def foo22 +end + +def foo23 +end + +def foo24 +end + +def foo25 +end + +def foo26 +end + +def foo27 +end + +def foo28 +end + +def foo29 +end + +def foo30 +end + +def foo31 +end + +def foo32 +end + +def foo33 +end + +def foo34 +end + +def foo35 +end + +def foo36 +end + +def foo37 +end + +def foo38 +end + +def foo39 +end + +def foo40 +end + +def foo41 +end + +def foo42 +end + +def foo43 +end + +def foo44 +end + +def foo45 +end + +def foo46 +end + +def foo47 +end + +def foo48 +end + +def foo49 +end + +def foo50 +end + +def foo51 +end + +def foo52 +end + +def foo53 +end + +def foo54 +end + +def foo55 +end + +def foo56 +end + +def foo57 +end + +def foo58 +end + +def foo59 +end + +def foo60 +end + +def foo61 +end + +def foo62 +end + +def foo63 +end + +def foo64 +end + +def foo65 +end + +def foo66 +end + +def foo67 +end + +def foo68 +end + +def foo69 +end + +def foo70 +end + +def foo71 +end + +def foo72 +end + +def foo73 +end + +def foo74 +end + +def foo75 +end + +def foo76 +end + +def foo77 +end + +def foo78 +end + +def foo79 +end + +def foo80 +end + +def foo81 +end + +def foo82 +end + +def foo83 +end + +def foo84 +end + +def foo85 +end + +def foo86 +end + +def foo87 +end + +def foo88 +end + +def foo89 +end + +def foo90 +end + +def foo91 +end + +def foo92 +end + +def foo93 +end + +def foo94 +end + +def foo95 +end + +def foo96 +end + +def foo97 +end + +def foo98 +end + +def foo99 +end + +def foo100 +end + +def foo101 +end + +def foo102 +end + +def foo103 +end + +def foo104 +end + +def foo105 +end + +def foo106 +end + +def foo107 +end + +def foo108 +end + +def foo109 +end + +def foo110 +end + +def foo111 +end + +def foo112 +end + +def foo113 +end + +def foo114 +end + +def foo115 +end + +def foo116 +end + +def foo117 +end + +def foo118 +end + +def foo119 +end + +def foo120 +end + +def foo121 +end + +ScratchPad << :loaded diff --git a/spec/rubyspec/fixtures/code/raise_fixture.rb b/spec/rubyspec/fixtures/code/raise_fixture.rb new file mode 100644 index 0000000000..9419089a06 --- /dev/null +++ b/spec/rubyspec/fixtures/code/raise_fixture.rb @@ -0,0 +1 @@ +raise "Exception loading a file" diff --git a/spec/rubyspec/fixtures/code/recursive_load_fixture.rb b/spec/rubyspec/fixtures/code/recursive_load_fixture.rb new file mode 100644 index 0000000000..18b144d44a --- /dev/null +++ b/spec/rubyspec/fixtures/code/recursive_load_fixture.rb @@ -0,0 +1,5 @@ +ScratchPad << :loaded + +if ScratchPad.recorded == [:loaded] + load File.expand_path("../recursive_load_fixture.rb", __FILE__) +end diff --git a/spec/rubyspec/fixtures/code/recursive_require_fixture.rb b/spec/rubyspec/fixtures/code/recursive_require_fixture.rb new file mode 100644 index 0000000000..8842a6ad74 --- /dev/null +++ b/spec/rubyspec/fixtures/code/recursive_require_fixture.rb @@ -0,0 +1,3 @@ +require File.expand_path("../recursive_require_fixture.rb", __FILE__) + +ScratchPad << :loaded diff --git a/spec/rubyspec/fixtures/code/symlink/symlink1.rb b/spec/rubyspec/fixtures/code/symlink/symlink1.rb new file mode 100644 index 0000000000..6a006eef14 --- /dev/null +++ b/spec/rubyspec/fixtures/code/symlink/symlink1.rb @@ -0,0 +1 @@ +require_relative 'symlink2/symlink2' diff --git a/spec/rubyspec/fixtures/code/symlink/symlink2/symlink2.rb b/spec/rubyspec/fixtures/code/symlink/symlink2/symlink2.rb new file mode 100644 index 0000000000..4a6e9c9601 --- /dev/null +++ b/spec/rubyspec/fixtures/code/symlink/symlink2/symlink2.rb @@ -0,0 +1 @@ +ScratchPad << :loaded diff --git a/spec/rubyspec/fixtures/code/wrap_fixture.rb b/spec/rubyspec/fixtures/code/wrap_fixture.rb new file mode 100644 index 0000000000..b83a8970d7 --- /dev/null +++ b/spec/rubyspec/fixtures/code/wrap_fixture.rb @@ -0,0 +1,3 @@ +class LoadSpecWrap + ScratchPad << self +end -- cgit v1.2.3