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

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_alltrueの時、 それぞれ個々のテストにかかった時間を示します。 デフォルトはfalseで、時間情報を示しません。

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

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

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

run_testsuitedoneを返します。

Categories:  Debugging

オプション変数: testsuite_files

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

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

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

これは、ファイル"rtest13s", "rtest14"から成るテストスイートを指定しますが、 "rtest14" は失敗することが既知の2つのテスト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 2015texi2html 1.76を用いて生成されました。