2.1 バグ検出と報告のための関数と変数
関数: run_testsuite (options])
Maxima テスト スイートを実行します。目的の答えを生成するテストは "成功" と見なされ、目的の回答を生成しないが既知のバグとしてマークされるテストも同様です。
run_testsuite は、次の省略可能なキーワード引数を取ります
display_all
すべてのテストを表示します。通常、テストが失敗しない限り、テストは表示されません。(デフォルトは false).
display_known_bugs
既知のバグとしてマークされたテストを表示します。(デフォルトはfalseです).
tests
これは、1 つのテストまたは実行する必要があるテストの一覧です。各テストは、文字列または記号で指定できます。デフォルトでは、すべてのテストが実行されます。テストの完全なセットは、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.
カテゴリー: デバッグ ·
オプション変数: testsuite_files
testsuite_files は、run_testsuite によって実行されるテストのセットです。これは、実行するテストを含むファイルの名前のリストです。ファイル内の一部のテストが失敗することがわかっている場合は、ファイルの名前をリストする代わりに、ファイル名と失敗したテスト番号を含むリストが使用されます。
たとえば、これはデフォルトのテストセットの一部です。
["rtest13s", ["rtest14", 57, 63]]
これは、テストスイートが "rtest13s" と "rtest14" ファイルで構成されていることを指定しますが、"rtest14" には失敗することがわかっている 2 つのテスト (57 と 63) が含まれています。
カテゴリ: デバッグ ·グローバル変数 ·
オプション変数: share_testsuite_files
share_testsuite_files は、run_testsuite によってテストスイートの一部として実行されるshareディレクトリからのテストのセットです..
カテゴリ: デバッグ ·グローバル変数 ·
関数: bug_report ()
Maxima と Lisp のバージョン番号を出力し、Maxima プロジェクトのバグ報告 Web ページへのリンクを提供します。バージョン情報はbuild_info によって報告されたものと同じです.
バグが報告されたら、Maxima と Lisp のバージョン情報をバグレポートにコピーすると便利です。
bug_report は空の文字列を返します"".
カテゴリー: デバッグ ·
関数: build_info ()
Maxima ビルドのパラメータの概要を Maxima 構造体 (defstruct で定義) として返します。構造体のフィールドは、version、timestamp、host、lisp_name、および lisp_version です。pretty-printer が (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"
Maxima バージョンの文字列 (ここでは 5.36.1) は、非常に異なって見える場合があります。
(%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" でした。
maxima のフロントエンドは、変数 maxima_frontend と maxima_frontend_version を適切に設定することで、現在使用されている情報を追加できます。
カテゴリー: デバッグ ·