[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

# 2. Bug Detection and Reporting

[ < ] | [ > ] |  | [ << ] | [ Up ] | [ >> ] |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

## 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`で、時間情報を示しません。

  `share_tests`

    `share`ディレクトリに関する追加のテストをロードします。 もし `true`なら、テストスイートの一部としてこれらの追加のテストが走ります。 もし `false`なら、 `share`ディレクトリからのテストは走りません。 もし `only`なら、 `share`ディレクトリからのテストだけが走ります。 もちろん、テストの実際の集合は、 `tests`オプションで制御することができます。 デフォルトは `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

オプション変数: share_testsuite_files

  `share_testsuite_files`は、`run_testsuite`がテストスイートの一部として走らせる `share`ディレクトリからのテストの集合です。

  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.36.1"
      Maxima build date: "2015-06-02 11:26:48"
      Host type: "x86_64-unknown-linux-gnu"
      Lisp implementation type: "GNU Common Lisp (GCL)"
      Lisp implementation version: "GCL 2.6.12"
      (%i2) x : build_info ()$
      (%i3) x@version;
      (%o3)                               5.36.1
      (%i4) x@timestamp;
      (%o4)                         2015-06-02 11:26:48
      (%i5) x@host;
      (%o5)                      x86_64-unknown-linux-gnu
      (%i6) x@lisp_name;
      (%o6)                        GNU Common Lisp (GCL)
      (%i7) x@lisp_version;
      (%o7)                             GCL 2.6.12
      (%i8) x;
      (%o8)
      Maxima version: "5.36.1"
      Maxima build date: "2015-06-02 11:26:48"
      Host type: "x86_64-unknown-linux-gnu"
      Lisp implementation type: "GNU Common Lisp (GCL)"
      Lisp implementation version: "GCL 2.6.12"

  The Maxima version string can (here 5.36.1) can look very different:

      (%i1) build_info();
      (%o1)
      Maxima version: "branch_5_37_base_331_g8322940_dirty"
      Maxima build date: "2016-01-01 15:37:35"
      Host type: "x86_64-unknown-linux-gnu"
      Lisp implementation type: "CLISP"
      Lisp implementation version: "2.49 (2010-07-07) (built 3605577779) (memory 3660647857)"

  その場合、Maximaはリリースされたソースコードからビルドされておらず、 ソースコードのGITチェックアウトから直接ビルドされていました。 この例では、チェックアウトは最新のGITタグ(普通Maxima(メジャー)リリース(この例の場合5.37))から 331コミットあり、最後のコミットの短縮されたコミットハッシュは"8322940"でした。

  Categories: Debugging

[ << ] | [ >> ] |  |  |  |  |  | [Top] | [Contents] | [Index] | [ ? ]

This document was generated by 市川雄二 on October, 4 2018 using texi2html 1.76.