openssh-portable/regress/pesterTests
Yanbing fb1342f7e0
Add wildcard support for scp (#283)
1. Expand wildcard for input parameters
2.  add scp tests with wildcard
3. for debug mode, need to enable the log to local log file.
4. update the path to log file
2018-03-11 23:28:52 -07:00
..
testdata Multiple Fixes (#273) 2018-02-21 10:09:18 -08:00
Authorized_keys_fileperm.Tests.ps1 Test Fixes on down level OS (#279) 2018-03-01 15:11:55 -08:00
CertAuth.Tests.ps1 Test Fixes on down level OS (#279) 2018-03-01 15:11:55 -08:00
Cfginclude.Tests.ps1 Add wildcard support for scp (#283) 2018-03-11 23:28:52 -07:00
CommonUtils.psm1 Test update 2018-01-29 13:49:01 -08:00
Hostkey_fileperm.Tests.ps1 Test Fixes on down level OS (#279) 2018-03-01 15:11:55 -08:00
KeyUtils.Tests.ps1 Implement Unix styled privilege separation in Windows (#258) 2018-01-15 13:57:31 -08:00
Log_fileperm.Tests.ps1 Fix sftp scp file permission (#212) 2017-10-16 13:00:40 -07:00
PlatformAbstractLayer.psm1 latestw + Test Infra upgrades 2017-03-24 12:35:52 -07:00
PortForwarding.Tests.ps1 Test Fixes on down level OS (#279) 2018-03-01 15:11:55 -08: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 Add wildcard support for scp (#283) 2018-03-11 23:28:52 -07:00
SFTP.Tests.ps1 Add wildcard support for scp (#283) 2018-03-11 23:28:52 -07:00
SSH.Tests.ps1 Test Fixes on down level OS (#279) 2018-03-01 15:11:55 -08:00
SSHDConfig.tests.ps1 Test Fixes on down level OS (#279) 2018-03-01 15:11:55 -08:00
SSHD_Config Separate binary path from cfg path and log path (#263) 2018-01-19 15:12:43 -08:00
Userkey_fileperm.Tests.ps1 rename variable to NoLibressl 2017-11-07 16:07:16 -08: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_ca_userkeys Added test cases for certificate authentication (#216) 2017-10-03 12:21:08 -07:00
sshtest_ca_userkeys.pub Added test cases for certificate authentication (#216) 2017-10-03 12:21:08 -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