elua lib: test elua_util_file_run
authorDaniel Kolesa <d.kolesa@osg.samsung.com>
Thu, 16 Apr 2015 15:06:48 +0000 (16:06 +0100)
committerDaniel Kolesa <d.kolesa@osg.samsung.com>
Wed, 6 May 2015 14:05:21 +0000 (15:05 +0100)
src/tests/elua/elua_lib.c

index ffa99f52e6c6c75076aaade740fffe90496e9736..6c8952c731606143d7997c1073e200017f8ca25a 100644 (file)
@@ -13,6 +13,9 @@ START_TEST(elua_api)
 {
     Elua_State *st;
     lua_State *lst;
+    char buf[] = "tmpXXXXXX";
+    FILE *f;
+    int fd;
 
     fail_if(!elua_init());
 
@@ -75,6 +78,17 @@ START_TEST(elua_api)
     fail_if(lua_type(lst, -1) != LUA_TSTRING);
     lua_pop(lst, 1);
 
+    fd = mkstemp(buf);
+    fail_if(fd < 0);
+    f = fdopen(fd, "w");
+    fail_if(!f);
+    fprintf(f, "return 5\n");
+    fclose(f);
+    fail_if(elua_util_file_run(st, buf));
+    fail_if(lua_tointeger(lst, -1) != 5);
+    lua_pop(lst, 1);
+    fail_if(remove(buf));
+
     /* halfassed testing here, but not possible otherwise */
     fail_if(elua_util_error_report(st, "foo", 0));
     lua_pushliteral(lst, "msg");