win32-api 1.5.3-universal-mingw32 → 1.6.0-universal-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGES +174 -169
- data/Gemfile +4 -0
- data/Gemfile.lock +24 -0
- data/README +129 -131
- data/Rakefile +185 -182
- data/appveyor.yml +42 -0
- data/ext/win32/api.c +1092 -1092
- data/lib/win32/api.rb +14 -8
- data/lib/win32/ruby21_32/win32/api.so +0 -0
- data/lib/win32/ruby21_64/win32/api.so +0 -0
- data/lib/win32/ruby22_32/win32/api.so +0 -0
- data/lib/win32/ruby22_64/win32/api.so +0 -0
- data/lib/win32/ruby23_32/win32/api.so +0 -0
- data/lib/win32/ruby23_64/win32/api.so +0 -0
- data/lib/win32/ruby2_32/win32/api.so +0 -0
- data/lib/win32/ruby2_64/win32/api.so +0 -0
- data/test/test_win32_api.rb +145 -145
- data/vendor/bundle/ruby/2.2.0/bin/devkit +23 -0
- data/vendor/bundle/ruby/2.2.0/bin/devkit.bat +6 -0
- data/vendor/bundle/ruby/2.2.0/bin/rake +23 -0
- data/vendor/bundle/ruby/2.2.0/bin/rake.bat +6 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/CHANGELOG +55 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/LICENSE +339 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/README.md +73 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/Rakefile +8 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/colorize.gemspec +35 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize.rb +12 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize/class_methods.rb +116 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/lib/colorize/instance_methods.rb +135 -0
- data/vendor/bundle/ruby/2.2.0/gems/colorize-0.7.7/test/test_colorize.rb +161 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Gemfile +4 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/LICENSE.txt +22 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/README.md +34 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Rakefile +1 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/Rspec-example-matchers.txt +184 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/bin/devkit +87 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/devkit.gemspec +27 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit.rb +18 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/core.rb +53 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/identity.rb +78 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/ssh_identity.rb +53 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/lib/devkit/version.rb +3 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/core_spec.rb +46 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/identity_spec.rb +1 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit/ssh_identity_spec.rb +1 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/devkit_spec.rb +5 -0
- data/vendor/bundle/ruby/2.2.0/gems/devkit-0.1.0/spec/spec_helper.rb +8 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/AUTHORS +3 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/COPYING +339 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Changelog.md +415 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Gemfile +9 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/INSTALL +59 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/LICENSE +7 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/README.rdoc +74 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/Rakefile +30 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/TODO +6 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/ansi_colors.rb +38 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/asking_for_arrays.rb +18 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/basic_usage.rb +75 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/color_scheme.rb +32 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/get_character.rb +12 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/limit.rb +12 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/menus.rb +65 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/overwrite.rb +19 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/page_and_wrap.rb +322 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/password.rb +7 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/repeat_entry.rb +21 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/trapping_eof.rb +22 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/examples/using_readline.rb +17 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/highline.gemspec +37 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline.rb +1048 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/color_scheme.rb +134 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/compatibility.rb +16 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/import.rb +41 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/menu.rb +381 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/question.rb +480 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/simulate.rb +48 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/style.rb +192 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/lib/highline/version.rb +4 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/setup.rb +1360 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/highline.css +65 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/images/logo.png +0 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/site/index.html +58 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/string_methods.rb +32 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_color_scheme.rb +96 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_highline.rb +1402 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_import.rb +52 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_menu.rb +439 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_simulator.rb +23 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_string_highline.rb +38 -0
- data/vendor/bundle/ruby/2.2.0/gems/highline-1.7.8/test/tc_style.rb +578 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/BSDL +22 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/COPYING +57 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/Gemfile +9 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/LEGAL +4 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/README.rdoc +19 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/Rakefile +16 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/benchmarks/bm_yhpg.rb +59 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/benchmarks/helper.rb +8 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert.rb +338 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert/enable_tracepoint_events.rb +82 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/lib/power_assert/version.rb +3 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/power_assert.gemspec +23 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/test/helper.rb +10 -0
- data/vendor/bundle/ruby/2.2.0/gems/power_assert-0.3.0/test/test_power_assert.rb +512 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/CONTRIBUTING.rdoc +38 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/History.rdoc +719 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/Manifest.txt +154 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/README.rdoc +157 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/Rakefile +82 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/bin/rake +33 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/command_line_usage.rdoc +158 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/Rakefile1 +38 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/Rakefile2 +35 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/a.c +6 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/b.c +6 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/example/main.c +11 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/glossary.rdoc +42 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/jamis.rb +591 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/proto_rake.rdoc +127 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rake.1 +141 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rakefile.rdoc +624 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/rational.rdoc +151 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.4.14.rdoc +23 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.4.15.rdoc +35 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.0.rdoc +53 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.3.rdoc +78 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.5.4.rdoc +46 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.6.0.rdoc +141 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.0.rdoc +119 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.1.rdoc +59 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.2.rdoc +121 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.7.3.rdoc +47 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.0.rdoc +114 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.2.rdoc +165 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.3.rdoc +112 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.4.rdoc +147 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.5.rdoc +53 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.6.rdoc +37 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.8.7.rdoc +55 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.0.rdoc +112 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.1.rdoc +52 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.2.rdoc +49 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.3.rdoc +102 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.4.rdoc +60 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.5.rdoc +55 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-0.9.6.rdoc +64 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.0.rdoc +178 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.1.rdoc +58 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.2.rdoc +53 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.0.3.rdoc +191 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/doc/release_notes/rake-10.1.0.rdoc +61 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake.rb +73 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/application.rb +787 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/backtrace.rb +23 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/clean.rb +76 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/cloneable.rb +16 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/compositepublisher.rb +21 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/ftptools.rb +137 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/contrib/sshpublisher.rb +60 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/cpu_counter.rb +120 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/default_loader.rb +14 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/dsl_definition.rb +194 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/early_time.rb +21 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_creation_task.rb +24 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_list.rb +436 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_task.rb +46 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/file_utils.rb +123 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/invocation_chain.rb +56 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/invocation_exception_mixin.rb +16 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/late_time.rb +17 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/linked_list.rb +111 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/loaders/makefile.rb +53 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/multi_task.rb +13 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/name_space.rb +38 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/packagetask.rb +199 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/phony.rb +15 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/private_reader.rb +20 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/promise.rb +99 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/pseudo_status.rb +29 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rake_module.rb +38 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rake_test_loader.rb +22 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/scope.rb +42 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task.rb +391 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_argument_error.rb +7 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_arguments.rb +102 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/task_manager.rb +316 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/tasklib.rb +11 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/testtask.rb +204 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/thread_history_display.rb +48 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/thread_pool.rb +163 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/trace_output.rb +22 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/version.rb +7 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/lib/rake/win32.rb +50 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/rakelib/test_times.rake +25 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/file_creation.rb +34 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/helper.rb +134 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/support/rakefile_definitions.rb +476 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/support/ruby_runner.rb +34 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_private_reader.rb +42 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake.rb +40 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_application.rb +659 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_application_options.rb +468 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_backtrace.rb +119 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_clean.rb +61 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_cpu_counter.rb +68 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_definitions.rb +84 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_directory_task.rb +76 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_dsl.rb +40 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_early_time.rb +31 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_creation_task.rb +56 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_list.rb +687 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_list_path_map.rb +15 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_task.rb +197 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_file_utils.rb +318 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_ftp_file.rb +74 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_functional.rb +484 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_invocation_chain.rb +64 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_late_time.rb +18 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_linked_list.rb +84 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_makefile_loader.rb +46 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_multi_task.rb +64 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_name_space.rb +57 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_package_task.rb +79 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map.rb +168 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map_explode.rb +34 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_path_map_partial.rb +18 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_pseudo_status.rb +21 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_rake_test_loader.rb +20 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_reduce_compat.rb +26 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_require.rb +40 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_rules.rb +388 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_scope.rb +44 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task.rb +430 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_argument_parsing.rb +119 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_arguments.rb +134 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_manager.rb +178 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_manager_argument_resolution.rb +19 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_task_with_arguments.rb +172 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_test_task.rb +130 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_thread_pool.rb +145 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_top_level_functions.rb +71 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_rake_win32.rb +72 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_thread_history_display.rb +101 -0
- data/vendor/bundle/ruby/2.2.0/gems/rake-11.1.2/test/test_trace_output.rb +52 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/COPYING +64 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/GPL +339 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/LGPL +502 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/PSFL +271 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/README.md +101 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/Rakefile +71 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test-unit.rb +34 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit.rb +505 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/assertion-failed-error.rb +25 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/assertions.rb +2218 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/attribute-matcher.rb +26 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/attribute.rb +158 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/auto-runner-loader.rb +17 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/autorunner.rb +536 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/code-snippet-fetcher.rb +58 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector.rb +73 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/descendant.rb +19 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/dir.rb +108 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/load.rb +202 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/objectspace.rb +34 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/collector/xml.rb +249 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/color-scheme.rb +198 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/color.rb +134 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/data.rb +262 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/diff.rb +746 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/error.rb +158 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/exception-handler.rb +82 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/failure.rb +169 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/fault-location-detector.rb +100 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/fixture.rb +295 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/notification.rb +136 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/omission.rb +195 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/pending.rb +154 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/priority.rb +192 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/console.rb +59 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/emacs.rb +8 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/runner/xml.rb +15 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/test-suite-creator.rb +89 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testcase.rb +811 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testresult.rb +132 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/testsuite.rb +175 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/console/outputlevel.rb +15 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/console/testrunner.rb +693 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/emacs/testrunner.rb +49 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunner.rb +53 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunnermediator.rb +114 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/testrunnerutilities.rb +41 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/ui/xml/testrunner.rb +224 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/backtracefilter.rb +59 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/method-owner-finder.rb +28 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/observable.rb +90 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/output.rb +31 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/util/procwrapper.rb +48 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/lib/test/unit/version.rb +5 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/adder.rb +13 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/subtracter.rb +12 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_adder.rb +20 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_subtracter.rb +20 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/sample/test_user.rb +23 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test-descendant.rb +178 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test-load.rb +442 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test_dir.rb +406 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/collector/test_objectspace.rb +100 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header-label.csv +3 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header-label.tsv +3 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header.csv +3 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/header.tsv +3 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/no-header.csv +2 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/no-header.tsv +2 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/fixtures/plus.csv +3 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/run-test.rb +22 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-assertions.rb +2160 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-attribute-matcher.rb +38 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-attribute.rb +123 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-code-snippet.rb +37 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-color-scheme.rb +82 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-color.rb +47 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-data.rb +303 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-diff.rb +518 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-emacs-runner.rb +60 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-error.rb +26 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-failure.rb +33 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-fault-location-detector.rb +163 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-fixture.rb +713 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-notification.rb +33 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-omission.rb +81 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-pending.rb +70 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-priority.rb +173 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-case.rb +1171 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-result.rb +113 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-suite-creator.rb +97 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/test-test-suite.rb +150 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/testunit-test-util.rb +31 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/ui/test_testrunmediator.rb +20 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test-method-owner-finder.rb +38 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test-output.rb +11 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_backtracefilter.rb +52 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_observable.rb +102 -0
- data/vendor/bundle/ruby/2.2.0/gems/test-unit-3.1.9/test/util/test_procwrapper.rb +36 -0
- data/vendor/bundle/ruby/2.2.0/specifications/colorize-0.7.7.gemspec +38 -0
- data/vendor/bundle/ruby/2.2.0/specifications/devkit-0.1.0.gemspec +46 -0
- data/vendor/bundle/ruby/2.2.0/specifications/highline-1.7.8.gemspec +37 -0
- data/vendor/bundle/ruby/2.2.0/specifications/power_assert-0.3.0.gemspec +41 -0
- data/vendor/bundle/ruby/2.2.0/specifications/rake-11.1.2.gemspec +43 -0
- data/vendor/bundle/ruby/2.2.0/specifications/test-unit-3.1.9.gemspec +47 -0
- data/win32-api.gemspec +27 -27
- metadata +345 -5
- data/lib/win32/ruby18/win32/api.so +0 -0
- data/lib/win32/ruby19/win32/api.so +0 -0
| @@ -0,0 +1,48 @@ | |
| 1 | 
            +
            require 'rake/private_reader'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Rake
         | 
