[ < ] | [ > ] |  | [ << ] | [上] | [ >> ] |  |  |  |  | [冒頭] | [目次] | [見出し] | [ ? ]

# 2. Bug Detection and Reporting

[ < ] | [ > ] |  | [ << ] | [上] | [ >> ] |  |  |  |  | [冒頭] | [目次] | [見出し] | [ ? ]

## 2.1 Functions and Variables for Bug Detection and Reporting

関数: run_testsuite ([options])

  Maximaのテストスイートを走らせます。 望みの答えを生成したテストは「パス」とみなされます。 望みの答えを生成しないテストも同様ですが、既知のバグとしてマークされています。

  `run_testsuite`は、以下のオプションキーワード引数を取ります。

  `display_all`

    テストすべてを表示します。 通常は、テストが失敗しない限りテストを表示しません。 （デフォルトでは `false`に設定されます。）

  `display_known_bugs`

    既知のバグとしてマークされているテストを表示します。 （デフォルトでは `false`に設定されます。）

  `tests`

    これは、実行するテスト(単体の場合)、もしくはテストのリストです。 それぞれのテストは文字列かシンボルで指定することができます。 デフォルトではテストすべてを実行します。 テストの完全な組は `testsuite_files`で指定されています。

  `time`

    時間情報を表示します。 もし `true`ならそれぞれのテストファイルにかかった時間を表示します。 もし `all`なら `display_all`が `true`の時、 それぞれ個々のテストにかかった時間を示します。 デフォルトは`false`で、時間情報を示しません。

  例えば、 `run_testsuite(display_known_bugs = true, tests=[rtest5])`は、 テスト `rtest5`だけを走らせ、既知のバグとしてマークされているテストを表示します。

  `run_testsuite(display_all = true, tests=["rtest1", rtest1a])`は、 テスト `rtest1`と `rtest2`を走らせ、 テストそれぞれを表示します。

  `run_testsuite`は、Maxima環境を変更します。 通常は、テストスクリプトは 既知の環境（すなわちユーザー定義の関数や変数のない環境）を確立するために `kill`を実行し、 それからテストにふさわしい関数や変数を定義します。

  `run_testsuite`は `done`を返します。

  Categories: Debugging

オプション変数: testsuite_files

  `testsuite_files`は `run_testsuite`が実行するテスト一式です。 それは実行するテストを含むファイル名のリストです。 もしファイルの中のテストのいくつかが失敗することが既知なら、 ファイル名をリストする代わりに、 ファイル名と失敗するテスト番号を含むリストを使います。

  例えば、以下はデフォルトのテスト一式の一部です:

       ["rtest13s", ["rtest14", 57, 63]]

  これは、ファイル"rtest13s", "rtest14"から成るテストスイートを指定しますが、 "rtest14" は失敗することが既知の２つのテスト57と63を含みます。

  Categories: Debugging · Global variables

関数: bug_report ()

  MaximaとLispのバージョン番号を表示し、Maximaプロジェクトのバグレポートウェブサイトへのリンクを与えます。 バージョン情報は`build_info`がレポートするものと同じです。

  バグをレポートする時、 MaximaとLispのバージョン情報をバグレポートにコピーしてもらえると助かります。

  `bug_report`は空の文字列 `""`を返します。

  Categories: Debugging

関数: build_info ()

  (`defstruct`で定義された) Maxima構造体として Maximaビルドのパラメータのまとめを表示します。 構造体のフィールドは以下です: `version`, `timestamp`, `host`, `lisp_name`, `lisp_version`。 (`display2d`により)プリティプリントがイネーブルの時、 構造体は短いテーブルとして表示されます。

  `bug_report`.も参照してください。

  例:

      (%i1) build_info ();
      (%o1)
      Maxima version: "5.26.0_16_gb72c64c_dirty"
      Maxima build date: "2012-01-29 12:29:04"
      Host type: "i686-pc-linux-gnu"
      Lisp implementation type: "CMU Common Lisp"
      Lisp implementation version: "CVS release-19a 19a-release-20040728 + minimal debian patches"
      (%i2) x : build_info ()$
      (%i3) x@version;
      (%o3)               5.26.0_16_gb72c64c_dirty
      (%i4) x@timestamp;
      (%o4)                  2012-01-29 12:29:04
      (%i5) x@host;
      (%o5)                   i686-pc-linux-gnu
      (%i6) x@lisp_name;
      (%o6)                    CMU Common Lisp
      (%i7) x@lisp_version;
      (%o7)
          CVS release-19a 19a-release-20040728 + minimal debian patches
      (%i8) x;
      (%o8)
      Maxima version: "5.26.0_16_gb72c64c_dirty"
      Maxima build date: "2012-01-29 12:29:04"
      Host type: "i686-pc-linux-gnu"
      Lisp implementation type: "CMU Common Lisp"
      Lisp implementation version: "CVS release-19a 19a-release-20040728 + minimal debian patches"

  Categories: Debugging

[ << ] | [ >> ] |  |  |  |  |  | [冒頭] | [目次] | [見出し] | [ ? ]

この文書は市川 雄二によって1月, 7 2015にtexi2html 1.76を用いて生成されました。