librazor/test-lua.c
changeset 417 c7063ba682e0
parent 376 d15a16347c77
child 424 8cbc438cc298
     1.1 --- a/librazor/test-lua.c	Tue Jul 07 22:50:22 2009 +0100
     1.2 +++ b/librazor/test-lua.c	Thu Feb 09 20:43:58 2012 +0000
     1.3 @@ -21,6 +21,7 @@
     1.4  #include <stdlib.h>
     1.5  #include <stdio.h>
     1.6  #include <string.h>
     1.7 +#include <errno.h>
     1.8  #include <sys/types.h>
     1.9  #include <sys/stat.h>
    1.10  #include <dirent.h>
    1.11 @@ -62,7 +63,7 @@
    1.12  	int r;
    1.13  	void *script;
    1.14  	size_t len;
    1.15 -	char *s, *test_file;
    1.16 +	char *s, *test_file, *srcdir;
    1.17  	FILE *fp;
    1.18  
    1.19  	if (argc > 2) {
    1.20 @@ -94,6 +95,24 @@
    1.21  	free(s);
    1.22  
    1.23  	script = razor_file_get_contents(test_file, &len);
    1.24 +	if (!script) {
    1.25 +		srcdir = getenv("srcdir");
    1.26 +		if (srcdir && errno == ENOENT && *test_file != '/') {
    1.27 +			s = malloc(strlen(srcdir) + strlen(test_file) + 2);
    1.28 +			strcpy(s, srcdir);
    1.29 +			strcat(s, "/");
    1.30 +			strcat(s, test_file);
    1.31 +			script = razor_file_get_contents(s, &len);
    1.32 +			if (!script) {
    1.33 +				perror(s);
    1.34 +				exit(1);
    1.35 +			}
    1.36 +			free(s);
    1.37 +		} else {
    1.38 +			perror(test_file);
    1.39 +			exit(1);
    1.40 +		}
    1.41 +	}
    1.42  	r = run_lua_script(root, test_file, script, len, -1);
    1.43  	razor_file_free_contents(script, len);
    1.44