| 4 | 
            +
             | 
| 5 | 
            +
              class ThreadHistoryDisplay    # :nodoc: all
         | 
| 6 | 
            +
                include Rake::PrivateReader
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                private_reader :stats, :items, :threads
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                def initialize(stats)
         | 
| 11 | 
            +
                  @stats   = stats
         | 
| 12 | 
            +
                  @items   = { :_seq_ =>  1  }
         | 
| 13 | 
            +
                  @threads = { :_seq_ => "A" }
         | 
| 14 | 
            +
                end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                def show
         | 
| 17 | 
            +
                  puts "Job History:"
         | 
| 18 | 
            +
                  stats.each do |stat|
         | 
| 19 | 
            +
                    stat[:data] ||= {}
         | 
| 20 | 
            +
                    rename(stat, :thread, threads)
         | 
| 21 | 
            +
                    rename(stat[:data], :item_id, items)
         | 
| 22 | 
            +
                    rename(stat[:data], :new_thread, threads)
         | 
| 23 | 
            +
                    rename(stat[:data], :deleted_thread, threads)
         | 
| 24 | 
            +
                    printf("%8d %2s %-20s %s\n",
         | 
| 25 | 
            +
                      (stat[:time] * 1_000_000).round,
         | 
| 26 | 
            +
                      stat[:thread],
         | 
| 27 | 
            +
                      stat[:event],
         | 
| 28 | 
            +
                      stat[:data].map do |k, v| "#{k}:#{v}" end.join(" "))
         | 
