Mac OS Xでのtimeに関する修正をマージ
authorj8takagi <j8takagi@nifty.com>
Mon, 13 Dec 2010 16:56:28 +0000 (01:56 +0900)
committerj8takagi <j8takagi@nifty.com>
Mon, 13 Dec 2010 16:56:28 +0000 (01:56 +0900)
Conflicts:
template/Define_test.mk

13 files changed:
1  2 
doc/.gitignore
doc/Makefile
doc/autotest_mk.dvi
doc/autotest_mk.html
doc/autotest_mk.info
doc/autotest_mk.pdf
doc/autotest_mk.texi
doc/style.css
sample/triangle/test/TEST_time.log
template/Define.mk
template/Define_test.mk
template/Makefile
template/Test.mk

diff --cc doc/.gitignore
index 0000000,0000000..ce8835d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,4 @@@
++html
++yacasl2.??
++yacasl2.???
++yacasl2.info
diff --cc doc/Makefile
index 0000000,0000000..86e9b4d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,41 @@@
++DOCNAME = autotest_mk
++TEXBIN = /usr/local/texlive/p2009/bin/i386-apple-darwin10.3.0
++SRC = $(DOCNAME).texi
++CSS = style.css
++PTEX = $(TEXBIN)/ptex
++TEXINDEX = $(TEXBIN)/texindex
++DVI2PDF = $(TEXBIN)/dvipdfmx
++MAKEINFO = makeinfo
++
++.PHONY: all htmlnosplit pdf clean
++
++.INTERMEDIATE: yacasl2.dvi
++
++htmlnosplit: $(DOCNAME).html
++
++all: info htmlnosplit html pdf
++
++info: $(DOCNAME).info
++
++html: $(SRC) $(CSS)
++      @if test ! -s $@; then mkdir $@; fi;
++      @cp $(CSS) $@/$(CSS)
++      @$(MAKEINFO) -o $@ --html --css-ref=style.css $(SRC)
++
++pdf: $(DOCNAME).pdf
++
++$(DOCNAME).info: $(SRC)
++      @$(MAKEINFO) -o $@ $^
++
++$(DOCNAME).html: $(SRC) $(CSS)
++      @$(MAKEINFO) -o $@ --no-split --no-headers --html --css-include=$(CSS) $(SRC)
++
++$(DOCNAME).pdf: $(DOCNAME).dvi
++      @$(DVI2PDF) $^
++
++$(DOCNAME).dvi: $(SRC)
++      @TEX=ptex texi2dvi -q --texinfo=@afourpaper -o $@ $<
++      @rm -rf $(DOCNAME).aux $(DOCNAME).cp $(DOCNAME).cps $(DOCNAME).fn $(DOCNAME).ky $(DOCNAME).log $(DOCNAME).pg $(DOCNAME).pgs $(DOCNAME).tmp $(DOCNAME).toc $(DOCNAME).tp $(DOCNAME).vr
++
++clean:
++      @rm -rf html $(DOCNAME).info $(DOCNAME).pdf $(DOCNAME).html $(DOCNAME).dvi
index 0000000,0000000..8367390
new file mode 100644 (file)
Binary files differ
index 0000000,0000000..ab761d6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,401 @@@
++<html lang="en">
++<head>
++<title>autotest_mk - Linux上のCASL II処理系</title>
++<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
++<meta name="description" content="autotest_mk - Linux上のCASL II処理系">
++<meta name="generator" content="makeinfo 4.13">
++<link title="Top" rel="top" href="#Top">
++<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
++<!--
++Copyright (C) 2010 j8takagi-->
++<meta http-equiv="Content-Style-Type" content="text/css">
++<style type="text/css"><!--
++  pre.display { font-family:inherit }
++  pre.format  { font-family:inherit }
++  pre.smalldisplay { font-family:inherit; font-size:smaller }
++  pre.smallformat  { font-family:inherit; font-size:smaller }
++  pre.smallexample { font-size:smaller }
++  pre.smalllisp    { font-size:smaller }
++  span.sc    { font-variant:small-caps }
++  span.roman { font-family:serif; font-weight:normal; } 
++  span.sansserif { font-family:sans-serif; font-weight:normal; } 
++body {
++    margin-left: 6em;
++    margin-right: 12em;
++    color: black;
++    background-color: #EEE;
++}
++
++h1, h2 {
++    margin-left: -2em;
++}
++
++.node{
++    margin-left: -3em;
++}
++
++h2 {
++    padding: 0.25em;
++    color: white;
++    background-color: navy;
++}
++
++h3, h4 {
++    color: navy;
++    margin-left: -1em;
++}
++
++p {
++    line-height: 1.5em;
++    margin-top: 0;
++    margin-bottom: 0.5em;
++}
++
++a:hover {
++    color: red;
++    text-decoration: underline;
++}
++
++.command {
++    font-family: monospace;
++}
++
++table.cartouche {
++    width: 60%;
++}
++
++pre.example {
++    padding: 0.5em 1em 0.5em 1em;
++    color: #CCC;
++    background: black;
++    font-size: 90%;
++}
++
++a {
++    text-decoration: none;
++}
++
++blockquote.p {
++    margin-top:0;
++    padding-top:0;
++    line-height: 100%;
++}
++
++table, th, td {
++    border: 1px solid #CCC;
++    border-collapse: collapse; /* 枠線の表示方法 */
++}
++
++table.cartouche, table.cartouche th, table.cartouche td  {
++    border: none;
++}
++
++pre.example .command, pre.example .option {
++    font-weight: bold;
++    background-color: inherit;
++    color: white;
++}
++
++pre.example strong {
++    font: inherit;
++    border: 2px solid green;
++}
++--></style>
++</head>
++<body>
++<h1 class="settitle">autotest_mk - Linux上のCASL II処理系</h1>
++<a name="Top"></a>
++
++<div class="contents">
++<h2>Table of Contents</h2>
++<ul>
++<li><a name="toc_About" href="#About">1 Autotest.mkの概要</a>
++<ul>
++<li><a href="#About">要件</a>
++</li></ul>
++<li><a name="toc_Install" href="#Install">2 Autotest.mkのインストール</a>
++<ul>
++<li><a href="#Download">2.1 ダウンロード</a>
++<li><a href="#Verify">2.2 ファイルの検証</a>
++<li><a href="#Expand">2.3 ファイルの展開</a>
++</li></ul>
++<li><a name="toc_Tutorial" href="#Tutorial">3 Autotest.mkチュートリアル</a>
++<ul>
++<li><a href="#Preapre">3.1 サンプルプログラムの準備</a>
++<li><a href="#Create-Group">3.2 グループディレクトリーの作成</a>
++<li><a href="#Create-Test">3.3 テストディレクトリーの作成</a>
++<li><a href="#Edit-cmd">3.4 テスト用コマンドファイルの作成</a>
++<li><a href="#Test-Set">3.5 テスト想定結果の作成と検証</a>
++<li><a href="#Test-Execute">3.6 テストの実行とログの確認</a>
++</li></ul>
++<li><a name="toc_Manual" href="#Manual">4 Autotest.mkマニュアル</a>
++<ul>
++<li><a href="#Template-Dir">4.1 テンプレートディレクトリー</a>
++<ul>
++<li><a href="#make-group">4.1.1 <kbd>make</kbd>または<kbd>make group</kbd> グループの作成</a>
++<li><a href="#Template-Files">4.1.2 テンプレートのファイル</a>
++</li></ul>
++<li><a href="#Group-Dir">4.2 グループディレクトリー</a>
++<ul>
++<li><a href="#make-create">4.2.1 <kbd>make create</kbd> テストの作成</a>
++<li><a href="#Rename">4.2.2 テスト名の変更</a>
++<li><a href="#Delete">4.2.3 テストの削除</a>
++<li><a href="#make-check-at-group">4.2.4 <kbd>make</kbd>または<kbd>make check</kbd> グループ内にあるすべてのテストの実行</a>
++<li><a href="#make-checkall">4.2.5 <kbd>make checkall</kbd> グループ内にあるすべてのテストの実行、計時</a>
++<li><a href="#make-clean-at-group">4.2.6 <kbd>make clean</kbd> グループ内にあるすべてのテストで、実行結果をクリア</a>
++<li><a href="#make-time-at-group">4.2.7 <kbd>make time</kbd> グループ内にあるすべてのテストを計時</a>
++<li><a href="#make-cleantime-at-group">4.2.8 <kbd>make cleantime</kbd> グループ内にあるすべてのテストで、計時結果をクリア</a>
++<li><a href="#Group-Files">4.2.9 グループのファイル</a>
++</li></ul>
++<li><a href="#Test-Dir">4.3 テストディレクトリー</a>
++<ul>
++<li><a href="#make-set">4.3.1 <kbd>make set</kbd> テスト想定の作成</a>
++<li><a href="#make-reset">4.3.2 <kbd>make set</kbd> テスト想定の再作成</a>
++<li><a href="#make-check-at-test">4.3.3 <kbd>make</kbd>または<kbd>make check</kbd> テストの実行</a>
++<li><a href="#make-time-at-test">4.3.4 <kbd>make time</kbd> テストの計時</a>
++<li><a href="#make-cleantime-at-test">4.3.5 <kbd>make cleantime</kbd> テスト計時結果のクリア</a>
++<li><a href="#make-clean-at-test">4.3.6 <kbd>make cleantime</kbd> テスト結果のクリア</a>
++<li><a href="#make-cleanall-at-test">4.3.7 <kbd>make cleanall</kbd> テストの想定と結果をクリア</a>
++<li><a href="#Test-Files">4.3.8 テストのファイル</a>
++</li></ul>
++</li></ul>
++</li></ul>
++</div>
++
++<p><a name="About"></a>
++
++<h2 class="chapter">1 Autotest.mkの概要</h2>
++
++<p>Autotest.mkは、GNU Makeを利用したテスト自動化ツールです。何回か<kbd>make</kbd>コマンドを実行し、プログラムのテスト結果を表す実行ファイルを作成すれば、テストの準備は完了です。あとは<kbd>make</kbd>コマンドを1回実行すれば、いつでもテストを実行できます。テストの実行結果は、ログに出力されます。
++
++ <p>Autotest.mkでは、次の3つの概念を使います。
++
++     <dl>
++<dt><samp><span class="option">テンプレート</span></samp><dd>テストグループとテストのテンプレートです。
++
++     <br><dt><samp><span class="option">テストグループ</span></samp><dd>複数のテストを含むグループです。
++
++     <br><dt><samp><span class="option">テスト</span></samp><dd>テスト個々の内容と結果を表します。
++</dl>
++
++<h3 class="unnumberedsec">要件</h3>
++
++<p>Autotest.mkは、LinuxやMac OS Xなどで動作します。現在動作を確認しているのは、次のディストリビューションです。
++
++     <ul>
++<li>Ubuntu Linux 10.10
++
++     <li>Mac OS X バージョン 10.6.5
++</ul>
++
++ <p>Mac OS Xでは、<a href="http://www.gnu.org/software/findutils/">GNU Findutils</a>をインストールしてください。
++
++<p><a name="Install"></a>
++
++<h2 class="chapter">2 Autotest.mkのインストール</h2>
++
++<p>Autotest.mkをインストールするには、次の作業をします。
++
++     <ol type=1 start=1>
++<li>Autotest.mkファイルのダウンロード
++
++     <li>Autotest.mkファイルの検証
++
++     <li>Autotest.mkファイルの展開
++      </ol>
++
++<p><a name="Download"></a>
++
++<h3 class="section">2.1 ダウンロード</h3>
++
++<p><a href="http://github.com/j8takagi/autotest_mk">GitHub/j8takagi/autotest_mk</a>の<a href="http://github.com/j8takagi/autotest_mk/downloads">ダウンロードページ</a>から最新版のtgzファイルをダウンロードします。
++
++ <p>続けて、対応する<samp><span class="file">md5sum</span></samp>フィルをダウンロードします。
++
++<p><a name="Verify"></a>
++
++<h3 class="section">2.2 ファイルの検証</h3>
++
++<p>ダウンロードが完了したら、<kbd>md5sum</kbd>と<kbd>diff</kbd>で正しくファイルがダウンロードができているかを検証します。
++
++<pre class="example">  $ <kbd>md5sum autotest_mk.tar.gz | diff -s autotest_mk.tar.gz.md5sum -</kbd>
++  Files autotest_mk.tar.gz.md5sum and - are identical
++</pre>
++ <p><a name="Expand"></a>
++
++<h3 class="section">2.3 ファイルの展開</h3>
++
++<p><samp><span class="file">autotest_mk</span></samp>ファイルをダウンロードしたら、次のコマンドで展開します。
++
++<pre class="example">  $ <kbd>tar xvzf autotest_mk.tar.gz</kbd>
++</pre>
++ <p>展開したら、Autotest.mkは使える状態です。多くのプログラムをインストールするときに必要なコンパイルやビルド、システムディレクトリーへのインストール(<kbd>./configure</kbd>や<kbd>make</kbd>、<kbd>make install</kbd>)は必要ありません。
++
++<p><a name="Tutorial"></a>
++
++<h2 class="chapter">3 Autotest.mkチュートリアル</h2>
++
++<p>Autotest.mkを使ったテストの手順は、次のとおりです。
++
++     <ol type=1 start=1>
++<li>グループディレクトリーの作成
++
++     <li>テストディレクトリーの作成
++
++     <li>テスト用コマンドファイルの作成
++
++     <li>テスト想定結果の作成と検証
++
++     <li>テストの実行とログの確認
++      </ol>
++
++ <p>ここでは、簡易電卓プログラムcalcをテストする手順を取り上げます。
++
++<p><a name="Preapre"></a>
++
++<h3 class="section">3.1 サンプルプログラムの準備</h3>
++
++<p>まず、Autotest.mkのパッケージに含まれている<samp><span class="file">sample/calc</span></samp>を任意のフォルダーへコピーします。
++
++<pre class="example">  $ <kbd>cd ~/autotest.mk</kbd>
++  $ <kbd>cp ~r ~/sample/calc ~/calc</kbd>
++</pre>
++ <p><a name="Create-Group"></a>
++
++<h3 class="section">3.2 グループディレクトリーの作成</h3>
++
++<p>テンプレートディレクトリーで、<kbd>make</kbd>を実行します。このとき、テストグループのディレクトリーを変数<code>GROUPDIR</code>で指定します。
++
++ <p>指定したディレクトリーが作成されます。
++
++<pre class="example">  $ <kbd>cd ~/autotest.mk/template</kbd>
++  $ <kbd>make GROUPDIR=~/calc/calc_test</kbd>
++</pre>
++ <p>次のコマンドでグループディレクトリーに移動し、その中を確認します。
++
++ <p>テストを実行するためのMakefileが作成されます。
++
++<pre class="example">  $ <kbd>cd ~/autotest.mk/template</kbd>
++  $ <kbd>make GROUPDIR=~/calc/calc_test</kbd>
++</pre>
++ <p><a name="Create-Test"></a>
++
++<h3 class="section">3.3 テストディレクトリーの作成</h3>
++
++<p><a name="Edit-cmd"></a>
++
++<h3 class="section">3.4 テスト用コマンドファイルの作成</h3>
++
++<p><a name="Test-Set"></a>
++
++<h3 class="section">3.5 テスト想定結果の作成と検証</h3>
++
++<p><a name="Test-Execute"></a>
++
++<h3 class="section">3.6 テストの実行とログの確認</h3>
++
++<p><a name="Manual"></a>
++
++<h2 class="chapter">4 Autotest.mkマニュアル</h2>
++
++<p><a name="Template-Dir"></a>
++
++<h3 class="section">4.1 テンプレートディレクトリー</h3>
++
++<p>テンプレートディレクトリーは、Autotest.mkをインストールするときに展開により作成された<code>template</code>ディレクトリーです。このディレクトリーに移動すると次の操作ができます。
++
++<p><a name="make-group"></a>
++
++<h4 class="subsection">4.1.1 <kbd>make</kbd>または<kbd>make group</kbd> グループの作成</h4>
++
++<p>変数<code>GROUPDIR</code>で指定されたディレクトリーをテストグループディレクトリーとして作成し、必要な次のファイルをコピーします。
++
++<p><a name="Template-Files"></a>
++
++<h4 class="subsection">4.1.2 テンプレートのファイル</h4>
++
++<p><a name="Group-Dir"></a>
++
++<h3 class="section">4.2 グループディレクトリー</h3>
++
++<p><a name="make-create"></a>
++
++<h4 class="subsection">4.2.1 <kbd>make create</kbd> テストの作成</h4>
++
++<p><a name="Rename"></a>
++
++<h4 class="subsection">4.2.2 テスト名の変更</h4>
++
++<p><a name="Delete"></a>
++
++<h4 class="subsection">4.2.3 テストの削除</h4>
++
++<p><a name="make-check-at-group"></a>
++
++<h4 class="subsection">4.2.4 <kbd>make</kbd>または<kbd>make check</kbd> グループ内にあるすべてのテストの実行</h4>
++
++<p><a name="make-checkall"></a>
++
++<h4 class="subsection">4.2.5 <kbd>make checkall</kbd> グループ内にあるすべてのテストの実行、計時</h4>
++
++<p><a name="make-clean-at-group"></a>
++
++<h4 class="subsection">4.2.6 <kbd>make clean</kbd> グループ内にあるすべてのテストで、実行結果をクリア</h4>
++
++<p><a name="make-time-at-group"></a>
++
++<h4 class="subsection">4.2.7 <kbd>make time</kbd> グループ内にあるすべてのテストを計時</h4>
++
++<p><a name="make-cleantime-at-group"></a>
++
++<h4 class="subsection">4.2.8 <kbd>make cleantime</kbd> グループ内にあるすべてのテストで、計時結果をクリア</h4>
++
++<p><a name="Group-Files"></a>
++
++<h4 class="subsection">4.2.9 グループのファイル</h4>
++
++<p><a name="Test-Dir"></a>
++
++<h3 class="section">4.3 テストディレクトリー</h3>
++
++<p><a name="make-set"></a>
++
++<h4 class="subsection">4.3.1 <kbd>make set</kbd> テスト想定の作成</h4>
++
++<p><a name="make-reset"></a>
++
++<h4 class="subsection">4.3.2 <kbd>make set</kbd> テスト想定の再作成</h4>
++
++<p><a name="make-check-at-test"></a>
++
++<h4 class="subsection">4.3.3 <kbd>make</kbd>または<kbd>make check</kbd> テストの実行</h4>
++
++<p><a name="make-time-at-test"></a>
++
++<h4 class="subsection">4.3.4 <kbd>make time</kbd> テストの計時</h4>
++
++<p><a name="make-cleantime-at-test"></a>
++
++<h4 class="subsection">4.3.5 <kbd>make cleantime</kbd> テスト計時結果のクリア</h4>
++
++<p><a name="make-clean-at-test"></a>
++
++<h4 class="subsection">4.3.6 <kbd>make cleantime</kbd> テスト結果のクリア</h4>
++
++<p><a name="make-cleanall-at-test"></a>
++
++<h4 class="subsection">4.3.7 <kbd>make cleanall</kbd> テストの想定と結果をクリア</h4>
++
++<p><a name="Test-Files"></a>
++
++<h4 class="subsection">4.3.8 テストのファイル</h4>
++
++</body></html>
++
++<!--
++\1f
++Local Variables:
++coding: utf-8
++End:
++
++-->
index 0000000,0000000..d30907c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,428 @@@
++This is autotest_mk.info, produced by makeinfo version 4.13 from
++autotest_mk.texi.
++
++Copyright (C) 2010 j8takagi
++
++INFO-DIR-SECTION Basics
++START-INFO-DIR-ENTRY
++* Autotest.mk: (autotest_mk).
++END-INFO-DIR-ENTRY
++
++\1f
++File: autotest_mk.info,  Node: Top,  Next: About,  Prev: (dir),  Up: (dir)
++
++* Menu:
++
++* About::
++* Install::
++* Tutorial::
++* Manual::
++
++ --- The Detailed Node Listing ---
++
++Autotest.mkのインストール
++
++* Download::
++* Verify::
++* Expand::
++
++Autotest.mkチュートリアル
++
++* Preapre::
++* Create Group::
++
++\1f
++File: autotest_mk.info,  Node: About,  Next: Install,  Prev: Top,  Up: Top
++
++1 Autotest.mkの概要
++**********************
++
++Autotest.mkは、GNU
++Makeを利用したテスト自動化ツールです。何回か`make'コマンドを実行し、プログラムのテスト結果を表す実行ファイルを作成すれば、テストの準備は完了です。あとは`make'コマンドを1回実行すれば、いつでもテストを実行できます。テストの実行結果は、ログに出力されます。
++
++ Autotest.mkでは、次の3つの概念を使います。
++
++`テンプレート'
++     テストグループとテストのテンプレートです。
++
++`テストグループ'
++     複数のテストを含むグループです。
++
++`テスト'
++     テスト個々の内容と結果を表します。
++
++要件
++======
++
++Autotest.mkは、LinuxやMac OS
++Xなどで動作します。現在動作を確認しているのは、次のディストリビューションです。
++
++   * Ubuntu Linux 10.10
++
++   * Mac OS X バージョン 10.6.5
++
++ Mac OS Xでは、GNU Findutils
++(http://www.gnu.org/software/findutils/)をインストールしてください。
++
++\1f
++File: autotest_mk.info,  Node: Install,  Next: Tutorial,  Prev: About,  Up: Top
++
++2 Autotest.mkのインストール
++**********************************
++
++* Menu:
++
++* Download::
++* Verify::
++* Expand::
++
++ Autotest.mkをインストールするには、次の作業をします。
++
++  1. Autotest.mkファイルのダウンロード
++
++  2. Autotest.mkファイルの検証
++
++  3. Autotest.mkファイルの展開
++
++\1f
++File: autotest_mk.info,  Node: Download,  Next: Verify,  Prev: Install,  Up: Install
++
++2.1 ダウンロード
++======================
++
++GitHub/j8takagi/autotest_mk
++(http://github.com/j8takagi/autotest_mk)のダウンロードページ
++(http://github.com/j8takagi/autotest_mk/downloads)から最新版のtgzファイルをダウンロードします。
++
++ 続けて、対応する`md5sum'フィルをダウンロードします。
++
++\1f
++File: autotest_mk.info,  Node: Verify,  Next: Expand,  Prev: Download,  Up: Install
++
++2.2 ファイルの検証
++=========================
++
++ダウンロードが完了したら、`md5sum'と`diff'で正しくファイルがダウンロードができているかを検証します。
++
++  $ md5sum autotest_mk.tar.gz | diff -s autotest_mk.tar.gz.md5sum -
++  Files autotest_mk.tar.gz.md5sum and - are identical
++
++\1f
++File: autotest_mk.info,  Node: Expand,  Prev: Verify,  Up: Install
++
++2.3 ファイルの展開
++=========================
++
++`autotest_mk'ファイルをダウンロードしたら、次のコマンドで展開します。
++
++  $ tar xvzf autotest_mk.tar.gz
++
++ 展開したら、Autotest.mkは使える状態です。多くのプログラムをインストールするときに必要なコンパイルやビルド、システムディレクトリーへのインストール(`./configure'や`make'、`make
++install')は必要ありません。
++
++\1f
++File: autotest_mk.info,  Node: Tutorial,  Next: Manual,  Prev: Install,  Up: Top
++
++3 Autotest.mkチュートリアル
++**********************************
++
++Autotest.mkを使ったテストの手順は、次のとおりです。
++
++  1. グループディレクトリーの作成
++
++  2. テストディレクトリーの作成
++
++  3. テスト用コマンドファイルの作成
++
++  4. テスト想定結果の作成と検証
++
++  5. テストの実行とログの確認
++
++ ここでは、簡易電卓プログラムcalcをテストする手順を取り上げます。
++
++* Menu:
++
++* Preapre::
++* Create Group::
++* Create Test::
++* Edit cmd::
++* Test Set::
++* Test Execute::
++
++\1f
++File: autotest_mk.info,  Node: Preapre,  Next: Create Group,  Prev: Tutorial,  Up: Tutorial
++
++3.1 サンプルプログラムの準備
++========================================
++
++まず、Autotest.mkのパッケージに含まれている`sample/calc'を任意のフォルダーへコピーします。
++
++  $ cd ~/autotest.mk
++  $ cp ~r ~/sample/calc ~/calc
++
++\1f
++File: autotest_mk.info,  Node: Create Group,  Next: Create Test,  Prev: Preapre,  Up: Tutorial
++
++3.2 グループディレクトリーの作成
++==============================================
++
++テンプレートディレクトリーで、`make'を実行します。このとき、テストグループのディレクトリーを変数`GROUPDIR'で指定します。
++
++ 指定したディレクトリーが作成されます。
++
++  $ cd ~/autotest.mk/template
++  $ make GROUPDIR=~/calc/calc_test
++
++ 次のコマンドでグループディレクトリーに移動し、その中を確認します。
++
++ テストを実行するためのMakefileが作成されます。
++
++  $ cd ~/autotest.mk/template
++  $ make GROUPDIR=~/calc/calc_test
++
++\1f
++File: autotest_mk.info,  Node: Create Test,  Next: Edit cmd,  Prev: Create Group,  Up: Tutorial
++
++3.3 テストディレクトリーの作成
++===========================================
++
++\1f
++File: autotest_mk.info,  Node: Edit cmd,  Next: Test Set,  Prev: Create Test,  Up: Tutorial
++
++3.4 テスト用コマンドファイルの作成
++=================================================
++
++\1f
++File: autotest_mk.info,  Node: Test Set,  Next: Test Execute,  Prev: Edit cmd,  Up: Tutorial
++
++3.5 テスト想定結果の作成と検証
++===========================================
++
++\1f
++File: autotest_mk.info,  Node: Test Execute,  Prev: Test Set,  Up: Tutorial
++
++3.6 テストの実行とログの確認
++========================================
++
++\1f
++File: autotest_mk.info,  Node: Manual,  Prev: Tutorial,  Up: Top
++
++4 Autotest.mkマニュアル
++****************************
++
++* Menu:
++
++* Template Dir::
++* Group Dir::
++* Test Dir::
++
++\1f
++File: autotest_mk.info,  Node: Template Dir,  Next: Group Dir,  Prev: Manual,  Up: Manual
++
++4.1 テンプレートディレクトリー
++===========================================
++
++テンプレートディレクトリーは、Autotest.mkをインストールするときに展開により作成された`template'ディレクトリーです。このディレクトリーに移動すると次の操作ができます。
++
++* Menu:
++
++* make group::
++* Template Files::
++
++\1f
++File: autotest_mk.info,  Node: make group,  Next: Template Files,  Prev: Template Dir,  Up: Template Dir
++
++4.1.1 `make'または`make group' グループの作成
++-------------------------------------------------------
++
++変数`GROUPDIR'で指定されたディレクトリーをテストグループディレクトリーとして作成し、必要な次のファイルをコピーします。
++
++\1f
++File: autotest_mk.info,  Node: Template Files,  Prev: make group,  Up: Template Dir
++
++4.1.2 テンプレートのファイル
++---------------------------------------
++
++\1f
++File: autotest_mk.info,  Node: Group Dir,  Next: Test Dir,  Prev: Template Dir,  Up: Manual
++
++4.2 グループディレクトリー
++=====================================
++
++* Menu:
++
++* make create::
++* Rename::
++* Delete::
++* make check at group::
++* make checkall::
++* make clean at group::
++* make time at group::
++* make cleantime at group::
++* Group Files::
++
++\1f
++File: autotest_mk.info,  Node: make create,  Next: Rename,  Prev: Group Dir,  Up: Group Dir
++
++4.2.1 `make create' テストの作成
++--------------------------------------
++
++\1f
++File: autotest_mk.info,  Node: Rename,  Next: Delete,  Prev: make create,  Up: Group Dir
++
++4.2.2 テスト名の変更
++---------------------------
++
++\1f
++File: autotest_mk.info,  Node: Delete,  Next: make check at group,  Prev: Rename,  Up: Group Dir
++
++4.2.3 テストの削除
++------------------------
++
++\1f
++File: autotest_mk.info,  Node: make check at group,  Next: make checkall,  Prev: Delete,  Up: Group Dir
++
++4.2.4 `make'または`make check' グループ内にあるすべてのテストの実行
++----------------------------------------------------------------------------------------
++
++\1f
++File: autotest_mk.info,  Node: make checkall,  Next: make clean at group,  Prev: make check at group,  Up: Group Dir
++
++4.2.5 `make checkall' グループ内にあるすべてのテストの実行、計時
++-------------------------------------------------------------------------------------
++
++\1f
++File: autotest_mk.info,  Node: make clean at group,  Next: make time at group,  Prev: make checkall,  Up: Group Dir
++
++4.2.6 `make clean' グループ内にあるすべてのテストで、実行結果をクリア
++----------------------------------------------------------------------------------------------
++
++\1f
++File: autotest_mk.info,  Node: make time at group,  Next: make cleantime at group,  Prev: make clean at group,  Up: Group Dir
++
++4.2.7 `make time' グループ内にあるすべてのテストを計時
++------------------------------------------------------------------------
++
++\1f
++File: autotest_mk.info,  Node: make cleantime at group,  Next: Group Files,  Prev: make time at group,  Up: Group Dir
++
++4.2.8 `make cleantime' グループ内にあるすべてのテストで、計時結果をクリア
++--------------------------------------------------------------------------------------------------
++
++\1f
++File: autotest_mk.info,  Node: Group Files,  Prev: make cleantime at group,  Up: Group Dir
++
++4.2.9 グループのファイル
++---------------------------------
++
++\1f
++File: autotest_mk.info,  Node: Test Dir,  Prev: Group Dir,  Up: Manual
++
++4.3 テストディレクトリー
++==================================
++
++* Menu:
++
++* make set::
++* make reset::
++* make check at test::
++* make time at test::
++* make cleantime at test::
++* make clean at test::
++* make cleanall at test::
++* Test Files::
++
++\1f
++File: autotest_mk.info,  Node: make set,  Next: make reset,  Prev: Test Dir,  Up: Test Dir
++
++4.3.1 `make set' テスト想定の作成
++-----------------------------------------
++
++\1f
++File: autotest_mk.info,  Node: make reset,  Next: make check at test,  Prev: make set,  Up: Test Dir
++
++4.3.2 `make set' テスト想定の再作成
++--------------------------------------------
++
++\1f
++File: autotest_mk.info,  Node: make check at test,  Next: make time at test,  Prev: make reset,  Up: Test Dir
++
++4.3.3 `make'または`make check' テストの実行
++----------------------------------------------------
++
++\1f
++File: autotest_mk.info,  Node: make time at test,  Next: make cleantime at test,  Prev: make check at test,  Up: Test Dir
++
++4.3.4 `make time' テストの計時
++------------------------------------
++
++\1f
++File: autotest_mk.info,  Node: make cleantime at test,  Next: make clean at test,  Prev: make time at test,  Up: Test Dir
++
++4.3.5 `make cleantime' テスト計時結果のクリア
++--------------------------------------------------------
++
++\1f
++File: autotest_mk.info,  Node: make clean at test,  Next: make cleanall at test,  Prev: make cleantime at test,  Up: Test Dir
++
++4.3.6 `make cleantime' テスト結果のクリア
++--------------------------------------------------
++
++\1f
++File: autotest_mk.info,  Node: make cleanall at test,  Next: Test Files,  Prev: make clean at test,  Up: Test Dir
++
++4.3.7 `make cleanall' テストの想定と結果をクリア
++-------------------------------------------------------------
++
++\1f
++File: autotest_mk.info,  Node: Test Files,  Prev: make cleanall at test,  Up: Test Dir
++
++4.3.8 テストのファイル
++------------------------------
++
++
++\1f
++Tag Table:
++Node: Top\7f208
++Node: About\7f512
++Node: Install\7f1677
++Node: Download\7f2082
++Node: Verify\7f2511
++Node: Expand\7f2919
++Node: Tutorial\7f3461
++Node: Preapre\7f4120
++Node: Create Group\7f4476
++Node: Create Test\7f5205
++Node: Edit cmd\7f5393
++Node: Test Set\7f5589
++Node: Test Execute\7f5774
++Node: Manual\7f5936
++Node: Template Dir\7f6117
++Node: make group\7f6582
++Node: Template Files\7f6977
++Node: Group Dir\7f7145
++Node: make create\7f7498
++Node: Rename\7f7672
++Node: Delete\7f7821
++Node: make check at group\7f7972
++Node: make checkall\7f8258
++Node: make clean at group\7f8551
++Node: make time at group\7f8861
++Node: make cleantime at group\7f9137
++Node: Group Files\7f9457
++Node: Test Dir\7f9620
++Node: make set\7f9939
++Node: make reset\7f10118
++Node: make check at test\7f10313
++Node: make time at test\7f10533
++Node: make cleantime at test\7f10733
++Node: make clean at test\7f10973
++Node: make cleanall at test\7f11205
++Node: Test Files\7f11447
++\1f
++End Tag Table
++
++\1f
++Local Variables:
++coding: utf-8
++End:
index 0000000,0000000..1b24f8a
new file mode 100644 (file)
Binary files differ
index 0000000,0000000..6b7afd3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,326 @@@
++\input texinfo   @c -*-texinfo-*-
++@c %**start of header
++@ifnottex
++@documentlanguage ja_JP
++@end ifnottex
++@setfilename autotest_mk.info
++@documentencoding UTF-8
++@settitle autotest_mk - Linux上のCASL II処理系
++@firstparagraphindent none
++@paragraphindent 1
++@c %**end of header
++
++@copying
++Copyright @copyright{} 2010 j8takagi
++@end copying
++
++@exampleindent 2
++
++@dircategory Basics
++@direntry
++* Autotest.mk: (autotest_mk).
++@end direntry
++
++@titlepage
++@title Autotest.mk
++@subtitle GNU Makeを利用したテスト自動化ツール
++@author j8takagi
++@insertcopying
++@end titlepage
++
++@ifnottex
++@node Top, About, (dir), (dir)
++@end ifnottex
++
++@menu
++* About::
++* Install::
++* Tutorial::
++* Manual::
++
++@detailmenu
++ --- The Detailed Node Listing ---
++
++Autotest.mkのインストール
++
++* Download::
++* Verify::
++* Expand::
++
++Autotest.mkチュートリアル
++
++* Preapre::                     
++* Create Group::                
++
++@end detailmenu
++@end menu
++
++@contents
++
++@node About, Install, Top, Top
++@chapter Autotest.mkの概要
++
++Autotest.mkは、GNU Makeを利用したテスト自動化ツールです。何回か@kbd{make}コマンドを実行し、プログラムのテスト結果を表す実行ファイルを作成すれば、テストの準備は完了です。あとは@kbd{make}コマンドを1回実行すれば、いつでもテストを実行できます。テストの実行結果は、ログに出力されます。
++
++Autotest.mkでは、次の3つの概念を使います。
++
++@table @option
++@item テンプレート
++テストグループとテストのテンプレートです。
++
++@item テストグループ
++複数のテストを含むグループです。
++
++@item テスト
++テスト個々の内容と結果を表します。
++@end table
++
++@unnumberedsec 要件
++Autotest.mkは、LinuxやMac OS Xなどで動作します。現在動作を確認しているのは、次のディストリビューションです。
++
++@itemize @bullet
++
++@item
++Ubuntu Linux 10.10
++
++@item
++Mac OS X バージョン 10.6.5
++@end itemize
++
++Mac OS Xでは、@uref{http://www.gnu.org/software/findutils/, GNU Findutils}をインストールしてください。
++
++@node Install, Tutorial, About, Top
++@chapter Autotest.mkのインストール
++
++@menu
++* Download::
++* Verify::
++* Expand::
++@end menu
++
++Autotest.mkをインストールするには、次の作業をします。
++
++
++@enumerate
++@item
++Autotest.mkファイルのダウンロード
++
++@item
++Autotest.mkファイルの検証
++
++@item
++Autotest.mkファイルの展開
++@end enumerate
++
++@node Download, Verify, Install, Install
++@section ダウンロード
++
++@uref{http://github.com/j8takagi/autotest_mk, GitHub/j8takagi/autotest_mk}の@uref{http://github.com/j8takagi/autotest_mk/downloads, ダウンロードページ}から最新版のtgzファイルをダウンロードします。
++
++続けて、対応する@file{md5sum}フィルをダウンロードします。
++
++@node Verify, Expand, Download, Install
++@section ファイルの検証
++
++ダウンロードが完了したら、@kbd{md5sum}と@kbd{diff}で正しくファイルがダウンロードができているかを検証します。
++
++@example
++$ @kbd{md5sum autotest_mk.tar.gz | diff -s autotest_mk.tar.gz.md5sum -}
++Files autotest_mk.tar.gz.md5sum and - are identical
++@end example
++
++@node Expand,  , Verify, Install
++@section ファイルの展開
++
++@file{autotest_mk}ファイルをダウンロードしたら、次のコマンドで展開します。
++
++@example
++$ @kbd{tar xvzf autotest_mk.tar.gz}
++@end example
++
++展開したら、Autotest.mkは使える状態です。多くのプログラムをインストールするときに必要なコンパイルやビルド、システムディレクトリーへのインストール(@kbd{./configure}や@kbd{make}、@kbd{make install})は必要ありません。
++
++@node Tutorial, Manual, Install, Top
++@chapter Autotest.mkチュートリアル
++
++Autotest.mkを使ったテストの手順は、次のとおりです。
++
++@enumerate
++@item
++グループディレクトリーの作成
++
++@item
++テストディレクトリーの作成
++
++@item
++テスト用コマンドファイルの作成
++
++@item
++テスト想定結果の作成と検証
++
++@item
++テストの実行とログの確認
++@end enumerate
++
++ここでは、簡易電卓プログラムcalcをテストする手順を取り上げます。
++
++@menu
++* Preapre::                     
++* Create Group::                
++* Create Test::                 
++* Edit cmd::                    
++* Test Set::                    
++* Test Execute::                
++@end menu
++
++@node Preapre, Create Group, Tutorial, Tutorial
++@section サンプルプログラムの準備
++
++まず、Autotest.mkのパッケージに含まれている@file{sample/calc}を任意のフォルダーへコピーします。
++
++@example
++$ @kbd{cd ~/autotest.mk}
++$ @kbd{cp ~r ~/sample/calc ~/calc}
++@end example
++
++@node Create Group
++@section グループディレクトリーの作成
++
++テンプレートディレクトリーで、@kbd{make}を実行します。このとき、テストグループのディレクトリーを変数@code{GROUPDIR}で指定します。
++
++指定したディレクトリーが作成されます。
++
++@example
++$ @kbd{cd ~/autotest.mk/template}
++$ @kbd{make GROUPDIR=~/calc/calc_test}
++@end example
++
++次のコマンドでグループディレクトリーに移動し、その中を確認します。
++
++テストを実行するためのMakefileが作成されます。
++
++@example
++$ @kbd{cd ~/autotest.mk/template}
++$ @kbd{make GROUPDIR=~/calc/calc_test}
++@end example
++
++@node Create Test, Edit cmd, Create Group, Tutorial
++@section テストディレクトリーの作成
++
++@node Edit cmd, Test Set, Create Test, Tutorial
++@section テスト用コマンドファイルの作成
++
++@node Test Set, Test Execute, Edit cmd, Tutorial
++@section テスト想定結果の作成と検証
++
++@node Test Execute,  , Test Set, Tutorial
++@section テストの実行とログの確認
++
++@node Manual,  , Tutorial, Top
++@chapter Autotest.mkマニュアル
++
++@menu
++* Template Dir::                
++* Group Dir::                   
++* Test Dir::                    
++@end menu
++
++@node Template Dir, Group Dir, Manual, Manual
++@section テンプレートディレクトリー
++
++テンプレートディレクトリーは、Autotest.mkをインストールするときに展開により作成された@code{template}ディレクトリーです。このディレクトリーに移動すると次の操作ができます。
++
++@menu
++* make group::                  
++* Template Files::              
++@end menu
++
++@node make group, Template Files, Template Dir, Template Dir
++@subsection @kbd{make}または@kbd{make group} グループの作成
++
++変数@code{GROUPDIR}で指定されたディレクトリーをテストグループディレクトリーとして作成し、必要な次のファイルをコピーします。
++
++@node Template Files,  , make group, Template Dir
++@subsection テンプレートのファイル
++
++@node Group Dir, Test Dir, Template Dir, Manual
++@section グループディレクトリー
++
++@menu
++* make create::                 
++* Rename::                      
++* Delete::                      
++* make check at group::         
++* make checkall::               
++* make clean at group::         
++* make time at group::          
++* make cleantime at group::     
++* Group Files::                 
++@end menu
++
++@node make create, Rename, Group Dir, Group Dir
++@subsection @kbd{make create} テストの作成
++
++@node Rename, Delete, make create, Group Dir
++@subsection テスト名の変更
++
++@node Delete, make check at group, Rename, Group Dir
++@subsection テストの削除
++
++@node make check at group, make checkall, Delete, Group Dir
++@subsection @kbd{make}または@kbd{make check} グループ内にあるすべてのテストの実行
++
++@node make checkall, make clean at group, make check at group, Group Dir
++@subsection @kbd{make checkall} グループ内にあるすべてのテストの実行、計時
++
++@node make clean at group, make time at group, make checkall, Group Dir
++@subsection @kbd{make clean} グループ内にあるすべてのテストで、実行結果をクリア
++
++@node make time at group, make cleantime at group, make clean at group, Group Dir
++@subsection @kbd{make time} グループ内にあるすべてのテストを計時
++
++@node make cleantime at group, Group Files, make time at group, Group Dir
++@subsection @kbd{make cleantime} グループ内にあるすべてのテストで、計時結果をクリア
++
++@node Group Files,  , make cleantime at group, Group Dir
++@subsection グループのファイル
++
++@node Test Dir,  , Group Dir, Manual
++@section テストディレクトリー
++
++@menu
++* make set::                    
++* make reset::                  
++* make check at test::          
++* make time at test::           
++* make cleantime at test::      
++* make clean at test::          
++* make cleanall at test::       
++* Test Files::                  
++@end menu
++
++@node make set, make reset, Test Dir, Test Dir
++@subsection @kbd{make set} テスト想定の作成
++
++@node make reset, make check at test, make set, Test Dir
++@subsection @kbd{make set} テスト想定の再作成
++
++@node make check at test, make time at test, make reset, Test Dir
++@subsection @kbd{make}または@kbd{make check} テストの実行
++
++@node make time at test, make cleantime at test, make check at test, Test Dir
++@subsection @kbd{make time} テストの計時
++
++@node make cleantime at test, make clean at test, make time at test, Test Dir
++@subsection @kbd{make cleantime} テスト計時結果のクリア
++
++@node make clean at test, make cleanall at test, make cleantime at test, Test Dir
++@subsection @kbd{make cleantime} テスト結果のクリア
++
++@node make cleanall at test, Test Files, make clean at test, Test Dir
++@subsection @kbd{make cleanall} テストの想定と結果をクリア
++
++@node Test Files,, make cleanall at test, Test Dir
++@subsection テストのファイル
++
++@bye
diff --cc doc/style.css
index 0000000,0000000..82ecca8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,81 @@@
++body {
++    margin-left: 6em;
++    margin-right: 12em;
++    color: black;
++    background-color: #EEE;
++}
++
++h1, h2 {
++    margin-left: -2em;
++}
++
++.node{
++    margin-left: -3em;
++}
++
++h2 {
++    padding: 0.25em;
++    color: white;
++    background-color: navy;
++}
++
++h3, h4 {
++    color: navy;
++    margin-left: -1em;
++}
++
++p {
++    line-height: 1.5em;
++    margin-top: 0;
++    margin-bottom: 0.5em;
++}
++
++a:hover {
++    color: red;
++    text-decoration: underline;
++}
++
++.command {
++    font-family: monospace;
++}
++
++table.cartouche {
++    width: 60%;
++}
++
++pre.example {
++    padding: 0.5em 1em 0.5em 1em;
++    color: #CCC;
++    background: black;
++    font-size: 90%;
++}
++
++a {
++    text-decoration: none;
++}
++
++blockquote.p {
++    margin-top:0;
++    padding-top:0;
++    line-height: 100%;
++}
++
++table, th, td {
++    border: 1px solid #CCC;
++    border-collapse: collapse; /* 枠線の表示方法 */
++}
++
++table.cartouche, table.cartouche th, table.cartouche td  {
++    border: none;
++}
++
++pre.example .command, pre.example .option {
++    font-weight: bold;
++    background-color: inherit;
++    color: white;
++}
++
++pre.example strong {
++    font: inherit;
++    border: 2px solid green;
++}
index 0000000,0000000..b5d0813
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,39 @@@
++01_scalene/
++real 0.00
++
++02_equilateral/
++real 0.00
++
++03_isosceles/
++real 0.00
++
++04_isosceles_c/
++real 0.00
++
++05_zero/
++real 0.00
++
++06_minus/
++real 0.00
++
++07_line/
++real 0.00
++
++08_lines/
++real 0.00
++
++09_less/
++real 0.00
++
++10_lesses/
++real 0.00
++
++11_zeroall/
++real 0.00
++
++12_notint/
++real 0.00
++
++13_argcnt/
++real 0.00
++
Simple merge
@@@ -18,9 -18,8 +18,8 @@@ ende
  # 引数は、テスト名、コマンドファイル、出力ファイル
  # 用例: $(call time_cmd,name,file_cmd,file_out)
  define time_cmd
-     $(call chk_file_notext,$2)
-     $(CHMOD) u+x $2
+     if test ! -x $2; then $(CHMOD) u+x $2; fi
 -    $(TIME) -f"$1: %E" -o $3 ./$2 >$(DEV_NULL) 2>&1
 +    { $(TIME) ./$2 >$(DEV_NULL) 2>&1; } 2>&1 | $(GREP) ^real >>$3
  endef
  
  # テスト実行コマンド。引数は、コマンドファイル、出力ファイル、エラーファイル
Simple merge
Simple merge