[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] tests: Make test suite work out of the box on Debian


* tests/torture.c (torture_setup_create_sshd_config): Rework how the
location of the sftp server is discovered, and add the Debian-specific
location.

Signed-off-by: Justus Winter <justus@xxxxxxxxxxx>
---
 tests/torture.c | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/tests/torture.c b/tests/torture.c
index dd958c6..2701042 100644
--- a/tests/torture.c
+++ b/tests/torture.c
@@ -858,6 +858,13 @@ static void torture_setup_create_sshd_config(void **state)
     struct stat sb;
     const char *sftp_server;
     int rc;
+    const char **loc, *sftp_server_locations[] = {
+        "/usr/lib/ssh/sftp-server",
+        "/usr/libexec/sftp-server",
+        "/usr/libexec/openssh/sftp-server",
+        "/usr/lib/openssh/sftp-server",		/* Debian */
+        NULL
+    };
 
     snprintf(sshd_path,
              sizeof(sshd_path),
@@ -888,19 +895,13 @@ static void torture_setup_create_sshd_config(void **state)
 
     assert_non_null(s->socket_dir);
 
-    sftp_server = "/usr/lib/ssh/sftp-server";
-    rc = lstat(sftp_server, &sb);
-    if (rc < 0) {
-        sftp_server = "/usr/libexec/sftp-server";
+    for (loc = sftp_server_locations; (sftp_server = *loc); loc++) {
         rc = lstat(sftp_server, &sb);
-        if (rc < 0) {
-            sftp_server = "/usr/libexec/openssh/sftp-server";
-            rc = lstat(sftp_server, &sb);
-            if (rc < 0) {
-                sftp_server = getenv("TORTURE_SFTP_SERVER");
-            }
-        }
+        if (rc == 0)
+            break;
     }
+    if (sftp_server == NULL)
+        sftp_server = getenv("TORTURE_SFTP_SERVER");
     assert_non_null(sftp_server);
 
     snprintf(sshd_config, sizeof(sshd_config),
-- 
2.1.4


Follow-Ups:
Re: [PATCH] tests: Make test suite work out of the box on DebianAndreas Schneider <asn@xxxxxxxxxxxxxx>
Archive administrator: postmaster@lists.cynapses.org