|  | freediameter ptest cases testmesg_stress.c and testloadext.c need load | 
|  | extensions both build time and runtime. Then they search extensions with | 
|  | build directory that causes runtime failures. | 
|  |  | 
|  | Pass an environment variable to define runtime extension path. | 
|  |  | 
|  | Upstream-Status: Inappropriate [OE ptest specific] | 
|  |  | 
|  | Signed-off-by: Kai Kang <kai.kang@windriver.com> | 
|  | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | 
|  |  | 
|  | diff -Nur freeDiameter-1.2.0.orig/tests/testloadext.c freeDiameter-1.2.0/tests/testloadext.c | 
|  | --- freeDiameter-1.2.0.orig/tests/testloadext.c	2014-02-19 17:33:24.785405032 +0800 | 
|  | +++ freeDiameter-1.2.0/tests/testloadext.c	2014-02-19 20:08:03.871403924 +0800 | 
|  | @@ -49,7 +49,7 @@ | 
|  | { | 
|  | DIR *dir; | 
|  | struct dirent *dp; | 
|  | -	char fullname[512]; | 
|  | +	char fullname[1024]; | 
|  | int pathlen; | 
|  |  | 
|  | /* First, initialize the daemon modules */ | 
|  | @@ -57,11 +57,16 @@ | 
|  | CHECK( 0, fd_queues_init()  ); | 
|  | CHECK( 0, fd_msg_init()  ); | 
|  | CHECK( 0, fd_rtdisp_init()  ); | 
|  | - | 
|  | + | 
|  | +	char *ext_dir = getenv("EXTENSIONS_DIR"); | 
|  | +	if (ext_dir) | 
|  | +		pathlen = snprintf(fullname, sizeof(fullname), "%s", ext_dir); | 
|  | +	else | 
|  | +		pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/"); | 
|  | + | 
|  | /* Find all extensions which have been compiled along the test */ | 
|  | -	TRACE_DEBUG(INFO, "Loading from: '%s'", BUILD_DIR "/extensions"); | 
|  | -	CHECK( 0, (dir = opendir (BUILD_DIR "/extensions")) == NULL ? 1 : 0 ); | 
|  | -	pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/"); | 
|  | +	TRACE_DEBUG(INFO, "Loading from: '%s'", fullname); | 
|  | +	CHECK( 0, (dir = opendir (fullname)) == NULL ? 1 : 0 ); | 
|  |  | 
|  | while ((dp = readdir (dir)) != NULL) { | 
|  | char * dot = strrchr(dp->d_name, '.'); | 
|  | diff -Nur freeDiameter-1.2.0.orig/tests/testmesg_stress.c freeDiameter-1.2.0/tests/testmesg_stress.c | 
|  | --- freeDiameter-1.2.0.orig/tests/testmesg_stress.c	2014-02-19 17:33:24.785405032 +0800 | 
|  | +++ freeDiameter-1.2.0/tests/testmesg_stress.c	2014-02-19 20:08:03.928403924 +0800 | 
|  | @@ -67,15 +67,20 @@ | 
|  | { | 
|  | DIR *dir; | 
|  | struct dirent *dp; | 
|  | -	char fullname[512]; | 
|  | +	char fullname[1024]; | 
|  | int pathlen; | 
|  | struct fd_list all_extensions = FD_LIST_INITIALIZER(all_extensions); | 
|  | struct fd_list ext_with_depends = FD_LIST_INITIALIZER(ext_with_depends); | 
|  |  | 
|  | +	char *ext_dir = getenv("EXTENSIONS_DIR"); | 
|  | +	if (ext_dir) | 
|  | +		pathlen = snprintf(fullname, sizeof(fullname), "%s", ext_dir); | 
|  | +	else | 
|  | +		pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/"); | 
|  | + | 
|  | /* Find all extensions which have been compiled along the test */ | 
|  | -	LOG_D("Loading %s*.fdx from: '%s'", BUILD_DIR "/extensions", prefix ?: ""); | 
|  | -	CHECK( 0, (dir = opendir (BUILD_DIR "/extensions")) == NULL ? 1 : 0 ); | 
|  | -	pathlen = snprintf(fullname, sizeof(fullname), BUILD_DIR "/extensions/"); | 
|  | +	TRACE_DEBUG(INFO, "Loading from: '%s'", fullname); | 
|  | +	CHECK( 0, (dir = opendir (fullname)) == NULL ? 1 : 0 ); | 
|  |  | 
|  | while ((dp = readdir (dir)) != NULL) { | 
|  | char * dot = strrchr(dp->d_name, '.'); |