diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2019-01-26 22:17:31 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2019-01-26 22:17:31 +0900 |
| commit | 1e67c98c85fdd32276d858ef9089214398ca8f30 (patch) | |
| tree | 976d885cffeddf97228b0b0338d3eef2b80b0af3 | |
| parent | aee67eaf62235196a2d81712bee801e4134108a5 (diff) | |
| parent | 1cd57006f37c9f86b85491ceacf6ab285bb85475 (diff) | |
| download | mruby-1e67c98c85fdd32276d858ef9089214398ca8f30.tar.gz mruby-1e67c98c85fdd32276d858ef9089214398ca8f30.zip | |
Merge pull request #4248 from shuujii/refine-error-message-for-time-interval
Refine error message for time interval
| -rw-r--r-- | mrbgems/mruby-sleep/src/mrb_sleep.c | 6 | ||||
| -rw-r--r-- | mrbgems/mruby-sleep/test/sleep_test.rb | 16 |
2 files changed, 18 insertions, 4 deletions
diff --git a/mrbgems/mruby-sleep/src/mrb_sleep.c b/mrbgems/mruby-sleep/src/mrb_sleep.c index 0428f29eb..3f8ef90cf 100644 --- a/mrbgems/mruby-sleep/src/mrb_sleep.c +++ b/mrbgems/mruby-sleep/src/mrb_sleep.c @@ -51,7 +51,7 @@ mrb_f_sleep(mrb_state *mrb, mrb_value self) usleep(sec * 1000000); } else { - mrb_raise(mrb, E_ARGUMENT_ERROR, "time interval must be positive integer"); + mrb_raise(mrb, E_ARGUMENT_ERROR, "time interval must not be negative"); } #else mrb_int sec; @@ -60,7 +60,7 @@ mrb_f_sleep(mrb_state *mrb, mrb_value self) if (sec >= 0) { sleep(sec); } else { - mrb_raise(mrb, E_ARGUMENT_ERROR, "time interval must be positive integer"); + mrb_raise(mrb, E_ARGUMENT_ERROR, "time interval must not be negative"); } #endif end = time(0) - beg; @@ -94,7 +94,7 @@ mrb_f_usleep(mrb_state *mrb, mrb_value self) if (usec >= 0) { usleep(usec); } else { - mrb_raise(mrb, E_ARGUMENT_ERROR, "time interval must be positive integer"); + mrb_raise(mrb, E_ARGUMENT_ERROR, "time interval must not be negative integer"); } #ifdef _WIN32 diff --git a/mrbgems/mruby-sleep/test/sleep_test.rb b/mrbgems/mruby-sleep/test/sleep_test.rb index 06a6d73fa..f05b7a30b 100644 --- a/mrbgems/mruby-sleep/test/sleep_test.rb +++ b/mrbgems/mruby-sleep/test/sleep_test.rb @@ -1,13 +1,27 @@ assert("sleep works") do assert_nothing_raised { sleep(1) } + assert_nothing_raised { sleep(0) } end -assert("sleep would not accept negative value") do +assert("sleep would accept non-negative float value") do + skip unless Object.const_defined?(:Float) + assert_nothing_raised { sleep(0.01) } + assert_nothing_raised { sleep(0.0) } + assert_nothing_raised { sleep(-0.0) } +end + +assert("sleep would not accept negative integer value") do assert_raise(ArgumentError) { sleep(-1) } end +assert("sleep would not accept negative float value") do + skip unless Object.const_defined?(:Float) + assert_raise(ArgumentError) { sleep(-0.1) } +end + assert("usleep works") do assert_nothing_raised { usleep(100) } + assert_nothing_raised { usleep(0) } end assert("usleep would not accept negative value") do |
