TAP プロトコルに従ってテスト結果メッセージを出力する関数を実装する Guile スクリプトが必要です。
2 に答える
2
guiletap.scm という名前の次のスクリプトは、テストの実行時に TAP プロトコルを使用するために頻繁に必要となる関数を実装します。
; TAP プロトコルで Guile が作成したテストを実行するための関数を定義します。 ; 著作権 © 2008 オマー ザック ; GNU LGPL 2.1 または (オプションで) 以降のバージョンでリリースされています。 ;;; ;;; それを呼び出すには: ;;; (use-modules (guiletap)) ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; (define-module (guiletap)) (輸出計画) (エクスポートOK) (エクスポート bail_out) (エクスポート診断) (エクスポートは_ok) (use-modules (ice-9 形式)) ; n はテストの数です。 (計画を定義する (ラムダ (n) (表示 (フォーマット "1..~d~%" n)))) ; n - テスト番号 ; testdesc - テスト記述子 ; res - 失敗の場合は #f 、成功の場合はその他の結果。 (OK と定義する (ラムダ (n testdesc res) (if (not res)(display "not ")) (display (format "ok ~d - ~a~%" n testdesc)))) ; testdesc - テスト記述子 (bail_out を定義する (ラムダ (testdesc) (display (format "Bail out! - ~a~%" testdesc)))) ; diagmsg - 診断メッセージ (診断定義 (ラムダ (diagmsg) (表示 (フォーマット "# ~a~%" diagmsg)))) ; n - テスト番号 ; testdesc - テスト記述子 ; expres - 予想されるテスト結果 ; actres - 実際のテスト結果 (is_ok を定義 (ラムダ (n testdesc expres actres) (ok n testdesc (equal? expres actres)))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ; !!! TODO: ; !!! 以下も実装予定: ; plan_no_plan ; plan_skip_all [REASON] ; ; [名前] は結果が期待されます ; [名前] は期待される結果ではありません ; いいね 結果パターン [名前] ; 結果パターン [NAME] とは異なります ; [名前] を渡す ; [名前] に失敗 ; ; 条件をスキップ [理由] [NB_TESTS=1] ; $TODO を設定して TODO モードを指定します。 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;; ; guiletap.scm の終わり
于 2008-09-16T13:38:45.763 に答える