| 29 | 
            +
                  end
         | 
| 30 | 
            +
                end
         | 
| 31 | 
            +
             | 
| 32 | 
            +
                private
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                def rename(hash, key, renames)
         | 
| 35 | 
            +
                  if hash && hash[key]
         | 
| 36 | 
            +
                    original = hash[key]
         | 
| 37 | 
            +
                    value = renames[original]
         | 
| 38 | 
            +
                    unless value
         | 
| 39 | 
            +
                      value = renames[:_seq_]
         | 
| 40 | 
            +
                      renames[:_seq_] = renames[:_seq_].succ
         | 
| 41 | 
            +
                      renames[original] = value
         | 
| 42 | 
            +
                    end
         | 
| 43 | 
            +
                    hash[key] = value
         | 
| 44 | 
            +
                  end
         | 
| 45 | 
            +
                end
         | 
| 46 | 
            +
              end
         | 
| 47 | 
            +
             | 
| 48 | 
            +
            end
         | 
| @@ -0,0 +1,163 @@ | |
| 1 | 
            +
            require 'thread'
         | 
| 2 | 
            +
            require 'set'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            require 'rake/promise'
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            module Rake
         | 
| 7 | 
            +
             | 
| 8 | 
            +
              class ThreadPool # :nodoc: all
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                # Creates a ThreadPool object.  The +thread_count+ parameter is the size
         | 
