[pecl-networking-ssh2] master: 'Fix' more tests, documentation update
| From: | Casper Langemeijer | Date: | Fri, 16 Oct 2026 16:20:27 +0000 |
| Subject: | [pecl-networking-ssh2] master: 'Fix' more tests, documentation update | ||
| Groups: | php.pecl.cvs | ||
| Request: | Send a blank email to pecl-cvs+get-28704@lists.php.net to get a copy of this message | ||
Author: Casper Langemeijer (langemeijer)
Date: 2026-10-16T18:20:17+02:00
Commit: https://github.com/php/pecl-networking-ssh2/commit/71e0b5c5e727f352cdac25fed217325e16f21351
Raw diff: https://github.com/php/pecl-networking-ssh2/commit/71e0b5c5e727f352cdac25fed217325e16f21351.diff
'Fix' more tests, documentation update
Changed paths:
D tests/testkey_rsa
D tests/testkey_rsa.pub
M README.md
M tests/ssh2_auth_pubkey.phpt
M tests/ssh2_auth_pubkey_file.phpt
M tests/ssh2_send_signal.phpt
M tests/ssh2_test.inc
Diff:
diff --git a/README.md b/README.md
index 6a79f54..98e9da7 100644
--- a/README.md
+++ b/README.md
@@ -12,8 +12,60 @@ Documentation
For documentation of the functions that this extension provides can be found here: http://www.php.net/ssh2
+Build
+=====
+
+In this directory do:
+
+```
+phpize; ./configure; make
+```
+
+Tests
+=====
+
+The tests need a ssh server server to connect to. This can be done by ssh agent, username/password
or through
ssh2_auth_none().
+
+Note that ssh2_auth_pubkey.phpt and ssh2_auth_pubkey_file.phpt require
separate configuration. They require TEST_SSH2_PUB_KEY and
TEST_SSH2_PRIV_KEY set to a valid public and private key file for the server you are
connecting to for the tests.
+
+ssh agent
+---------
+
+The testsuite can connect to the local machine using agent forwarding. This works if you have an
identity on this system that is allow to connect through ssh on that same machine.
+
+To get the tests working with ssh agent you need to alter run-tests.php. Normally for
security reasons SSH_AUTH_SOCK is not passed to tests, but if you want to use
ssh_auth_agent() in your test run this is required.
+
+```
+sed -i '/SSH_AUTH_SOCK=deleted/d' run-tests.php
+
+export TEST_SSH2_AUTH=agent
+export TEST_SSH2_USER=anyone
+export TEST_SSH2_HOSTNAME=127.0.0.1
+export TEST_SSH2_PORT=22
+
+make test
+```
+
+user/password
+-------------
+
+Username/password authentication is also supported for the tests.
+
+```
+export TEST_SSH2_AUTH=password
+export TEST_SSH2_USER=anyone
+export TEST_SSH2_PASS=Correct Horse Battery Staple
+export TEST_SSH2_HOSTNAME=127.0.0.1
+export TEST_SSH2_PORT=22
+
+make test
+```
+
+
+TEST_SSH2_USER defaults to your local username. TEST_SSH2_PORT defaults
to 22.
+
+
Contribute
==========
-Your contributions and bugreports are highly appreciated. To contribute, fork and create a pull
request. To report a
-bug use the [PHP Bug Tracking System](https://bugs.php.net/)
+Your contributions and bugreports are highly appreciated. To contribute, fork and create a pull
request. To report bugs use github issues.
diff --git a/tests/ssh2_auth_pubkey.phpt b/tests/ssh2_auth_pubkey.phpt
index 611f85e..e543d80 100644
--- a/tests/ssh2_auth_pubkey.phpt
+++ b/tests/ssh2_auth_pubkey.phpt
@@ -1,7 +1,18 @@
--TEST--
ssh2_auth_pubkey() - Tests authentication with a key
--SKIPIF--
-<?php require('ssh2_skip.inc'); ?>
+<?php
+ require('ssh2_skip.inc');
+
+ if (TEST_SSH2_PUB_KEY === false || TEST_SSH2_PRIV_KEY === false) {
+ echo "skip ";
+
+ if (TEST_SSH2_PUB_KEY === false) echo "TEST_SSH2_PUB_KEY ";
+ if (TEST_SSH2_PRIV_KEY === false) echo "TEST_SSH2_PRIV_KEY ";
+
+ echo "not set";
+ }
+?>
--FILE--
<?php require('ssh2_test.inc');
diff --git a/tests/ssh2_auth_pubkey_file.phpt b/tests/ssh2_auth_pubkey_file.phpt
index 34b9a2f..3a77132 100644
--- a/tests/ssh2_auth_pubkey_file.phpt
+++ b/tests/ssh2_auth_pubkey_file.phpt
@@ -1,7 +1,18 @@
--TEST--
ssh2_auth_pubkey_file() - Tests authentication with a key
--SKIPIF--
-<?php require('ssh2_skip.inc'); ?>
+<?php
+ require('ssh2_skip.inc');
+
+ if (TEST_SSH2_PUB_KEY === false || TEST_SSH2_PRIV_KEY === false) {
+ echo "skip ";
+
+ if (TEST_SSH2_PUB_KEY === false) echo "TEST_SSH2_PUB_KEY ";
+ if (TEST_SSH2_PRIV_KEY === false) echo "TEST_SSH2_PRIV_KEY ";
+
+ echo "not set";
+ }
+ ?>
--FILE--
<?php require('ssh2_test.inc');
diff --git a/tests/ssh2_send_signal.phpt b/tests/ssh2_send_signal.phpt
index ccca7ea..da3f029 100644
--- a/tests/ssh2_send_signal.phpt
+++ b/tests/ssh2_send_signal.phpt
@@ -1,7 +1,9 @@
--TEST--
ssh2_send_signal() - Tests sending signal to process
--SKIPIF--
-<?php require('ssh2_skip.inc'); ssh2t_needs_auth(); ?>
+<?php require('ssh2_skip.inc'); ssh2t_needs_auth();
+echo "skip This test is not working";
+ ?>
--FILE--
<?php require('ssh2_test.inc');
diff --git a/tests/ssh2_test.inc b/tests/ssh2_test.inc
index 585d3ad..06252d4 100644
--- a/tests/ssh2_test.inc
+++ b/tests/ssh2_test.inc
@@ -15,8 +15,8 @@ ssh2t_defenv('TEST_SSH2_USER', getenv('USER'));
ssh2t_defenv('TEST_SSH2_PASS');
ssh2t_defenv('TEST_SSH2_TEMPDIR', '/tmp');
ssh2t_defenv('TEST_SSH2_AUTH', TEST_SSH2_PASS ? 'password' : 'none');
-ssh2t_defenv('TEST_SSH2_PUB_KEY', dirname(__FILE__) . "/testkey_rsa.pub");
-ssh2t_defenv('TEST_SSH2_PRIV_KEY', dirname(__FILE__) . "/testkey_rsa");
+ssh2t_defenv('TEST_SSH2_PUB_KEY');
+ssh2t_defenv('TEST_SSH2_PRIV_KEY');
function ssh2t_auth($ssh) {
if (!TEST_SSH2_USER) {
diff --git a/tests/testkey_rsa b/tests/testkey_rsa
deleted file mode 100644
index 12c620d..0000000
--- a/tests/testkey_rsa
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEowIBAAKCAQEAnDqb5K4hF9I2571UizdrwPzbt4p4z2YsWHICxHLb7m8UYGYr
-KjZnbb6SjdyPgb4iA5856HHPhOwVpvmhegb0A2BnKM6ZY4yIYmtu5VwQfsZXSXLh
-LzyiNQ1GpsMvGcLxlxmgiwuzAW183aiXJ6CKd3ItSUJVDmSfqwjZDCy28BliOOca
-95DlM0djG9AdxBFbUWS+EvGb8qXWelpjYSNlp7iaekKGxDzLYtNSei5FkA1cpNjI
-/hCPPkbhD30YGDGtpRCOfwWFiF+rhwHW4g3MZsEp+CTrtC6kL6HWsF7eXwPIOyXI
-TjIbeEatIWjCOVREVs4qvREbuUoaGN1khYJixwIDAQABAoIBAH9Ysux0GBufygua
-ZAjbEyWLt9njsNh2U52AycqySZ4Qw45Umcjd8e8eEb47VGsQvg8vwnc8FkkmW/vw
-rfSXKF58PXqg9Z2U1zNKmWmyYuvD5zDCyNXFWf9epAGZRpJ8OovNYvUUg0Sdp9PS
-8etmTJhS5KE7xbNmyFQVcT8gT7pj4IEHzEcZZQuO0w8jmKSnn8E4k5leasSR7+U3
-GNRASAmuOPVsG4rp4pl4CIvUlpEPK7yuIAWD6Qwhh4nkqiZflcZ+tNDKUhMIRbez
-5URX3dgZnG7fbZZI++LTRM4M09LojbdFOdT95lWJr0Pm+3h51s965F+zwkR2vYMS
-6g4WcUkCgYEAyscCArrg1nocKx5ubFJVyxe/YT328Et6GhKRqTyYDMq8eznFE8of
-01KiVg1+48YMb2Wc94zjsRBgHsjEz/A/f0hRtLBx3LCaYNwVF5o4DI6LqmAnOlnE
-an9yYnhh8Ux4nw9PjszjdpGglIJkf0o9nP6biBgq7TAXzLfSIOxSnFsCgYEAxTvs
-sE+PiF3mD4U9bWoBqRyFywDMW9mPueX9TltNqpQksaS1FzP08pCi6fTUIrsxQtXE
-78N5uxiRo1OiNsPm8pluPu2Na7yfI1MQJZE8OmEadqdyPWPVYZVkUVIo13iHGovo
-2eMHirb3k9y2y4WJJBPA2hOZ8azF7u1epD70DwUCgYBT4kWDqZkvQG58q+cUKm9R
-R66k5IRN3XtSY9IcB3QC/q8/7qMHT7sgqXN8U7LlON2WC5wGkCL08YhB094PAxzR
-Y7JhJAjGOcxzOzgCfoqnLyS5w3MW4WGuiLBh6djigDb53dSUh0+lkhKyvMokGiso
-0e63OwAvBJEj3/suIXT/NwKBgGY+uGZ1+BxjQP5OvhdYWuAGDz27fjUnRaDDH1td
-bZe+EH+euNn8b0DHxgyuhMI0dEcHdn4swZBCHk2i73age7rL2yD4GNX/BChVyQsQ
-jT5eVE+qYkh81oMt5MFbbBy3OKKEYQOC88fvLc0TIBfFc+Cl9NWYT7e/LyS7HNLc
-Z7zZAoGBAKhDfPMvGXeTjha/nBArD8rp9W7R7VrZd/VUIBOmnWhiQCRTv1KVQGKh
-OGQ1taWdRt98wbnVkMxFHN4oCrnDv7cpXQNvw9m/WGZxXMgWWX0f1cpJSwewiNBt
-Bb4jmKhkeAe8LwTPoxNYXxnzzf0UQox2HhcbKNP17Np/Y22NQPEf
------END RSA PRIVATE KEY-----
diff --git a/tests/testkey_rsa.pub b/tests/testkey_rsa.pub
deleted file mode 100644
index 8c61e68..0000000
--- a/tests/testkey_rsa.pub
+++ /dev/null
@@ -1 +0,0 @@
-ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQCcOpvkriEX0jbnvVSLN2vA/Nu3injPZixYcgLEctvubxRgZisqNmdtvpKN3I+BviIDnznocc+E7BWm+aF6BvQDYGcozpljjIhia27lXBB+xldJcuEvPKI1DUamwy8ZwvGXGaCLC7MBbXzdqJcnoIp3ci1JQlUOZJ+rCNkMLLbwGWI45xr3kOUzR2Mb0B3EEVtRZL4S8ZvypdZ6WmNhI2WnuJp6QobEPMti01J6LkWQDVyk2Mj+EI8+RuEPfRgYMa2lEI5/BYWIX6uHAdbiDcxmwSn4JOu0LqQvodawXt5fA8g7JchOMht4Rq0haMI5VERWziq9ERu5ShoY3WSFgmLH