diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-04-28 22:36:32 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-10-12 16:20:45 +0900 |
| commit | d612344e48e4021d82110a95d3603980c2906cc8 (patch) | |
| tree | 5ff24764a0adb62821cb6c2fbbdd1dfef6bc20ee /mrbgems/mruby-io | |
| parent | d7e183bfdf2677774cbcac1ea827deb541cc6d3b (diff) | |
| download | mruby-d612344e48e4021d82110a95d3603980c2906cc8.tar.gz mruby-d612344e48e4021d82110a95d3603980c2906cc8.zip | |
Should not use `assert` with expressions with side-effect; ref #4981
`assert()` can be completely removed when `NDEBUG` is set.
Diffstat (limited to 'mrbgems/mruby-io')
| -rw-r--r-- | mrbgems/mruby-io/test/mruby_io_test.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/mrbgems/mruby-io/test/mruby_io_test.c b/mrbgems/mruby-io/test/mruby_io_test.c index d8971bccf..eb3f6108c 100644 --- a/mrbgems/mruby-io/test/mruby_io_test.c +++ b/mrbgems/mruby-io/test/mruby_io_test.c @@ -111,6 +111,14 @@ mrb_io_test_io_setup(mrb_state *mrb, mrb_value self) int i; #if !defined(_WIN32) && !defined(_WIN64) struct sockaddr_un sun0; + + if(!(socket_available_p = mrb_io_socket_available())) { + char *tmpdir; + wd_save = open(".", O_DIRECTORY); + tmpdir = getenv("TMPDIR"); + if (tmpdir) chdir(tmpdir); + else chdir("/tmp"); + } #endif mrb_gv_set(mrb, mrb_intern_cstr(mrb, "$mrbtest_io_msg"), mrb_str_new_cstr(mrb, msg)); @@ -211,6 +219,13 @@ mrb_io_test_io_cleanup(mrb_state *mrb, mrb_value self) mrb_gv_set(mrb, mrb_intern_cstr(mrb, "$mrbtest_io_socketname"), mrb_nil_value()); mrb_gv_set(mrb, mrb_intern_cstr(mrb, "$mrbtest_io_msg"), mrb_nil_value()); +#if !defined(_WIN32) && !defined(_WIN64) + if(!socket_available_p) { + fchdir(wd_save); + close(wd_save); + } +#endif + return mrb_nil_value(); } |