| 11 | 
            +
                # of the pool.
         | 
| 12 | 
            +
                def initialize(thread_count)
         | 
| 13 | 
            +
                  @max_active_threads = [thread_count, 0].max
         | 
| 14 | 
            +
                  @threads = Set.new
         | 
| 15 | 
            +
                  @threads_mon = Monitor.new
         | 
| 16 | 
            +
                  @queue = Queue.new
         | 
| 17 | 
            +
                  @join_cond = @threads_mon.new_cond
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                  @history_start_time = nil
         | 
| 20 | 
            +
                  @history = []
         | 
| 21 | 
            +
                  @history_mon = Monitor.new
         | 
| 22 | 
            +
                  @total_threads_in_play = 0
         | 
| 23 | 
            +
                end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                # Creates a future executed by the +ThreadPool+.
         | 
| 26 | 
            +
                #
         | 
| 27 | 
            +
                # The args are passed to the block when executing (similarly to
         | 
| 28 | 
            +
                # Thread#new) The return value is an object representing
         | 
| 29 | 
            +
                # a future which has been created and added to the queue in the
         | 
| 30 | 
            +
                # pool. Sending #value to the object will sleep the
         | 
| 31 | 
            +
                # current thread until the future is finished and will return the
         | 
| 32 | 
            +
                # result (or raise an exception thrown from the future)
         | 
| 33 | 
            +
                def future(*args, &block)
         | 
| 34 | 
            +
                  promise = Promise.new(args, &block)
         | 
| 35 | 
            +
                  promise.recorder = lambda { |*stats| stat(*stats) }
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                  @queue.enq promise
         | 
| 38 | 
            +
                  stat :queued, :item_id => promise.object_id
         | 
| 39 | 
            +
                  start_thread
         | 
| 40 | 
            +
                  promise
         | 
| 41 | 
            +
                end
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                # Waits until the queue of futures is empty and all threads have exited.
         | 
| 44 | 
            +
                def join
         | 
| 45 | 
            +
                  @threads_mon.synchronize do
         | 
| 46 | 
            +
                    begin
         | 
| 47 | 
            +
                      stat :joining
         | 
| 48 | 
            +
                      @join_cond.wait unless @threads.empty?
         | 
| 49 | 
            +
                      stat :joined
         | 
| 50 | 
            +
                    rescue Exception => e
         | 
| 51 | 
            +
                      stat :joined
         | 
| 52 | 
            +
                      $stderr.puts e
         | 
| 53 | 
            +
                      $stderr.print "Queue contains #{@queue.size} items. " +
         | 
| 54 | 
            +
                        "Thread pool contains #{@threads.count} threads\n"
         | 
| 55 | 
            +
                      $stderr.print "Current Thread #{Thread.current} status = " +
         | 
| 56 | 
            +
                        "#{Thread.current.status}\n"
         | 
| 57 | 
            +
                      $stderr.puts e.backtrace.join("\n")
         | 
| 58 | 
            +
                      @threads.each do |t|
         | 
| 59 | 
            +
                        $stderr.print "Thread #{t} status = #{t.status}\n"
         | 
| 60 | 
            +
                        $stderr.puts t.backtrace.join("\n")
         | 
| 61 | 
            +
                      end
         | 
| 62 | 
            +
                      raise e
         | 
| 63 | 
            +
                    end
         | 
| 64 | 
            +
                  end
         | 
| 65 | 
            +
                end
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                # Enable the gathering of history events.
         | 
| 68 | 
            +
                def gather_history          #:nodoc:
         | 
| 69 | 
            +
                  @history_start_time = Time.now if @history_start_time.nil?
         | 
| 70 | 
            +
                end
         | 
| 71 | 
            +
             | 
| 72 | 
            +
                # Return a array of history events for the thread pool.
         | 
| 73 | 
            +
                #
         | 
| 74 | 
            +
                # History gathering must be enabled to be able to see the events
         | 
| 75 | 
            +
                # (see #gather_history). Best to call this when the job is
         | 
| 76 | 
            +
                # complete (i.e. after ThreadPool#join is called).
         | 
| 77 | 
            +
                def history                 # :nodoc:
         | 
| 78 | 
            +
                  @history_mon.synchronize { @history.dup }.
         | 
| 79 | 
            +
                    sort_by { |i| i[:time] }.
         | 
| 80 | 
            +
                    each { |i| i[:time] -= @history_start_time }
         | 
| 81 | 
            +
                end
         | 
| 82 | 
            +
             | 
| 83 | 
            +
                # Return a hash of always collected statistics for the thread pool.
         | 
| 84 | 
            +
                def statistics              #  :nodoc:
         | 
| 85 | 
            +
                  {
         | 
| 86 | 
            +
                    :total_threads_in_play => @total_threads_in_play,
         | 
| 87 | 
            +
                    :max_active_threads => @max_active_threads,
         | 
| 88 | 
            +
                  }
         | 
| 89 | 
            +
                end
         | 
| 90 | 
            +
             | 
| 91 | 
            +
                private
         | 
| 92 | 
            +
             | 
