Commit graph

6735 commits

Author SHA1 Message Date
kosaki
89ff44e22e * test/ruby/test_thread.rb: move ConditionVariable related test
into test/thread/test_cv.rb.
* test/thread/test_cv.rb: new file.
* test/thread/test_cv.rb (test_condvar_empty_signal): new tests.
* test/thread/test_cv.rb (test_condvar_empty_broadcast): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-01 08:29:09 +00:00
kosaki
afbbcd133c * test/ruby/test_thread.rb (test_cv_wait_deadlock): enable
cv deadlock test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-01 08:28:56 +00:00
kosaki
1f1db611b9 * lib/thread.rb (ConditionVariable): use hash instead of array for
@waiters.
* test/thread/test_queue.rb (test_sized_queue_and_wakeup): remove
  a test because @waiters no longer have a chance to duplicated. Now it's
  a hash.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-01 08:28:44 +00:00
nobu
3f50943b03 test_gem_specification.rb: suppress warnings
* test/rubygems/test_gem_specification.rb (with_syck): we all know
  that syck has been removed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38100 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-01 03:30:55 +00:00
tenderlove
afb02bbe92 * variable.c (rb_class_path_no_cache): add a function to get the class
path without caching the computed path. Some classes are frozen, and
  will raise an exception without this.

* probes.d (cmethod-entry, cmethod-return): separate cmethods from
  regular methods to match set trace func.

* probes_helper.h: refactor macros.  Fix probes to avoid calling
  #inspect when profiling.

* insns.def: update for use with new macros.

* vm_eval.c: ditto

* vm_insnhelper.c: ditto

* test/dtrace/test_singleton_function.rb: fix test for new output.

* test/dtrace/test_cmethod.rb: test the cmethod probes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38099 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-01 02:13:06 +00:00
drbrain
d3c6187a4d * test/rdoc/test_rdoc_options.rb: Windows drive letters are
case-insensitive.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38098 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-01 00:49:20 +00:00
drbrain
5db8f99943 * lib/rubygems.rb: Search for gem deps file up the directory tree.
* test/rubygems/test_gem.rb:  Test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38097 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-01 00:42:36 +00:00
drbrain
18a3774438 * test/runner.rb: Set GEM_HOME, GEM_PATH and GEM_SKIP to empty set.
With default_gem support in RubyGems GEM_SKIP prevents loading of
  built-in gems.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38096 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-12-01 00:34:01 +00:00
