Граф коммитов

471 Коммитов

Автор SHA1 Сообщение Дата
nobu 489776e284 Rename RbConfig::Limits as RbConfig::LIMITS
* template/limits.c.tmpl (Init_limits): rename RbConfig::Limits as
  RbConfig::LIMITS, constants other than class or module are all
  uppercase with underscores by convention.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58260 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-04-06 02:10:40 +00:00
kazu f19fac1dd2 fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58198 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-28 13:47:45 +00:00
kazu 3439cc85ea Update assertion message [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-28 13:47:43 +00:00
normal 568f8adfc8 compile.c: apply opt_str_freeze to String#-@ (uminus)
The same optimization used for "literal string".freeze
can easily apply to uminus without introducing any
compatibility problems.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-10 20:09:06 +00:00
shyouhei 8ad7429644 make FIXNUM_MAX visible from Ruby
Because our tests now have several places where FIXNUM_MAX is needed,
we decided to provide it along with several other constants.

	* template/limits.c.tmpl: new file, defining RbConfig::Limits

	* ext/rbconfig/sizeof/depend (limits.c): rule to generate limits.c

	* test/-ext-/num2int/test_num2int.rb: use RbConfig::Limits

	* bootstraptest/test_insns.rb: ditto.

	* .gitignore: ignore new generated file.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-30 10:12:18 +00:00
shyouhei 80040c166e improve C0 coverage of insns.def from 65.9% to 96.1%
While I was developing my private topic branch I found that the VM
itself is not tested very much in `make test` tests.  Of course
`make test-all` covers vast majority of the VM but running that task
is not an immediately possible thing when we are touching the VM.  In
order to boost development in a rapid cycle I decided to add some
tests to the bootstraptest.  Here it is.

	* test_insns.rb: new test that covers insns.def.

	* runner.rb (#assert_equal): pass extra options to the target
	  so that we can test frozen_string_literal: true situation.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-01-23 02:47:16 +00:00
kazu ed7b88e285 `\s` includes `\t`
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-11 16:36:14 +00:00
nobu 269977b918 bootstraptest/runner.rb: first line in the source
* bootstraptest/runner.rb (pretty): remove empty line at the
  beginning only.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-10-11 13:21:30 +00:00
nobu 4b298ad77a Use qualified names
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56037 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-30 06:22:30 +00:00
nobu f306bb0fed suppress warnings
* basictest/runner.rb, bootstraptest/runner.rb: disable warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55828 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-08-07 10:34:11 +00:00
nobu cafeeb4bec bootstraptest/runner.rb may run on older ruby
* bootstraptest/runner.rb: do not use safe navigation operator.
  this runner may run on older ruby.  partially revert r53110
  (GH-1142 patched by @mlarraz).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-06-28 13:29:38 +00:00
akr 449fbfd4d4 Use Integer instead of Fixnum and Bignum.
* object.c, numeric.c, enum.c, ext/-test-/bignum/mul.c,
  lib/rexml/quickpath.rb, lib/rexml/text.rb, lib/rexml/xpath_parser.rb,
  lib/rubygems/specification.rb, lib/uri/generic.rb,
  bootstraptest/test_eval.rb, basictest/test.rb,
  test/-ext-/bignum/test_big2str.rb, test/-ext-/bignum/test_div.rb,
  test/-ext-/bignum/test_mul.rb, test/-ext-/bignum/test_str2big.rb,
  test/csv/test_data_converters.rb, test/date/test_date.rb,
  test/json/test_json_generate.rb, test/minitest/test_minitest_mock.rb,
  test/openssl/test_cipher.rb, test/rexml/test_jaxen.rb,
  test/ruby/test_array.rb, test/ruby/test_basicinstructions.rb,
  test/ruby/test_bignum.rb, test/ruby/test_case.rb,
  test/ruby/test_class.rb, test/ruby/test_complex.rb,
  test/ruby/test_enum.rb, test/ruby/test_eval.rb,
  test/ruby/test_iseq.rb, test/ruby/test_literal.rb,
  test/ruby/test_math.rb, test/ruby/test_module.rb,
  test/ruby/test_numeric.rb, test/ruby/test_range.rb,
  test/ruby/test_rational.rb, test/ruby/test_refinement.rb,
  test/ruby/test_rubyvm.rb, test/ruby/test_struct.rb,
  test/ruby/test_variable.rb, test/rubygems/test_gem_specification.rb,
  test/thread/test_queue.rb: Use Integer instead of Fixnum and Bignum.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-17 13:15:57 +00:00
kazu 3118d1e46a fix alignment
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-17 12:57:49 +00:00
akr f9727c12cc [Feature #12005] Unify Fixnum and Bignum into Integer
* [Feature #12005] Unify Fixnum and Bignum into Integer

* include/ruby/ruby.h (rb_class_of): Return rb_cInteger for fixnums.

* insns.def (INTEGER_REDEFINED_OP_FLAG): Unified from
  FIXNUM_REDEFINED_OP_FLAG and BIGNUM_REDEFINED_OP_FLAG.

* vm_core.h: Ditto.

* vm_insnhelper.c (opt_eq_func): Use INTEGER_REDEFINED_OP_FLAG instead
  of FIXNUM_REDEFINED_OP_FLAG.

* vm.c (vm_redefinition_check_flag): Use rb_cInteger instead of
  rb_cFixnum and rb_cBignum.
  (C): Use Integer instead of Fixnum and Bignum.

* numeric.c (fix_succ): Removed.
  (Init_Numeric): Define Fixnum as Integer.

* bignum.c (bignew): Use rb_cInteger instead of Rb_cBignum.
  (rb_int_coerce): replaced from rb_big_coerce and return fixnums
  as-is.
  (Init_Bignum): Define Bignum as Integer.
  Don't define ===.

* error.c (builtin_class_name): Return "Integer" for fixnums.

* sprintf.c (ruby__sfvextra): Use rb_cInteger instead of rb_cFixnum.

* ext/-test-/testutil: New directory to test.
  Currently it provides utilities for fixnum and bignum.

* ext/json/generator/generator.c: Define mInteger_to_json.

* lib/mathn.rb (Fixnum#/): Redefinition removed.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-05-17 06:53:48 +00:00
nobu 373a7006dd btest: resource limit
* bootstraptest/test_thread.rb: rescue resource limitation errors.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-04-06 07:59:37 +00:00
hsbt 6cf568f4b5 * bootstraptest/runner.rb: use safe navigation operator.
[fix GH-1142] Patch by @mlarraz
* test/openssl/test_pair.rb: ditto.
* test/ruby/test_econv.rb: ditto.
* test/ruby/test_settracefunc.rb: ditto.
* test/thread/test_queue.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-12-14 08:04:28 +00:00
ngoto b935a13ba5 * bootstraptest/test_fork.rb ([ruby-dev:37934]): :NPROC (RLIMIT_NPROC)
is not supported on some platforms (e.g. Solaris 10).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-10 08:50:06 +00:00
nobu e0ed0012cb relax error message format
* bootstraptest/test_method.rb: relax error message format.
* test/ruby/test_arity.rb (err_mess): ditto.
  [Feature #9025], [ruby-core:71178] [Bug #11617]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52265 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-10-24 06:42:22 +00:00
ko1 c78e0d3713 * bootstraptest/test_method.rb: remove a test because $SAFE=2 was
obsolete.
  Please check btest, too.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50964 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-18 21:36:49 +00:00
hsbt bbf440c90b * include/ruby/ruby.h: $SAFE=3 is now obsolete.
* ext/socket/init.c, ext/socket/socket.c, ext/socket/tcpsocket.c
  ext/socket/udpsocket.c, gc.c, object.c, re.c, safe.c: removed code
  for $SAFE=3
* bootstraptest/test_method.rb, test/erb/test_erb.rb, test/ruby/test_dir.rb
  test/ruby/test_file.rb, test/ruby/test_method.rb, test/ruby/test_regexp.rb
  test/ruby/test_thread.rb: remove tests for $SAFE=3

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-06-17 05:29:51 +00:00
nobu a9ca74cd70 default colors
* bootstraptest/runner.rb, sample/test.rb, test/lib/test/unit.rb:
  shared the default colors from test/colors file.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-17 00:50:11 +00:00
nobu 75a865406f reset colors
* bootstraptest/runner.rb, sample/test.rb, test/lib/test/unit.rb:
  reset for each colors.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-05-17 00:50:02 +00:00
mame 2270365bde * string.c (str_discard): does not free for STR_NOFREE string.
[Bug #10853][ruby-core:68110]

* bootstraptest/test_string.rb: test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-02-13 13:06:58 +00:00
nobu 082445e7af parse.y: condition node
* parse.y (logop_gen): keep non-null condition node.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-29 13:22:39 +00:00
nobu 26d0a2a3d6 vm_insnhelper.c: break from nested rescue
* vm_insnhelper.c (vm_throw_start): search the target to break
  from a block with nested rescue, from the nested blocks.
  [ruby-core:67765] [Bug #10775] [Fix GH-820]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49390 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-01-23 14:57:08 +00:00
normal 9bb7dfa247 normalize reference to Timeout::Error
From: John Bachir <j@jjb.cc>

* bootstraptest/test_io.rb (assert_finish):
  normalize rescue for Timeout::Error
* lib/net/ftp.rb (Net#read_timeout): ditto for doc
* lib/resolv.rb (Resolv::ResolvTimeout): ditto for subclass
* lib/webrick/httprequest.rb (_read_data): ditto for rescue
* sample/timeout.rb (p timeout): ditto for call
* test/drb/drbtest.rb (test_06_timeout): ditto
* test/ruby/test_readpartial.rb (test_open_pipe): ditto
* test/thread/test_queue.rb (test_queue_thread_raise): ditto
* thread.c (rb_thread_s_handle_interrupt): ditto for doc
  [ruby-core:65481] [misc #10339]

TimeoutError is a legacy constant, Timeout::Error is the canonical constant.
This patch normalizes all code and comments to reference Timeout::Error.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-10-07 20:00:09 +00:00
akr 34ac0ea7bf wait until the thread is stopped.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-09-21 04:54:46 +00:00
nobu f1cf168bcf test_fork.rb: wait signals
* bootstraptest/test_fork.rb: wait until receiving both singals,
  upto 0.1sec.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-28 18:12:47 +00:00
akr a2f26bfaea Remove trailing white spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-21 23:43:50 +00:00
akr f3f30c736d Don't erase for verbose mode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-20 03:12:44 +00:00
nobu 2c9c6271e8 bootstraptest/runner.rb: refine output
* bootstraptest/runner.rb (exec_test, show_progress): erase with
  white spaces, and adjust each results at same column.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-10 14:11:57 +00:00
akr bcc2c89eb5 Show the epapsed time for failed test as well.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-08 01:22:11 +00:00
nobu 75cbab3bb8 test_thread.rb: remove garbage
* bootstraptest/test_thread.rb: remove a garbage line for debug.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-08 01:02:49 +00:00
nobu 85521e60ee bootstraptest/test_{fork,io,thread}.rb: reduce sleep times
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46379 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-07 19:57:46 +00:00
nobu 7d8fc3696e runner.rb: elapsed times
* bootstraptest/runner.rb (show_progress): show each elapsed times
  in verbose mode.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-06-07 19:57:43 +00:00
akr 07f2563745 * (lib/tmpdir.rb): Rescue LoadError on etc.so for miniruby.
Revert r45707, r45711, r45717.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-29 05:19:38 +00:00
nobu 37ce765ba3 fix typo [Fix GH-603]
* bootstraptest/test_literal.rb: fix typo of "dynamic".  [ci skip]
* regexp.rdoc: fix typo of "organized".  [ci skip]
* lib/session.rb: fix typo of "recognized".  [ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-28 15:20:28 +00:00
akr a87c3b4869 * bootstraptest/test_io.rb: Add etc.so to $" before require 'tmpdir'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45711 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-24 13:56:09 +00:00
akr 917681a3b7 revert r45709.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-24 13:54:07 +00:00
akr b3cd42ede0 * bootstraptest/test_io.rb: Don't use tmpdir because etc.so is not
usable from miniruby.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@45709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-04-24 13:40:18 +00:00
naruse 4892d046e5 FreeBSD 10 SEGVs this less than 4M + 12K bytes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44601 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-01-15 01:57:59 +00:00
nobu 1dcc985092 fix matching
* bootstraptest/test_thread.rb: String#=~ does not accept String.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-12-05 12:59:09 +00:00
ko1 f928c326ca * bootstraptest/runner.rb: check nil before calling `signal?'
for a process status.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-16 08:46:00 +00:00
nobu 15798b606e vm.c: initialize defined_module_hash early
* vm.c (Init_BareVM): initialize defined_module_hash here,
  Init_top_self() is too late to register core classes/modules.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43273 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-10-13 11:59:27 +00:00
nobu 2f57e80640 parse.y: parse precisely
* parse.y (parser_number_literal_suffix): return bit set of found
  suffixes.
* parse.y (parser_set_number_literal, parser_set_integer_literal):
  split from parser_number_literal_suffix to set yyvlal.
* parse.y (parser_yylex): parse rational number literal with decimal
  point precisely.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42332 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-02 14:14:55 +00:00
charliesome 29c5a3b89c * parse.y (negate_lit): add T_RATIONAL and T_COMPLEX to the switch
statement, and call rb_bug() if an unknown type is passed to
  negate_lit(). [ruby-core:56316] [Bug #8717]

* bootstraptest/test_literal_suffix.rb (assert_equal): add test

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-02 01:40:27 +00:00
mrkn ae0181b7fe * bootstraptest/test_literal_suffix.rb: add two test cases to
examine that "1if true" and "1rescue nil" are recognized as 1.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42315 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-01 15:14:45 +00:00
mrkn e06407cf7d * rational.c (rb_flt_rationalize_with_prec): new public C function
to rationalize a Float instance with a precision.

* rational.c (rb_flt_rationalize): new public C function to
 rationalize a Float instance.  A precision is calculated from
 the given float number.

* include/ruby/intern.h: Add rb_flt_rationalize_with_prec and
  rb_flt_rationalize.

* parse.y: implement number literal suffixes, 'r' and 'i'.
  [ruby-core:55096] [Feature #8430]

* bootstraptest/test_literal_suffix.rb: add tests for parser to scan
  number literals with the above tsuffixes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42311 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-08-01 14:58:54 +00:00
ko1 4ab37a13ce * bootstraptest/test_thread.rb: rescue resource limitation errors.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-23 06:41:37 +00:00
shugo c8151d1235 * bootstraptest/test_autoload.rb, bootstraptest/test_method.rb:
remove tests for $SAFE=4.

* lib/pp.rb: use taint instead of untrust to avoid warnings when
  $VERBOSE is set to true.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41269 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2013-06-13 02:01:42 +00:00