aboutsummaryrefslogtreecommitdiffstats
path: root/test/ruby/test_require.rb
Commit message (Collapse)AuthorAgeFilesLines
* test/ruby: better assertionsnobu2013-12-131-1/+1
| | | | | | * test/ruby: use better assertions instead of mere assert. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/unit/assertions.rb: return exceptionnobu2013-10-091-2/+1
| | | | | | | | | * lib/test/unit/assertions.rb (assert_raise_with_message): return raised exception same as assert_raise. * test/ruby, test/-ext-: use assert_raise_with_message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_require.rb: need verbosenobu2013-10-091-0/+5
| | | | | | | * test/ruby/test_require.rb (test_race_exception): need $VERBOSE setting, to emit warnings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* load.c: display backtrace to $stderrnobu2013-10-081-7/+10
| | | | | | | | | * load.c (load_lock): display backtrace to $stderr at circular require. * vm_backtrace.c (rb_backtrace_print_to): new function to print backtrace to the given output. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file.c: OSX path encodingnobu2013-08-111-1/+1
| | | | | | | * file.c (rb_str_encode_ospath): OS path encoding on Mac OS X is also fixed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_require.rb: __FILE__ encoding on Windowsnobu2013-08-111-2/+12
| | | | | | | | * test/ruby/test_require.rb (assert_require_nonascii_path): OS path encoding on Windows is fixed, so encoding of __FILE__ should be it. [ruby-core:56498] [Bug #8764] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ruby.c: use String path version parser functionsnobu2013-08-091-1/+10
| | | | | | | * ruby.c (load_file_internal): use rb_parser_compile_string_path and rb_parser_compile_file_path, String path name versions. [Bug #8753] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_require.rb: same processnobu2013-07-261-4/+8
| | | | | | | * test/ruby/test_require.rb (assert_require_nonascii_path): run in same process. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42186 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_require.rb: use assert_separatelynobu2013-07-261-69/+30
| | | | | | | * test/ruby/test_require.rb: use assert_separately preferably to assert_in_out_err for clear messages. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* load.c: search in OS path encodingnobu2013-07-261-1/+8
| | | | | | | | | | | * load.c (rb_load_internal): use rb_load_file_str() to keep path encoding. * load.c (rb_require_safe): search in OS path encoding for Windows. * ruby.c (rb_load_file_str): load file with keeping path encoding. * win32/file.c (rb_file_load_ok): use WCHAR type API assuming incoming path is encoded in UTF-8. [ruby-core:56136] [Bug #8676] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_require.rb: splitnobu2013-07-261-2/+6
| | | | | | | * test/ruby/test_require.rb (TestRequire#test_require_nonascii_path): split test body. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42182 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* fix warning: shadowing outer local variable - pathnaruse2013-07-261-3/+3
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42176 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* envutil.rb: encodingnobu2013-07-251-4/+7
| | | | | | | * test/ruby/envutil.rb (Test::Unit::Assertions#assert_separately): specify the encoding of source. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby: reap zombiesnobu2013-06-191-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/csv/test_features.rb, test/logger/test_logger.rbakr2013-04-201-156/+154
| | | | | | | | | | | | | | | | | | test/mkmf/test_have_macro.rb, test/net/http/test_http.rb, test/openssl/test_config.rb, test/psych/test_encoding.rb, test/psych/test_exception.rb, test/psych/test_psych.rb, test/psych/test_tainted.rb, test/readline/test_readline.rb, test/rexml/test_contrib.rb, test/ruby/test_autoload.rb, test/ruby/test_beginendblock.rb, test/ruby/test_exception.rb, test/ruby/test_file.rb, test/ruby/test_io.rb, test/ruby/test_marshal.rb, test/ruby/test_process.rb, test/ruby/test_require.rb, test/ruby/test_rubyoptions.rb, test/syslog/test_syslog_logger.rb, test/webrick/test_httpauth.rb, test/zlib/test_zlib.rb: Use Tempfile.create. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40400 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Regexp.escape(RUBY_PLATFORM)kazu2013-04-071-1/+1
| | | | | | | | * test/ruby/test_require.rb (TestRequire#test_require_nonascii_path): RUBY_PLATFORM should escape as Regexp, because RUBY_PLATFORM may contain '.'. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_require.rb (TestRequire#test_require_nonascii_path):shirosaki2013-04-061-1/+3
| | | | | | fix load path for encoding to run the test as stand-alone. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40148 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * load.c (features_index_add): use rb_str_subseq() to specify C stringshirosaki2013-04-051-0/+21
| | | | | | | | | | position properly to fix require non ascii path. [ruby-core:53733] [Bug #8165] * test/ruby/test_require.rb (TestRequire#test_require_nonascii_path): a test for the above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40135 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add ignore_stderr because it outputs "circular require" warningsnaruse2013-04-021-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_require.rb: Remove temporally files in the tests.akr2013-03-241-0/+6
| | | | | | | | | | | | | | | | | | | | * test/ruby/test_rubyoptions.rb: Ditto. * test/logger/test_logger.rb: Ditto. * test/psych/test_psych.rb: Ditto. * test/readline/test_readline.rb: Ditto. * test/syslog/test_syslog_logger.rb: Ditto. * test/webrick/test_httpauth.rb: Ditto. * test/zlib/test_zlib.rb: Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_require.rb: shared drivenobu2013-02-061-1/+7
| | | | | | | * test/ruby/test_require.rb (TestRequire#test_require_with_unc): cannot test unless the local drive is shared. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39085 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add RUBYOPT=>nil to avoid false negativenaruse2013-01-091-3/+1
| | | | | | | add RUBYOPT=nil to suppress circular require warnings to avoid false negative with stderr assertion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_require.rb: improve test for r38744.glass2013-01-091-4/+8
| | | | | | | fix to use Tempfile instead of temporary file in current directory. the patch is from nobu (Nobuyoshi Nakada). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * load.c (load_lock): fix not to delete thread shield twice.glass2013-01-091-0/+21
| | | | | | | | | it may break the shield locked by another thread. [Bug #7530] [ruby-core:50645] * test/ruby/test_require.rb: a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* error.c: rb_write_error_strnobu2012-12-251-0/+7
| | | | | | | | | * error.c (compile_err_append, compile_warn_print, warn_print): use rb_write_error_str() instead of writing to rb_stderr directly. * io.c (rb_write_error_str): a stopgap measure not to unblock GVL. warning from require seems to still have race condition errors. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Add test for r38529 [Bug #7536]naruse2012-12-211-0/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test_require.rb: clear load pathnobu2012-12-201-0/+8
| | | | | | | | | | | | * test/ruby/test_require.rb (test_require_invalid_shared_object), (test_require_too_long_filename, test_require_changed_current_dir), (test_require_not_modified_load_path, test_require_changed_home), (test_require_to_path_redefined_in_load_path), (test_require_to_str_redefined_in_load_path), (assert_require_with_shared_array_modified): clear preset load path so that unexpected files will not get loaded. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Show $LOAD_PATH and RUBYLIB to debug easiernaruse2012-12-181-2/+2
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_require.rb (TestRequire#test_loaded_features_encoding):usa2012-12-131-1/+1
| | | | | | | need to check compatibility, not equality of encodings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix cache validity check of requireshirosaki2012-11-221-0/+31
| | | | | | | | | | | | | | * array.c (rb_ary_shared_with_p): fix cache validity check. If #pop or #shift has been called against $: or $", the array will be still shared with the snapshot. We check array length for cache validity. [ruby-core:49518] [Bug #7383] * test/ruby/test_require.rb (TestRequire#test_require_with_array_pop, TestRequire#test_require_with_array_shift): add tests for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_require.rbshirosaki2012-11-051-2/+2
| | | | | | | | (TestRequire#test_require_to_path_redefined_in_load_path, TestRequire#test_require_to_str_redefined_in_load_path): Suppress method redefined warning when test-all with RUBYOPT=-w. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37484 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Fix compatibility of cached expanded load pathshirosaki2012-11-051-0/+110
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * file.c (rb_get_path_check_to_string): extract from rb_get_path_check(). We change the spec not to call to_path of String object. * file.c (rb_get_path_check_convert): extract from rb_get_path_check(). * file.c (rb_get_path_check): follow the above change. * file.c (rb_file_expand_path_fast): remove check_expand_path_args(). Instead we call it in load.c. * file.c (rb_find_file_ext_safe): use rb_get_expanded_load_path() to reduce expand cost. * file.c (rb_find_file_safe): ditto. * internal.h (rb_get_expanded_load_path): add a declaration. * internal.h (rb_get_path_check_to_string, rb_get_path_check_convert): add declarations. * load.c (rb_construct_expanded_load_path): fix for compatibility. Same checks in rb_get_path_check() are added. We don't replace $LOAD_PATH and ensure that String object of $LOAD_PATH are frozen. We don't freeze non String object and expand it every times. We add arguments for expanding load path partially and checking if load path have relative paths or non String objects. * load.c (load_path_getcwd): get current working directory for checking if it's changed when getting load path. * load.c (rb_get_expanded_load_path): fix for rebuilding cache properly. We check if current working directory is changed and rebuild expanded load path cache. We expand paths which start with ~ (User HOME) and non String objects every times for compatibility. We make this accessible from other source files. * load.c (rb_feature_provided): call rb_get_path() since we changed rb_file_expand_path_fast() not to call it. * load.c (Init_load): initialize vm->load_path_check_cache. * vm.c (rb_vm_mark): mark vm->load_path_check_cache for GC. * vm_core.h (rb_vm_struct): add vm->load_path_check_cache to store data to check load path cache validity. * test/ruby/test_require.rb (TestRequire): add tests for require compatibility related to cached expanded load path. [ruby-core:47970] [Bug #7158] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/envutil.rb (Test::Unit::Assertions#assert_file): rename from ↵kazu2012-10-161-1/+1
| | | | | | file_assertion. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* envutil.rb: file_assertionnobu2012-10-151-1/+1
| | | | | | | | * test/ruby/envutil.rb (Test::Unit::Assertions#file_assertion): rewrite file assertions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* envutil.rb: assert_file and assert_file_notnobu2012-10-091-1/+1
| | | | | | | | * test/ruby/envutil.rb (assert_file, assert_file_not): more descriptive assertions for File predicates. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37127 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* load.c: keep encoding of feature namenobu2012-08-231-0/+17
| | | | | | | | | | | * file.c (rb_find_file_ext_safe, rb_find_file_safe): default to US-ASCII for encdb and transdb. * load.c (search_required): keep encoding of feature name. set loading path to filesystem encoding. [Bug #6377][ruby-core:44750] * ruby.c (add_modules, require_libraries): assume default external encoding as well as ARGV. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_require.rb (TestRequire#test_require_twice): added.usa2012-08-071-0/+13
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36651 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_arity.rb (TestArity#err_mess): use assert_raise.nobu2012-03-151-1/+1
| | | | git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * error.c (rb_load_fail): should honor encoding.nobu2012-03-071-2/+4
| | | | | | * load.c (load_failed): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * error.c (rb_loaderror_with_path): Adding the missing file as antenderlove2012-03-061-0/+8
| | | | | | | | | | | | | | | | | instance variable to the LoadError exception. * load.c: call rb_loaderror_with_path so that the missing path is added to the exception. * ruby.c: call rb_loaderror rather than raising our own LoadError exception. * include/ruby/intern.h: add declaration for rb_loaderror_with_path. * test/ruby/test_require.rb: add supporting test for LoadError#path method. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_require.rb (test_race_exception): delete temporary library ↵nobu2011-12-201-0/+1
| | | | | | name. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34088 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_require.rb (test_race_exception): rewrote withoutnobu2011-12-201-25/+25
| | | | | | | global attribute. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34077 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_require.rb (test_race_exception): get rid ofnobu2011-12-151-5/+4
| | | | | | | not-guaranteed timing issue. [ruby-core:41655] [Bug #5754] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34046 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * load.c (load_unlock): all threads requiring one file shouldnobu2011-12-131-0/+56
| | | | | | | | share same loading barrier, so it must be kept alive while those are waiting on it. [ruby-core:41618] [Bug #5754] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * include/ruby/defines.h (CASEFOLD_FILESYSTEM): Revert r30508. See #4255.nahi2011-05-221-16/+0
| | | | | | | | | | Now __APPLE__ is not CASEFOLD_FILESYSTEM again. * load.c (loaded_feature_path, rb_feature_p, load_lock): Revert r30508. See #4255. Make $LOADED_FEATURES scanning case-sensitive again. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31692 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_require.rb (test_require_too_long_filename):nagachika2011-03-141-3/+3
| | | | | | | | | | increase path length, because MAXPATHLEN is defined as 4096 on linux. * test/ruby/test_require.rb (test_require_path_home_1): ditto. * test/ruby/test_require.rb (test_require_path_home_2): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_require.rb: setting too long string to ENV causesusa2011-03-101-3/+3
| | | | | | | | Errno::EINVAL on Windows. long path name errors may causes over about 1024 bytes, then limit it about 4000 bytes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31083 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_require.rb (TestRequire#test_require_with_unc):usa2011-02-011-1/+1
| | | | | | | | use ``127.0.0.1'' instead of ``localhost'' as host name, because XP or earlier cannot resolv it as NBT hostname. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_require.rb (TestRequire#test_require_too_long_filename):kosaki2011-01-281-2/+2
| | | | | | | | | Added -w option because too long path error don't output a message by default since r30660. [Bug #4336] [ruby-dev:43134] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30705 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* * test/ruby/test_require.rb (TestRequire#test_require_path_home_{1,2}):kosaki2011-01-281-2/+2
| | | | | | | | | Added -w option because too long path error don't output a message by default since r30660. [Bug #4336] [ruby-dev:43134] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30704 b2dd03c8-39d4-4d8f-98ff-823fe69b080e