From 44fdd53f2e5bac6fe1cbc2ceb653aa5f2de965e6 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 5 Sep 2018 13:30:14 +0900 Subject: Add `mruby-sleep` gem to the core. --- mrbgems/mruby-sleep/test/sleep_test.rb | 36 ++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 mrbgems/mruby-sleep/test/sleep_test.rb (limited to 'mrbgems/mruby-sleep/test') diff --git a/mrbgems/mruby-sleep/test/sleep_test.rb b/mrbgems/mruby-sleep/test/sleep_test.rb new file mode 100644 index 000000000..e5ea5f69e --- /dev/null +++ b/mrbgems/mruby-sleep/test/sleep_test.rb @@ -0,0 +1,36 @@ +def run_with_catching_error &b + e = nil + begin + b.call + rescue => _e + e = _e + end + + return e +end + +assert("sleep works") do + e = run_with_catching_error { sleep 1 } + + assert_nil e +end + +assert("sleep would not accept negative value") do + e = run_with_catching_error { sleep -1 } + + assert_not_equal e, nil + assert_equal e.class, ArgumentError +end + +assert("usleep works") do + e = run_with_catching_error { usleep 100 } + + assert_nil e +end + +assert("usleep would not accept negative value") do + e = run_with_catching_error { usleep -100 } + + assert_not_equal e, nil + assert_equal e.class, ArgumentError +end -- cgit v1.2.3 From 87ce74016894940355b402f58884c48396fcf570 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 25 Sep 2018 09:18:32 +0900 Subject: Disambiguate block braces. --- mrbgems/mruby-sleep/test/sleep_test.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'mrbgems/mruby-sleep/test') diff --git a/mrbgems/mruby-sleep/test/sleep_test.rb b/mrbgems/mruby-sleep/test/sleep_test.rb index e5ea5f69e..74030c0d3 100644 --- a/mrbgems/mruby-sleep/test/sleep_test.rb +++ b/mrbgems/mruby-sleep/test/sleep_test.rb @@ -16,7 +16,7 @@ assert("sleep works") do end assert("sleep would not accept negative value") do - e = run_with_catching_error { sleep -1 } + e = run_with_catching_error{ sleep -1 } assert_not_equal e, nil assert_equal e.class, ArgumentError @@ -29,7 +29,7 @@ assert("usleep works") do end assert("usleep would not accept negative value") do - e = run_with_catching_error { usleep -100 } + e = run_with_catching_error{ usleep -100 } assert_not_equal e, nil assert_equal e.class, ArgumentError -- cgit v1.2.3 From 1b185f08e771ecbe6a0baec67499f41bfcea5698 Mon Sep 17 00:00:00 2001 From: take-cheeze Date: Mon, 29 Oct 2018 13:58:25 +0900 Subject: Suppress sleep test script warning --- mrbgems/mruby-sleep/test/sleep_test.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'mrbgems/mruby-sleep/test') diff --git a/mrbgems/mruby-sleep/test/sleep_test.rb b/mrbgems/mruby-sleep/test/sleep_test.rb index 74030c0d3..349f169b3 100644 --- a/mrbgems/mruby-sleep/test/sleep_test.rb +++ b/mrbgems/mruby-sleep/test/sleep_test.rb @@ -16,7 +16,7 @@ assert("sleep works") do end assert("sleep would not accept negative value") do - e = run_with_catching_error{ sleep -1 } + e = run_with_catching_error{ sleep(-1) } assert_not_equal e, nil assert_equal e.class, ArgumentError @@ -29,7 +29,7 @@ assert("usleep works") do end assert("usleep would not accept negative value") do - e = run_with_catching_error{ usleep -100 } + e = run_with_catching_error{ usleep(-100) } assert_not_equal e, nil assert_equal e.class, ArgumentError -- cgit v1.2.3 From 3707ef3d1cd2ed1ef0c2c15a05018efd0dc37273 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Mon, 21 Jan 2019 19:37:20 +0900 Subject: Use `assert_raise` and `assert_nothing_raised` in `mruby-sleep` tests --- mrbgems/mruby-sleep/test/sleep_test.rb | 29 ++++------------------------- 1 file changed, 4 insertions(+), 25 deletions(-) (limited to 'mrbgems/mruby-sleep/test') diff --git a/mrbgems/mruby-sleep/test/sleep_test.rb b/mrbgems/mruby-sleep/test/sleep_test.rb index 349f169b3..06a6d73fa 100644 --- a/mrbgems/mruby-sleep/test/sleep_test.rb +++ b/mrbgems/mruby-sleep/test/sleep_test.rb @@ -1,36 +1,15 @@ -def run_with_catching_error &b - e = nil - begin - b.call - rescue => _e - e = _e - end - - return e -end - assert("sleep works") do - e = run_with_catching_error { sleep 1 } - - assert_nil e + assert_nothing_raised { sleep(1) } end assert("sleep would not accept negative value") do - e = run_with_catching_error{ sleep(-1) } - - assert_not_equal e, nil - assert_equal e.class, ArgumentError + assert_raise(ArgumentError) { sleep(-1) } end assert("usleep works") do - e = run_with_catching_error { usleep 100 } - - assert_nil e + assert_nothing_raised { usleep(100) } end assert("usleep would not accept negative value") do - e = run_with_catching_error{ usleep(-100) } - - assert_not_equal e, nil - assert_equal e.class, ArgumentError + assert_raise(ArgumentError) { usleep(-100) } end -- cgit v1.2.3 From 1cd57006f37c9f86b85491ceacf6ab285bb85475 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Sat, 26 Jan 2019 18:37:53 +0900 Subject: Refine error message for time interval Time interval value can be zero, and float (in `Kernel#sleep`) --- mrbgems/mruby-sleep/src/mrb_sleep.c | 6 +++--- mrbgems/mruby-sleep/test/sleep_test.rb | 16 +++++++++++++++- 2 files changed, 18 insertions(+), 4 deletions(-) (limited to 'mrbgems/mruby-sleep/test') 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 -- cgit v1.2.3