| 93 | 
            +
                # processes one item on the queue. Returns true if there was an
         | 
| 94 | 
            +
                # item to process, false if there was no item
         | 
| 95 | 
            +
                def process_queue_item      #:nodoc:
         | 
| 96 | 
            +
                  return false if @queue.empty?
         | 
| 97 | 
            +
             | 
| 98 | 
            +
                  # Even though we just asked if the queue was empty, it
         | 
| 99 | 
            +
                  # still could have had an item which by this statement
         | 
| 100 | 
            +
                  # is now gone. For this reason we pass true to Queue#deq
         | 
| 101 | 
            +
                  # because we will sleep indefinitely if it is empty.
         | 
| 102 | 
            +
                  promise = @queue.deq(true)
         | 
| 103 | 
            +
                  stat :dequeued, :item_id => promise.object_id
         | 
| 104 | 
            +
                  promise.work
         | 
| 105 | 
            +
                  return true
         | 
| 106 | 
            +
             | 
| 107 | 
            +
                  rescue ThreadError # this means the queue is empty
         | 
| 108 | 
            +
                  false
         | 
| 109 | 
            +
                end
         | 
| 110 | 
            +
             | 
| 111 | 
            +
                def safe_thread_count
         | 
| 112 | 
            +
                  @threads_mon.synchronize do
         | 
| 113 | 
            +
                    @threads.count
         | 
| 114 | 
            +
                  end
         | 
| 115 | 
            +
                end
         | 
| 116 | 
            +
             | 
| 117 | 
            +
                def start_thread # :nodoc:
         | 
| 118 | 
            +
                  @threads_mon.synchronize do
         | 
| 119 | 
            +
                    next unless @threads.count < @max_active_threads
         | 
| 120 | 
            +
             | 
| 121 | 
            +
                    t = Thread.new do
         | 
| 122 | 
            +
                      begin
         | 
| 123 | 
            +
                        while safe_thread_count <= @max_active_threads
         | 
| 124 | 
            +
                          break unless process_queue_item
         | 
| 125 | 
            +
                        end
         | 
| 126 | 
            +
                      ensure
         | 
| 127 | 
            +
                        @threads_mon.synchronize do
         | 
| 128 | 
            +
                          @threads.delete Thread.current
         | 
| 129 | 
            +
                          stat :ended, :thread_count => @threads.count
         | 
| 130 | 
            +
                          @join_cond.broadcast if @threads.empty?
         | 
| 131 | 
            +
                        end
         | 
| 132 | 
            +
                      end
         | 
| 133 | 
            +
                    end
         | 
| 134 | 
            +
             | 
| 135 | 
            +
                    @threads << t
         | 
| 136 | 
            +
                    stat(
         | 
| 137 | 
            +
                      :spawned,
         | 
| 138 | 
            +
                      :new_thread   => t.object_id,
         | 
| 139 | 
            +
                      :thread_count => @threads.count)
         | 
| 140 | 
            +
                    @total_threads_in_play = @threads.count if
         | 
| 141 | 
            +
                      @threads.count > @total_threads_in_play
         | 
| 142 | 
            +
                  end
         | 
| 143 | 
            +
                end
         | 
| 144 | 
            +
             | 
| 145 | 
            +
                def stat(event, data=nil) # :nodoc:
         | 
| 146 | 
            +
                  return if @history_start_time.nil?
         | 
| 147 | 
            +
                  info = {
         | 
| 148 | 
            +
                    :event  => event,
         | 
| 149 | 
            +
                    :data   => data,
         | 
| 150 | 
            +
                    :time   => Time.now,
         | 
| 151 | 
            +
                    :thread => Thread.current.object_id,
         | 
| 152 | 
            +
                  }
         | 
| 153 | 
            +
                  @history_mon.synchronize { @history << info }
         | 
| 154 | 
            +
                end
         | 
| 155 | 
            +
             | 
| 156 | 
            +
                # for testing only
         | 
| 157 | 
            +
             | 
| 158 | 
            +
                def __queue__ # :nodoc:
         | 
| 159 | 
            +
                  @queue
         | 
| 160 | 
            +
                end
         | 
| 161 | 
            +
              end
         | 
| 162 | 
            +
             | 
| 163 | 
            +
            end
         | 
| @@ -0,0 +1,22 @@ | |
| 1 | 
            +
            module Rake
         | 
| 2 | 
            +
              module TraceOutput # :nodoc: all
         | 
| 3 | 
            +
             | 
| 4 | 
            +
                # Write trace output to output stream +out+.
         | 
| 5 | 
            +
                #
         | 
| 6 | 
            +
                # The write is done as a single IO call (to print) to lessen the
         | 
| 7 | 
            +
                # chance that the trace output is interrupted by other tasks also
         | 
| 8 | 
            +
                # producing output.
         | 
| 9 | 
            +
                def trace_on(out, *strings)
         | 
| 10 | 
            +
                  sep = $\ || "\n"
         | 
| 11 | 
            +
                  if strings.empty?
         | 
| 12 | 
            +
                    output = sep
         | 
| 13 | 
            +
                  else
         | 
