# 4.7p1 Overview. 概要 $ ./configure && make tests You'll see some progress info. A failure will cause either the make to abort or the driver script to report a "FATAL" failure. 進行状況を見ることができる. makeの中止か"FATAL" な失敗を報告する ドライバスクリプトによって 失敗は引き起こされるだろう. The test consists of 2 parts. The first is the file-based tests which is driven by the Makefile, and the second is a set of network or proxycommand based tests, which are driven by a driver script (test-exec.sh) which is called multiple times by the Makefile. テストは2つの部分から成る. 最初は Makefileによって駆動されるファイルベースの テストで, 2つ目はネットワークやプロキシコマンドベースのテストの集合だ. これらは, Makefileによって何回も呼ばれるドライバスクリプト(test-exec.sh) によって駆動される. Failures in the first part will cause the Makefile to return an error. Failures in the second part will print a "FATAL" message for the failed test and continue. 最初の部分での失敗は, Makefileがエラーを返すことで引き起される. 2つ目の部分での失敗は, 失敗したテストで "FATAL" メッセージを表示し, 続行する. OpenBSD has a system-wide regression test suite. OpenSSH Portable's test suite is based on OpenBSD's with modifications. OpenBSDは システムワイドな影響テストスートを持っている. OpenSSHの 移植版のテストスートは OpenBSDのものを修正したものをベースにしている. Environment variables. 環境変数 SUDO: path to sudo command, if desired. Note that some systems (notably systems using PAM) require sudo to execute some tests. SUDO: 必要ならば, sudo コマンドへのパス. いくつかのシステム(特に PAMを使っているシステム)ではいくつかのテストを実行するために sudoが必要となることに注意. TEST_SSH_TRACE: set yo "yes" for verbose output from tests TEST_SSH_TRACE: "yes"と設定すると テストからの冗長な出力がでる. TEST_SSH_QUIET: set to "yes" to suppress non-fatal output. TEST_SSH_QUIET: "yes"と設定すると, non-fatalな出力を抑制する. TEST_SSH_x: path to "ssh" command under test, where x=SSH,SSHD,SSHAGENT,SSHADD SSHKEYGEN,SSHKEYSCAN,SFTP,SFTPSERVER TEST_SSH_x: テストにおける"ssh"コマンドへのパス x=SSH,SSHD,SSHAGENT,SSHADD SSHKEYGEN,SSHKEYSCAN,SFTP,SFTPSERVER OBJ: used by test scripts to access build dir. OBJ: テストスクリプトがビルドのディレクトリにアクセスするために使われる. TEST_SHELL: shell used for running the test scripts. TEST_SHELL: テストスクリプトを走らせるために使われるシェル TEST_SSH_PORT: TCP port to be used for the listening tests. TEST_SSH_PORT: 待ち受けテストのために使われるTCPポート TEST_SSH_SSH_CONFOTPS: Configuration directives to be added to ssh_config before running each test. TEST_SSH_SSH_CONFOTPS: それぞれのテストを走らせる前に ssh_config に追加される 設定項目 TEST_SSH_SSHD_CONFOTPS: それぞれのテストを走らせる前に ssh_config に追加される 設定項目 Individual tests. 個別のテスト. You can run an individual test from the top-level Makefile, eg: $ make tests LTESTS=agent-timeout 個別のテストをトップレベルのMakefileから走らせることができる. 例えば. $ make tests LTESTS=agent-timeout If you need to manipulate the environment more you can invoke test-exec.sh directly if you set up the path to find the binaries under test and the test scripts themselves, for example: もしより環境を操作する必要があるなら, テストするバイナリとテストスクリプト自身を見つけるパスを設定して 個別のテスト(test-exec.sh)を直接実行する. 例えば: $ cd regress $ PATH=`pwd`/..:$PATH:. TEST_SHELL=/bin/sh sh test-exec.sh `pwd` \ agent-timeout.sh ok agent timeout test Files. ファイル: test-exec.sh: the main test driver. Sets environment, creates config files and keys and runs the specified test. test-exec.sh: メインテストドライバ. 環境変数を設定し, 設定ファイルと鍵を作り, 指定されたテストを実行する. At the time of writing, the individual tests are: 個別のテストは以下の通り. agent-timeout.sh: agent timeout test agent.sh: simple agent test broken-pipe.sh: broken pipe test connect-privsep.sh: proxy connect with privsep connect.sh: simple connect exit-status.sh: remote exit status forwarding.sh: local and remote forwarding keygen-change.sh: change passphrase for key keyscan.sh: keyscan proto-mismatch.sh: protocol version mismatch proto-version.sh: sshd version with different protocol combinations proxy-connect.sh: proxy connect sftp.sh: basic sftp put/get ssh-com-client.sh: connect with ssh.com client ssh-com-keygen.sh: ssh.com key import ssh-com-sftp.sh: basic sftp put/get with ssh.com server ssh-com.sh: connect to ssh.com server stderr-after-eof.sh: stderr data after eof stderr-data.sh: stderr data transfer transfer.sh: transfer data try-ciphers.sh: try ciphers yes-head.sh: yes pipe head Problems? 問題? Run the failing test with shell tracing (-x) turned on: $ PATH=`pwd`/..:$PATH:. sh -x test-exec.sh `pwd` agent-timeout.sh shell トレーシング(-x)を有効にすると, テストに失敗する. Failed tests can be difficult to diagnose. Suggestions: - run the individual test via ./test-exec.sh `pwd` [testname] - set LogLevel to VERBOSE in test-exec.sh and enable syslogging of auth.debug (eg to /var/log/authlog). テストの失敗を診断するのは難しい. いくつかの示唆として: - 個別のテストを ./test-exec.sh `pwd` [testname] で走らせろ. - test-exec.shで LogLevelを VERBOSEにして, auth.debug (例えば /var/log/authlog) の syslogを有効にしてみろ. Known Issues. 既知の問題 - If your build requires ssh-rand-helper regress tests will fail unless ssh-rand-helper is in pre-installed (the path to ssh-rand-helper is hard coded). ビルドがssh-rand-helper を必要とするなら, ssh-rand-helper が 先にインストールされていないと, 影響テストは失敗するだろう (ssh-rand-helperへのパスはハードコーディングされている). - Similarly, if you do not have "scp" in your system's $PATH then the multiplex scp tests will fail (since the system's shell startup scripts will determine where the shell started by sshd will look for scp). 同様に, システムのパスに "scp" が含まれていないなら, 多重scpテストは 失敗する(システムのシェルスタートアップスクリプトが sshdから開始されたシェルがscpを探すかを決定するので) - Recent GNU coreutils deprecate "head -[n]": this will cause the yes-head test to fail. The old behaviour can be restored by setting (and exporting) _POSIX2_VERSION=199209 before running the tests. 最近のGNU coreutils は "head -[n]" を非推奨とした. これは, yes-head テストを失敗させる原因となるかもしれない. この古い振舞いは テストの前に _POSIX2_VERSION=199209 と設定 することで, 復元される.