summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-io/test/mruby_io_test.c
diff options
context:
space:
mode:
Diffstat (limited to 'mrbgems/mruby-io/test/mruby_io_test.c')
-rw-r--r--mrbgems/mruby-io/test/mruby_io_test.c28
1 files changed, 21 insertions, 7 deletions
diff --git a/mrbgems/mruby-io/test/mruby_io_test.c b/mrbgems/mruby-io/test/mruby_io_test.c
index 71239a827..6d2941e41 100644
--- a/mrbgems/mruby-io/test/mruby_io_test.c
+++ b/mrbgems/mruby-io/test/mruby_io_test.c
@@ -44,6 +44,7 @@ mkdtemp(char *temp)
return path;
}
+#define mktemp(path) _mktemp(path)
#define umask(mode) _umask(mode)
#define rmdir(path) _rmdir(path)
#else
@@ -136,9 +137,9 @@ mrb_io_test_io_setup(mrb_state *mrb, mrb_value self)
sun0.sun_family = AF_UNIX;
snprintf(sun0.sun_path, sizeof(sun0.sun_path), "%s", socketname);
if (bind(fd3, (struct sockaddr *)&sun0, sizeof(sun0)) == -1) {
- mrb_raisef(mrb, E_RUNTIME_ERROR, "can't bind AF_UNIX socket to %S: %S",
- mrb_str_new_cstr(mrb, sun0.sun_path),
- mrb_fixnum_value(errno));
+ mrb_raisef(mrb, E_RUNTIME_ERROR, "can't bind AF_UNIX socket to %s: %d",
+ sun0.sun_path,
+ errno);
}
close(fd3);
#endif
@@ -199,27 +200,39 @@ mrb_io_test_file_cleanup(mrb_state *mrb, mrb_value self)
}
static mrb_value
-mrb_io_test_mkdtemp(mrb_state *mrb, mrb_value klass)
+mrb_io_test_mktemp(mrb_state *mrb, mrb_value klass)
{
mrb_value str;
char *cp;
mrb_get_args(mrb, "S", &str);
cp = mrb_str_to_cstr(mrb, str);
- if (mkdtemp(cp) == NULL) {
- mrb_sys_fail(mrb, "mkdtemp");
+ if (mktemp(cp) == NULL) {
+ mrb_sys_fail(mrb, "mktemp");
}
return mrb_str_new_cstr(mrb, cp);
}
static mrb_value
-mrb_io_test_rmdir(mrb_state *mrb, mrb_value klass)
+mrb_io_test_mkdtemp(mrb_state *mrb, mrb_value klass)
{
mrb_value str;
char *cp;
mrb_get_args(mrb, "S", &str);
cp = mrb_str_to_cstr(mrb, str);
+ if (mkdtemp(cp) == NULL) {
+ mrb_sys_fail(mrb, "mkdtemp");
+ }
+ return mrb_str_new_cstr(mrb, cp);
+}
+
+static mrb_value
+mrb_io_test_rmdir(mrb_state *mrb, mrb_value klass)
+{
+ const char *cp;
+
+ mrb_get_args(mrb, "z", &cp);
if (rmdir(cp) == -1) {
mrb_sys_fail(mrb, "rmdir");
}
@@ -250,6 +263,7 @@ mrb_mruby_io_gem_test(mrb_state* mrb)
mrb_define_class_method(mrb, io_test, "file_test_setup", mrb_io_test_file_setup, MRB_ARGS_NONE());
mrb_define_class_method(mrb, io_test, "file_test_cleanup", mrb_io_test_file_cleanup, MRB_ARGS_NONE());
+ mrb_define_class_method(mrb, io_test, "mktemp", mrb_io_test_mktemp, MRB_ARGS_REQ(1));
mrb_define_class_method(mrb, io_test, "mkdtemp", mrb_io_test_mkdtemp, MRB_ARGS_REQ(1));
mrb_define_class_method(mrb, io_test, "rmdir", mrb_io_test_rmdir, MRB_ARGS_REQ(1));
mrb_define_class_method(mrb, io_test, "win?", mrb_io_win_p, MRB_ARGS_NONE());