| 14 | 
            +
                    output = strings.map { |s|
         | 
| 15 | 
            +
                      next if s.nil?
         | 
| 16 | 
            +
                      s.end_with?(sep) ? s : s + sep
         | 
| 17 | 
            +
                    }.join
         | 
| 18 | 
            +
                  end
         | 
| 19 | 
            +
                  out.print(output)
         | 
| 20 | 
            +
                end
         | 
| 21 | 
            +
              end
         | 
| 22 | 
            +
            end
         | 
| @@ -0,0 +1,50 @@ | |
| 1 | 
            +
            require 'rbconfig'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Rake
         | 
| 4 | 
            +
              # Win 32 interface methods for Rake. Windows specific functionality
         | 
| 5 | 
            +
              # will be placed here to collect that knowledge in one spot.
         | 
| 6 | 
            +
              module Win32 # :nodoc: all
         | 
| 7 | 
            +
             | 
| 8 | 
            +
                # Error indicating a problem in locating the home directory on a
         | 
| 9 | 
            +
                # Win32 system.
         | 
| 10 | 
            +
                class Win32HomeError < RuntimeError
         | 
| 11 | 
            +
                end
         | 
| 12 | 
            +
             | 
| 13 | 
            +
                class << self
         | 
| 14 | 
            +
                  # True if running on a windows system.
         | 
| 15 | 
            +
                  def windows?
         | 
| 16 | 
            +
                    RbConfig::CONFIG["host_os"] =~ %r!(msdos|mswin|djgpp|mingw|[Ww]indows)!
         | 
| 17 | 
            +
                  end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                  # The standard directory containing system wide rake files on
         | 
| 20 | 
            +
                  # Win 32 systems. Try the following environment variables (in
         | 
| 21 | 
            +
                  # order):
         | 
| 22 | 
            +
                  #
         | 
| 23 | 
            +
                  # * HOME
         | 
| 24 | 
            +
                  # * HOMEDRIVE + HOMEPATH
         | 
| 25 | 
            +
                  # * APPDATA
         | 
| 26 | 
            +
                  # * USERPROFILE
         | 
| 27 | 
            +
                  #
         | 
| 28 | 
            +
                  # If the above are not defined, the return nil.
         | 
| 29 | 
            +
                  def win32_system_dir #:nodoc:
         | 
| 30 | 
            +
                    win32_shared_path = ENV['HOME']
         | 
| 31 | 
            +
                    if win32_shared_path.nil? && ENV['HOMEDRIVE'] && ENV['HOMEPATH']
         | 
| 32 | 
            +
                      win32_shared_path = ENV['HOMEDRIVE'] + ENV['HOMEPATH']
         | 
| 33 | 
            +
                    end
         | 
| 34 | 
            +
             | 
| 35 | 
            +
                    win32_shared_path ||= ENV['APPDATA']
         | 
| 36 | 
            +
                    win32_shared_path ||= ENV['USERPROFILE']
         | 
| 37 | 
            +
                    raise Win32HomeError,
         | 
| 38 | 
            +
                      "Unable to determine home path environment variable." if
         | 
| 39 | 
            +
                        win32_shared_path.nil? or win32_shared_path.empty?
         | 
| 40 | 
            +
                    normalize(File.join(win32_shared_path, 'Rake'))
         | 
| 41 | 
            +
                  end
         | 
| 42 | 
            +
             | 
| 43 | 
            +
                  # Normalize a win32 path so that the slashes are all forward slashes.
         | 
| 44 | 
            +
                  def normalize(path)
         | 
| 45 | 
            +
                    path.gsub(/\\/, '/')
         | 
| 46 | 
            +
                  end
         | 
| 47 | 
            +
             | 
| 48 | 
            +
                end
         | 
| 49 | 
            +
              end
         | 
| 50 | 
            +
            end
         | 
| @@ -0,0 +1,25 @@ | |
| 1 | 
            +
            module TestTimes
         | 
| 2 | 
            +
              def self.run(test_results, limit=0)
         | 
| 3 | 
            +
                limit = limit.nonzero? || 10
         | 
| 4 | 
            +
                tests = []
         | 
| 5 | 
            +
                test_results.split(/\n/).each do |line|
         | 
