aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2019-07-30 15:02:46 +0100
committerJakub Jelen <jjelen@redhat.com>2019-07-30 16:23:31 +0200
commit3737e5f0e75f355895bf0b46a33b1c1621477226 (patch)
treeb31d031e8740cb720581400b4287d8f49f6d462c /tests
parente42d44e48a913a03e42d45063718fa5a77c58b8d (diff)
downloadlibssh-3737e5f0e75f355895bf0b46a33b1c1621477226.tar.gz
libssh-3737e5f0e75f355895bf0b46a33b1c1621477226.tar.xz
libssh-3737e5f0e75f355895bf0b46a33b1c1621477226.zip
misc: Allow %% to escape a single % in paths.
For example "%d/config%%1" is expanded to "~/.ssh/config%1". Signed-off-by: Richard W.M. Jones <rjones@redhat.com> Reviewed-by: Jakub Jelen <jjelen@redhat.com> Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/unittests/torture_misc.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/unittests/torture_misc.c b/tests/unittests/torture_misc.c
index 26da536b..8acffa0c 100644
--- a/tests/unittests/torture_misc.c
+++ b/tests/unittests/torture_misc.c
@@ -192,6 +192,18 @@ static void torture_path_expand_known_hosts(void **state) {
free(tmp);
}
+static void torture_path_expand_percent(void **state) {
+ ssh_session session = *state;
+ char *tmp;
+
+ session->opts.sshdir = strdup("/home/guru/.ssh");
+
+ tmp = ssh_path_expand_escape(session, "%d/config%%1");
+ assert_non_null(tmp);
+ assert_string_equal(tmp, "/home/guru/.ssh/config%1");
+ free(tmp);
+}
+
static void torture_timeout_elapsed(void **state){
struct ssh_timestamp ts;
(void) state;
@@ -365,6 +377,7 @@ int torture_run_tests(void) {
#endif
cmocka_unit_test_setup_teardown(torture_path_expand_escape, setup, teardown),
cmocka_unit_test_setup_teardown(torture_path_expand_known_hosts, setup, teardown),
+ cmocka_unit_test_setup_teardown(torture_path_expand_percent, setup, teardown),
cmocka_unit_test(torture_timeout_elapsed),
cmocka_unit_test(torture_timeout_update),
cmocka_unit_test(torture_ssh_analyze_banner),