## 3 `test.test_support` -- テストのためのユーティリティ関数

`test.test_support` モジュールでは、 Python の回帰テストに対する サポートを提供しています。

このモジュールは次の例外を定義しています:

exception `TestFailed`
  テストが失敗したとき送出される例外です。

exception `TestSkipped`
  `TestFailed`のサブクラスです。 テストがスキップされたとき送出されます。 テスト時に (ネットワーク接続のような) 必要なリソースが利用 できないときに送出されます。

exception `ResourceDenied`
  `TestSkipped`のサブクラスです。 (ネットワーク接続のような)リソースが利用できないとき送出されます。 `requires`関数によって送出されます。

`test.test_support` モジュールでは、以下の定数を定義しています:

`verbose`
  冗長な出力が有効な場合は`True` です。 実行中のテストについてのより詳細な情報が欲しいときにチェックします。 verbose は `test.regrtest` によって設定されます。

`have_unicode`
  ユニコードサポートが利用可能ならば`True` になります。

`is_jython`
  実行中のインタプリタが Jython ならば`True` になります。

`TESTFN`
  一時ファイルを作成するパスに設定されます。 作成した一時ファイルは全て閉じ、unlink (削除) せねばなりません。

`test.test_support` モジュールでは、以下の関数を定義しています:

`forget`( | module_name)

  モジュール名module_nameを`sys.modules`から取り除き、 モジュールのバイトコンパイル済みファイルを全て削除します。

`is_resource_enabled`( | resource)

  resource が有効で利用可能ならば`True`を返します。 利用可能なリソースのリストは、`test.regrtest`がテストを 実行している間のみ設定されます。

`requires`( | resource[, msg])

  resource が利用できなければ、`ResourceDenied`を 送出します。その場合、msgは `ResourceDenied` の引数に なります。__name__ が `"__main__"` である関数にから 呼び出された場合には常に真を返します。 テストを`test.regrtest` から実行するときに使われます。

`findfile`( | filename)

  filenameという名前のファイルへのパスを返します。 一致するものが見つからなければ、filename 自体を返します。 filename 自体もファイルへのパスでありえるので、 filename が返っても失敗ではありません。

`run_unittest`( | *classes)

  渡された `unittest.TestCase` サブクラスを実行します。 この関数は名前が "`test_`" で始まるメソッドを探して、 テストを個別に実行します。 この方法をテストの実行方法として推奨しています。

`run_suite`( | suite[, testclass=None])

  `unittest.TestSuite` のインスタンス suiteを実行します。 オプション引数testclass はテストスイート内のテストクラスの 一つを受け取り、指定するとテストスイートが存在する場所についてさらに 詳細な情報を出力します。