naruse
9207474f04 suppress warnings: unused variables
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38091 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 19:10:12 +00:00
naruse
8539a917dd Use RUBYOPT to overwrite original RUBYOPT ENV
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 19:10:05 +00:00
kosaki
3357d88ada * lib/thread.rb (SizedQueue#pop): rewrite by using ConditionVariable.
* lib/thread.rb (SizedQueue#push): ditto.
* lib/thread.rb (SizedQueue#max): ditto.
* lib/thread.rb (Queue#pop): ditto.
* lib/thread.rb (Queue#push): ditto.

* lib/thread.rb (SizedQueue#num_waiting): adopt the above changes.
* lib/thread.rb (SizedQueue#initialize): ditto.
* lib/thread.rb (Queue#num_waiting): ditto.
* lib/thread.rb (Queue#initialize): ditto.
* test/thread/test_queue.rb (test_sized_queue_and_wakeup): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38087 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 18:55:09 +00:00
ko1
5697f69baa * iseq.c: add RubyVM::InstructionSequence (ISeq) inspection methods.
* ISeq#path returns path of this ISeq written.
* ISeq#absolute_path returns absolute path.
* ISeq#label returns label (method name and so on).
* ISeq#base_label returns base label (see Thread::Backtrace::Location).
* ISeq#first_lineno returns first line number of this ISeq.
* ISeq.of(obj) returns ISeq object which obj (Proc or Method)
  is contains.
* test/ruby/test_iseq.rb: add tests.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 18:02:43 +00:00
drbrain
646eeab113 * test/rubygems/test_gem_dependency_installer.rb: Use Gem.read_binary
instead of File.binread for ruby 1.8 compatibility in the rubygems
  source repository.  Updates r38071


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 17:54:00 +00:00
kosaki
279cd29b1b * thread.c (rb_threadptr_interrupt_mask): add argument check.
* thread.c (async_interrupt_timing_arg_check_i): helper function
  for the above.
* test/ruby/test_thread.rb (test_async_interrupt_timing_invalid_argument):
  test for the above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38081 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 17:39:48 +00:00
kazu
a1d837ccc1 * test/ruby/envutil.rb (Test::Unit::Assertions#assert_in_out_err): raise if assert_in_out_err misused.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 17:14:27 +00:00
kazu
8f9b451dd8 assert_in_out_err with block ignores test_stdout
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38078 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 17:14:24 +00:00
usa
ad01ea426c * test/rdoc/test_rdoc_rubygems_hook.rb
(TestRDocRubygemsHook#test_setup_unwritable): 1. check the existance
  of the file(directory) before touch it.  2. remove test
  file(directory) after the test.  see [ruby-core:50388].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 17:11:11 +00:00
ko1
12f2f7371f [EXPERIMENTAL]
* iseq.c: add following two methods.
* ISeq#line_trace_all returns all line traces (line numbers)
* ISeq#line_trace_specify(pos, set) set `pos'th line event to
  specified_line event (if set is true).
  These features are introduced for debuggers (mainly to make
  breakpoint).
* iseq.h: add decl. of C APIs.
* test/ruby/test_iseq.rb: add tests.
* vm_trace.c: add `specified_line' event.
* include/ruby/ruby.h: ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 17:00:30 +00:00
usa
60317fa81d * test/rubygems/test_gem_dependency_installler.rb: gems are of course
binary files, so use a binary reading method when reading it.
  see [ruby-core:50388].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 16:51:11 +00:00
usa
952beb5ff4 * lib/rubygems/command.rb (Gem::Command#get_all_gem_names_and_versions):
who assumes that the pathname of a gem never contains ':' ?
  yes, on Unixen pathnames can contain ':', and on Windows they almost
  certainly contain ':'.  see [ruby-core:50388].

* lib/rubygems/requirement.rb (Gem::Requirement::PATTERN_RAW): extract
  the regexp to match the version specifier from PATTERN to use in
  above method.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 16:27:52 +00:00
usa
a847bedb1d * test/rubygems/test_gem_installer.rb
(TestGemInstaller#test_check_executable_overwrite_other_non_gem):
  on Windows, rubygems always generate a wrapper .bat file when
  installing a file into bin, so testing no-overwrite a wrapper file
  and a non-wrapper file is nonsence.  see [ruby-core:50388].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 15:11:30 +00:00
usa
ec7d935ce7 * test/rubygems/test_gem_installer.rb
(TestGemInstaller#test_check_executable_overwrite_default_bin_dir):
  if the executable to be overwritten was generated by rubygems, the
  error messsage differs from the only copied one's.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 14:43:10 +00:00
usa
053ca25f2d * test/rubygems/test_gem_ext_ext_conf_builder.rb
(TestGemExtExtConfBuilder::test_class_make): reading with binary mode
  of course introduce \r on Windows.  see [ruby-core:50388].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 14:29:03 +00:00
ko1
bb4410a289 * thread.c: TracePoint#self returns invoking/exitting thread object
at thread_begin/end event.
* test/ruby/test_settracefunc.rb: fix test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38058 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 11:50:26 +00:00
usa
d0a4fecffc * test/ruby/memory_status.rb (Memory::Win32): sorry, ko1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38057 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 11:22:49 +00:00
usa
88201504ae * test/ruby/memory_status.rb (Memory::Win32): rescue non libffi user, such as ko1.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 11:15:36 +00:00
usa
77df72a64a * test/ruby/memory_status.rb (Memory::Win32): use fiddle instead of dl,
but I doubt fiddle is not compatible with dl. (if you are interested,
  see the diff.)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38054 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 10:57:06 +00:00
ko1
719e0cd530 * thread.c: rename Thread.control_interrupt
to Thread.async_interrupt_timing.
  The option name `:never' is also changed to  `:defer'.
  [ruby-core:50375] [ruby-trunk - Feature #6762]
* thread.c: remove Thread.check_interrupt.
  This method is difficult to understand by name.
* thraed.c: add Thread.async_interrupted?.
  This method check any defered async interrupts.
* test/ruby/test_thread.rb: change tests for above.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 09:28:35 +00:00
nobu
020cc0ad5c string.c: compare with to_str
* string.c (rb_str_cmp_m): try to compare with to_str result if
  possible before calling <=> method.  [ruby-core:49279] [Bug #7342]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 08:43:52 +00:00
nobu
1dbc720c0d string.c: always fixed value
* string.c (rb_str_cmp_m): return fixed value, one of -1,0,+1 always.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 08:43:42 +00:00
nobu
981f9c52c6 vm_dump.c: no methods in segv handler
* vm_dump.c (rb_vm_bugreport): get rid of calling methods in sigsegv
  handler.  based on a patch by charliesome (Charlie Somerville)
  [ruby-core:49573] [Bug #7402]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 07:19:16 +00:00
nobu
8e2839ba2f parse.y: false usage of local variable
* parse.y (parser_yylex): fix false usage of local variable, it cannot
  appear in fname state [ruby-core:49659] [Bug #7408]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 06:24:40 +00:00
drbrain
6969043477 * lib/rubygems/package.rb: Load YAML for building gems.
* test/rubygems/test_gem_commands_contents_command.rb:  Sort expected
  output of default gem contents.  Re-fixes r38004 and r38005.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 06:20:34 +00:00
drbrain
42968fe65a * lib/rubygems/commands/setup_command.rb: Remove old files on install
of RubyGems.  (not by rbinstall.rb).
	* test/rubygems/test_gem_commands_setup_command.rb:  Test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 04:30:12 +00:00
knu
4078d42b72 Fix a line matching problem in Abbrev.abbrev(words, "prefix").
* lib/abbrev.rb (Abbrev#abbrev): A fixed string prefix pattern
  should only match the beginning of each word, not the beginning
  of every line in it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 03:56:28 +00:00
knu
aac52e2b87 Improve test data in test_abbrev.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 03:56:25 +00:00
knu
06c3b413f0 Add tests for lib/abbrev.rb.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 03:35:01 +00:00
drbrain
aee295fc74 * lib/rubygems/spec_fetcher.rb: Allow prerelease spec fetching to fail
for bundler.
	* test/rubygems/test_gem_spec_fetcher.rb:  Test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 03:28:04 +00:00
drbrain
8137152e01 * lib/rake/backtrace.rb: Removed duplication in
Rake::Backtrace::SUPPRESSED_PATHS
	* test/rake/test_rake_backtrace.rb:  Skip tests when tmpdir is in the
	  suppressed pattern.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 03:21:06 +00:00
shugo
9e44974874 * revert r37993 to avoid SEGV in tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38022 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 02:11:59 +00:00
drbrain
696ebcd8ca * lib/rdoc/ri/driver.rb: Relaxed matching for pages to be more
user-friendly.
* test/rdoc/test_rdoc_ri_driver.rb:   Test for above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 01:39:03 +00:00
naruse
d8da36dd22 Refix r38002: capture_subprocess_io also doesn't fork
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 01:29:57 +00:00
naruse
b479ca0c98 Use capture_subprocess_io instead of capture_io. fix r38002
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 00:54:04 +00:00
drbrain
82e6c75d14 * lib/rubygems/commands/contents_command.rb: Sort output from command.
Replaces r38004, r38005
* test/rubygems/test_gem_commands_contents_command.rb:  ditto.

* lib/rubygems/defaults.rb:  Use Gem.path_separator for jruby support.
* lib/rubygems/path_support.rb:  ditto


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-30 00:23:15 +00:00
drbrain
09af9d7f7f * lib/rdoc/generator/darkfish.rb: Silenced warning
* test/rdoc/test_rdoc_rdoc.rb:  ditto

	* lib/rdoc/markup/parser.rb:  Use byteslice when available for
	  performance
	* test/rdoc/test_rdoc_markup_parser.rb:  Test for above
	* lib/rdoc/test_case.rb:  ditto

	* lib/rdoc/parser/ruby.rb:  Fixed bug parsing yield({})
	* test/rdoc/test_rdoc_parser_ruby.rb (end):

	* lib/rdoc/rubygems_hook.rb:  Skip default gems.  Display generator
	  name properly.
	* test/rdoc/test_rdoc_rubygems_hook.rb:  Test for above

	* lib/rdoc/servlet.rb:  Fixed typo.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 23:34:29 +00:00
nari
59770bf960 * gc.c (rb_objspace_call_finalizer): finalize_deferred may free up
a object which is reachable from a part after this function,
  e.g. ruby_vm_destruct(). [ruby-dev:46647] [Bug #7452]

* test/ruby/test_gc.rb (test_finalizing_main_thread): add a test
  for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 22:56:02 +00:00
ko1
4db8340398 [EXPERIMENTAL: NEED DISCUSS]
* vm_trace.c: add events
* :thread_begin - hook at thread beggining.
* :thead_end - hook at thread ending.
* :b_call - hook at block enter.
* :b_return - hook at block leave.
  This change slow down block invocation.
  Please try and give us feedback until 2.0 code freeze.
* include/ruby/ruby.h: ditto.
* compile.c (rb_iseq_compile_node): ditto.
* insns.def: ditto.
* thread.c: ditto.
* vm.c: ditto.
* include/ruby/debug.h: add a comment.
* test/ruby/test_settracefunc.rb: add a tests.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38007 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 22:28:16 +00:00
ryan
2dc5e62545 Imported minitest 4.3.2 (r8027)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 22:02:36 +00:00
naruse
213ba52407 Fix typo of r38004
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 20:48:52 +00:00
naruse
e818b24c44 Sort th result to compare multiple lines
The order of the lines is depend on Dir.glob's result.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-11-29 20:34:29 +00:00