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, '.'); 
 |