summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyo Nakamura <upa@haeena.net>2023-11-25 15:49:09 +0900
committerRyo Nakamura <upa@haeena.net>2023-11-25 15:49:09 +0900
commit2b71c4bf8c8c072661dbe0c1a0e7bfe1539cb439 (patch)
treee590df8d5bdcdaa1cc77aa881dd2184aad1c6ea1
parent0cf3acee20f9b3f5c5961e754ab33c59b8dd4bb9 (diff)
add -P, equivalent to -p for just compatibility
and add a test case for -p and -P
-rw-r--r--src/main.c6
-rw-r--r--test/test_e2e.py8
2 files changed, 12 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c
index 777dc2a..c51bcb4 100644
--- a/src/main.c
+++ b/src/main.c
@@ -47,7 +47,7 @@ void usage(bool print_help) {
" -r no effect\n"
"\n"
" -l LOGIN_NAME login name\n"
- " -p PORT port number\n"
+ " -p/-P PORT port number\n"
" -F CONFIG path to user ssh config (default ~/.ssh/config)\n"
" -i IDENTITY identity file for public key authentication\n"
" -c CIPHER cipher spec\n"
@@ -255,7 +255,7 @@ int main(int argc, char **argv)
o.severity = MSCP_SEVERITY_WARN;
while ((ch = getopt(argc, argv,
- "n:m:u:I:s:S:a:b:vqDrl:p:i:F:c:M:C:g:HdNh")) != -1) {
+ "n:m:u:I:s:S:a:b:vqDrl:P:p:i:F:c:M:C:g:HdNh")) != -1) {
switch (ch) {
case 'n':
o.nr_threads = atoi(optarg);
@@ -305,6 +305,8 @@ int main(int argc, char **argv)
}
strncpy(s.login_name, optarg, MSCP_SSH_MAX_LOGIN_NAME - 1);
break;
+ case 'P':
+ /* fallthough for compatibility with scp */
case 'p':
if (strlen(optarg) > MSCP_SSH_MAX_PORT_STR - 1) {
fprintf(stderr, "long port string: %s\n", optarg);
diff --git a/test/test_e2e.py b/test/test_e2e.py
index f01b55d..4332f6c 100644
--- a/test/test_e2e.py
+++ b/test/test_e2e.py
@@ -301,6 +301,14 @@ def test_dont_truncate_dst(mscp, src_prefix, dst_prefix):
f.cleanup()
@pytest.mark.parametrize("src_prefix, dst_prefix", param_remote_prefix)
+@pytest.mark.parametrize("src, dst", param_single_copy)
+def test_set_port(mscp, src_prefix, dst_prefix, src, dst):
+ src.make()
+ run2ng([mscp, "-H", "-vvv", "-p", 21, src_prefix + src.path, dst_prefix + dst.path])
+ run2ng([mscp, "-H", "-vvv", "-P", 21, src_prefix + src.path, dst_prefix + dst.path])
+ src.cleanup()
+
+@pytest.mark.parametrize("src_prefix, dst_prefix", param_remote_prefix)
def test_set_conn_interval(mscp, src_prefix, dst_prefix):
srcs = []
dsts = []