| 6 | 
            +
                  if line =~ /^(.+?#[^:]+): ([0-9.]+) s: \.$/
         | 
| 7 | 
            +
                    tests << [$1, $2.to_f, line]
         | 
| 8 | 
            +
                  end
         | 
| 9 | 
            +
                end
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                puts "#{limit} Slowest tests"
         | 
| 12 | 
            +
                puts tests.sort_by { |item|
         | 
| 13 | 
            +
                  item[1]
         | 
| 14 | 
            +
                }.reverse[0...limit].map { |item|
         | 
| 15 | 
            +
                  "%6.3f: %-s\n" % [item[1], item[0]]
         | 
| 16 | 
            +
                }
         | 
| 17 | 
            +
              end
         | 
| 18 | 
            +
            end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            namespace :test do
         | 
| 21 | 
            +
              desc "Find the slowest unit tests"
         | 
| 22 | 
            +
              task :times, [:limit] do |t, args|
         | 
| 23 | 
            +
                TestTimes.run `rake test:units TESTOPTS='--verbose'`, args.limit.to_i
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
            end
         | 
| @@ -0,0 +1,34 @@ | |
| 1 | 
            +
            module FileCreation
         | 
| 2 | 
            +
              OLDFILE = "old"
         | 
| 3 | 
            +
              NEWFILE = "new"
         | 
| 4 | 
            +
             | 
| 5 | 
            +
              def create_timed_files(oldfile, *newfiles)
         | 
| 6 | 
            +
                return if (File.exist?(oldfile) &&
         | 
| 7 | 
            +
                  newfiles.all? { |newfile|
         | 
| 8 | 
            +
                    File.exist?(newfile) && File.stat(newfile).mtime > File.stat(oldfile).mtime
         | 
| 9 | 
            +
                  })
         | 
| 10 | 
            +
                now = Time.now
         | 
| 11 | 
            +
             | 
| 12 | 
            +
                create_file(oldfile, now - 60)
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                newfiles.each do |newfile|
         | 
| 15 | 
            +
                  create_file(newfile, now)
         | 
| 16 | 
            +
                end
         | 
| 17 | 
            +
              end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
              def create_dir(dirname)
         | 
| 20 | 
            +
                FileUtils.mkdir_p(dirname) unless File.exist?(dirname)
         | 
| 21 | 
            +
                File.stat(dirname).mtime
         | 
| 22 | 
            +
              end
         | 
| 23 | 
            +
             | 
| 24 | 
            +
              def create_file(name, file_time=nil)
         | 
| 25 | 
            +
                create_dir(File.dirname(name))
         | 
| 26 | 
            +
                FileUtils.touch(name) unless File.exist?(name)
         | 
| 27 | 
            +
                File.utime(file_time, file_time, name) unless file_time.nil?
         | 
| 28 | 
            +
                File.stat(name).mtime
         | 
| 29 | 
            +
              end
         | 
| 30 | 
            +
             | 
| 31 | 
            +
              def delete_file(name)
         | 
| 32 | 
            +
                File.delete(name) rescue nil
         | 
| 33 | 
            +
              end
         | 
| 34 | 
            +
            end
         | 
| @@ -0,0 +1,134 @@ | |
| 1 | 
            +
            require 'rubygems'
         | 
| 2 | 
            +
            $:.unshift File.expand_path('../../lib', __FILE__)
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            begin
         | 
| 5 | 
            +
              gem 'minitest', '~> 5'
         | 
| 6 | 
            +
            rescue Gem::LoadError
         | 
| 7 | 
            +
            end
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            require 'minitest/autorun'
         | 
| 10 | 
            +
            require 'rake'
         | 
| 11 | 
            +
            require 'tmpdir'
         | 
| 12 | 
            +
            require File.expand_path('../file_creation', __FILE__)
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            require_relative 'support/ruby_runner'
         | 
| 15 | 
            +
            require_relative 'support/rakefile_definitions'
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            class Rake::TestCase < Minitest::Test
         | 
| 18 | 
            +
              include FileCreation
         | 
| 19 | 
            +
             | 
| 20 | 
            +
              include Rake::DSL
         | 
| 21 | 
            +
             | 
| 22 | 
            +
              class TaskManager
         | 
| 23 | 
            +
                include Rake::TaskManager
         | 
| 24 | 
            +
              end
         | 
| 25 | 
            +
             | 
| 26 | 
            +
              RUBY = Gem.ruby
         | 
| 27 | 
            +
             | 
| 28 | 
            +
              def setup
         | 
| 29 | 
            +
                ARGV.clear
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                test_dir = File.basename File.dirname File.expand_path __FILE__
         | 
| 32 | 
            +
             | 
| 33 | 
            +
                @rake_root =
         | 
| 34 | 
            +
                  if test_dir == 'test'
         | 
| 35 | 
            +
                    # rake repository
         | 
| 36 | 
            +
                    File.expand_path '../../', __FILE__
         | 
| 37 | 
            +
                  else
         | 
| 38 | 
            +
                    # ruby repository
         | 
| 39 | 
            +
                    File.expand_path '../../../', __FILE__
         | 
| 40 | 
            +
                  end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
                @verbose = ENV['VERBOSE']
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                @rake_exec = File.join @rake_root, 'bin', 'rake'
         | 
| 45 | 
            +
                @rake_lib  = File.join @rake_root, 'lib'
         | 
| 46 | 
            +
                @ruby_options = ["-I#{@rake_lib}", "-I."]
         | 
| 47 | 
            +
             | 
| 48 | 
            +
                @orig_pwd = Dir.pwd
         | 
| 49 | 
            +
                @orig_appdata      = ENV['APPDATA']
         | 
| 50 | 
            +
                @orig_home         = ENV['HOME']
         | 
| 51 | 
            +
                @orig_homedrive    = ENV['HOMEDRIVE']
         | 
| 52 | 
            +
                @orig_homepath     = ENV['HOMEPATH']
         | 
| 53 | 
            +
                @orig_rake_columns = ENV['RAKE_COLUMNS']
         | 
| 54 | 
            +
                @orig_rake_system  = ENV['RAKE_SYSTEM']
         | 
| 55 | 
            +
                @orig_rakeopt      = ENV['RAKEOPT']
         | 
| 56 | 
            +
                @orig_userprofile  = ENV['USERPROFILE']
         | 
| 57 | 
            +
                ENV.delete 'RAKE_COLUMNS'
         | 
| 58 | 
            +
                ENV.delete 'RAKE_SYSTEM'
         | 
| 59 | 
            +
                ENV.delete 'RAKEOPT'
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                tmpdir = Dir.chdir Dir.tmpdir do Dir.pwd end
         | 
| 62 | 
            +
                @tempdir = File.join tmpdir, "test_rake_#{$$}"
         | 
| 63 | 
            +
             | 
| 64 | 
            +
                FileUtils.mkdir_p @tempdir
         | 
| 65 | 
            +
             | 
| 66 | 
            +
                Dir.chdir @tempdir
         | 
| 67 | 
            +
             | 
| 68 | 
            +
                Rake.application = Rake::Application.new
         | 
| 69 | 
            +
                Rake::TaskManager.record_task_metadata = true
         | 
| 70 | 
            +
                RakeFileUtils.verbose_flag = false
         | 
| 71 | 
            +
              end
         | 
| 72 | 
            +
             | 
| 73 | 
            +
              def teardown
         | 
| 74 | 
            +
                Dir.chdir @orig_pwd
         | 
| 75 | 
            +
                FileUtils.rm_rf @tempdir
         | 
| 76 | 
            +
             | 
| 77 | 
            +
                if @orig_appdata
         | 
| 78 | 
            +
                  ENV['APPDATA'] = @orig_appdata
         | 
| 79 | 
            +
                else
         | 
| 80 | 
            +
                  ENV.delete 'APPDATA'
         | 
| 81 | 
            +
                end
         | 
| 82 | 
            +
             | 
| 83 | 
            +
                ENV['HOME']         = @orig_home
         | 
| 84 | 
            +
                ENV['HOMEDRIVE']    = @orig_homedrive
         | 
| 85 | 
            +
                ENV['HOMEPATH']     = @orig_homepath
         | 
| 86 | 
            +
                ENV['RAKE_COLUMNS'] = @orig_rake_columns
         | 
| 87 | 
            +
                ENV['RAKE_SYSTEM']  = @orig_rake_system
         | 
| 88 | 
            +
                ENV['RAKEOPT']      = @orig_rakeopt
         | 
| 89 | 
            +
                ENV['USERPROFILE']  = @orig_userprofile
         | 
| 90 | 
            +
              end
         | 
| 91 | 
            +
             | 
| 92 | 
            +
              def ignore_deprecations
         | 
| 93 | 
            +
                Rake.application.options.ignore_deprecate = true
         | 
| 94 | 
            +
                yield
         | 
| 95 | 
            +
              ensure
         | 
| 96 | 
            +
                Rake.application.options.ignore_deprecate = false
         | 
| 97 | 
            +
              end
         | 
| 98 | 
            +
             | 
| 99 | 
            +
              def rake_system_dir
         | 
| 100 | 
            +
                @system_dir = 'system'
         | 
| 101 | 
            +
             | 
| 102 | 
            +
                FileUtils.mkdir_p @system_dir
         | 
| 103 | 
            +
             | 
| 104 | 
            +
                open File.join(@system_dir, 'sys1.rake'), 'w' do |io|
         | 
| 105 | 
            +
                  io << <<-SYS
         | 
| 106 | 
            +
            task "sys1" do
         | 
| 107 | 
            +
              puts "SYS1"
         | 
| 108 | 
            +
            end
         | 
| 109 | 
            +
                  SYS
         | 
| 110 | 
            +
                end
         | 
| 111 | 
            +
             | 
| 112 | 
            +
                ENV['RAKE_SYSTEM'] = @system_dir
         | 
| 113 | 
            +
              end
         | 
| 114 | 
            +
             | 
| 115 | 
            +
              def rakefile(contents)
         | 
| 116 | 
            +
                open 'Rakefile', 'w' do |io|
         | 
| 117 | 
            +
                  io << contents
         | 
| 118 | 
            +
                end
         | 
| 119 | 
            +
              end
         | 
| 120 | 
            +
             | 
| 121 | 
            +
              def jruby?
         | 
| 122 | 
            +
                defined?(JRUBY_VERSION)
         | 
| 123 | 
            +
              end
         | 
| 124 | 
            +
             | 
| 125 | 
            +
              def jruby17?
         | 
| 126 | 
            +
                jruby? && (JRUBY_VERSION < '9.0.0.0')
         | 
| 127 | 
            +
              end
         | 
| 128 | 
            +
             | 
| 129 | 
            +
              def jruby9?
         | 
| 130 | 
            +
                jruby? && (JRUBY_VERSION >= '9.0.0.0')
         | 
| 131 | 
            +
              end
         | 
| 132 | 
            +
             | 
| 133 | 
            +
              include RakefileDefinitions
         | 
| 134 | 
            +
            end
         |