openssh-portable/regress/pesterTests
bagajjal 4879602b69 Docker#666 keyscan#731 posixcompatnewunittests (#152)
docker ssh issue
PowerShell/Win32-OpenSSH#666
a) fdopen changes to accept the /dev/null device
b) fix the select (using same fdset as readfdset, exceptfdset) issue with the unix opensssh code.
changed keyscan pester test to refer to localhost (127.0.0.1) instead of GitHub.com
PowerShell/Win32-OpenSSH#731
Fix the ASSERT_HANDLE issue..
ASSERT_HANDLE should fail if handle is either NULL or INVALID_HANDLE.
Added new testcases for the null device.
2017-05-26 15:40:59 -07:00
..
testdata file permission on ssh_config, authorized_keys, private keys, host keys, public keys. (#110) 2017-05-01 14:18:20 -07:00
Authorized_keys_fileperm.Tests.ps1 fix issue when checking file permission and generate key under system context (#150) 2017-05-26 14:24:23 -07:00
Cfginclude.Tests.ps1 fix issue when checking file permission and generate key under system context (#150) 2017-05-26 14:24:23 -07:00
CommonUtils.psm1 Add mode support in open() and onboard file perm related changes and tests (#145) 2017-05-23 21:45:38 -07:00
Hostkey_fileperm.Tests.ps1 fix issue when checking file permission and generate key under system context (#150) 2017-05-26 14:24:23 -07:00
KeyUtils.Tests.ps1 Docker#666 keyscan#731 posixcompatnewunittests (#152) 2017-05-26 15:40:59 -07:00
Log_fileperm.Tests.ps1 Add mode support in open() and onboard file perm related changes and tests (#145) 2017-05-23 21:45:38 -07:00
PlatformAbstractLayer.psm1 latestw + Test Infra upgrades 2017-03-24 12:35:52 -07:00
PortForwarding.Tests.ps1 E2E test updates 2017-05-12 14:09:50 -07:00
PowerShell.SSH.Tests.ps1 Test scripts updates and readme (#97) 2017-03-29 12:48:26 -07:00
README.md E2E test updates 2017-05-12 14:09:50 -07:00
SCP.Tests.ps1 E2E test updates 2017-05-12 14:09:50 -07:00
SFTP.Tests.ps1 Add mode support in open() and onboard file perm related changes and tests (#145) 2017-05-23 21:45:38 -07:00
SSH.Tests.ps1 E2E test updates 2017-05-12 14:09:50 -07:00
SSHDConfig.tests.ps1 Test scripts updates and readme (#97) 2017-03-29 12:48:26 -07:00
SSHD_Config Enabled SFTP E2E tests based on test framework changes (#101) 2017-03-31 11:47:24 -07:00
Userkey_fileperm.Tests.ps1 fix issue when checking file permission and generate key under system context (#150) 2017-05-26 14:24:23 -07:00
known_hosts latestw + Test Infra upgrades 2017-03-24 12:35:52 -07:00
ssh_config E2E test updates 2017-05-12 14:09:50 -07:00
sshtest_hostkey_dsa latestw + Test Infra upgrades 2017-03-24 12:35:52 -07:00
sshtest_hostkey_dsa.pub latestw + Test Infra upgrades 2017-03-24 12:35:52 -07:00
sshtest_hostkey_ecdsa latestw + Test Infra upgrades 2017-03-24 12:35:52 -07:00
sshtest_hostkey_ecdsa.pub latestw + Test Infra upgrades 2017-03-24 12:35:52 -07:00
sshtest_hostkey_ed25519 latestw + Test Infra upgrades 2017-03-24 12:35:52 -07:00
sshtest_hostkey_ed25519.pub latestw + Test Infra upgrades 2017-03-24 12:35:52 -07:00
sshtest_hostkey_rsa latestw + Test Infra upgrades 2017-03-24 12:35:52 -07:00
sshtest_hostkey_rsa.pub latestw + Test Infra upgrades 2017-03-24 12:35:52 -07:00
sshtest_userssokey_ed25519 latestw + Test Infra upgrades 2017-03-24 12:35:52 -07:00
sshtest_userssokey_ed25519.pub latestw + Test Infra upgrades 2017-03-24 12:35:52 -07:00

README.md

Run OpenSSH Pester Tests:

To setup the test environment before test run:

Import-Module  .\openssh-portable\contrib\win32\openssh\OpenSSHTestHelper.psm1 Force
Setup-OpenSSHTestEnvironment

Setup-OpenSSHTestEnvironment contains below parameters:

  • -OpenSSHBinPath: Specify the location where ssh.exe should be picked up. If not specified, the function will prompt to user if he/she want to choose the first ssh.exe found in $env:path if exists.
  • -TestDataPath: Specify the location where the test binaries deploy to. The default is $env:SystemDrive\OpenSSHTests if it not specified.
  • -Quiet: If it is set, the function will do all the changes without prompting to user to confirm.
  • -DebugMode: If it is set, the subsequent tests will be running in debug mode. User can modify by setting $OpenSSHTestInfo["DebugMode"] .

To run the test suites:

Run-OpenSSHE2ETest
Run-OpenSSHUnitTest

To run a particular test, just run the script or the executatlbe directly

C:\git\openssh-portable\regress\pesterTests\SCP.Tests.ps1
C:\git\openssh-portable\bin\x64\Release\unittest-bitmap\unittest-bitmap.exe

To verify / modify (Ex- DebugMode) the Test setup environment

$OpenSSHTestInfo
$OpenSSHTestInfo["DebugMode"] = $true

To revert what's done in Setup-OpenSSHTestEnvironment:

Cleanup-OpenSSHTestEnvironment

Guidelines for writing Pester based OpenSSH test cases

Follow these simple steps for test case indexing

  • Initialize the following variables at start
  $tC = 1
  $tI = 0
  • Place the following blocks in Describe
    BeforeEach {
        $stderrFile=Join-Path $testDir "$tC.$tI.stderr.txt"
        $stdoutFile=Join-Path $testDir "$tC.$tI.stdout.txt"
        $logFile = Join-Path $testDir "$tC.$tI.log.txt"
    }        
    AfterEach {$tI++;}
  • Place the following blocks in each Context
  BeforeAll {$tI=1}
  AfterAll{$tC++}
  • Prefix any test out file with $tC.$tI. You may use pre-created $stderrFile, $stdoutFile, $logFile for this purpose