From: j8takagi <j8takagi@nifty.com> Date: Mon, 24 Jan 2011 03:30:21 +0000 (+0900) Subject: C言語sort関数テストのサンプルを追加し、ドキュメントのチュートリアルを追加 X-Git-Tag: 0.2p3~18 X-Git-Url: https://j8takagi.net/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6f08e4664ec3a35b294386c791b5139e205d813e;p=autotest_mk.git C言語sort関数テストのサンプルを追加し、ドキュメントのチュートリアルを追加 --- diff --git a/doc/Makefile b/doc/Makefile index dae315f..d2f7076 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,7 +1,7 @@ DOCNAME = autotest_mk SRC = $(DOCNAME).texi CSS = style.css -SAMPLETRIANGLE = sample_triangle +SAMPLES = sample_triangle sample_sort PTEX = ptex TEXINDEX = texindex @@ -21,7 +21,7 @@ info: $(DOCNAME).info html: $(SRC) $(CSS) sample_triangle @if test ! -s $@; then mkdir $@; fi; @cp $(CSS) $@/ - @cp -r $(SAMPLETRIANGLE) $@/ + @cp -r $(SAMPLETS) $@/ @$(MAKEINFO) -o $@ --html --css-ref=style.css $(SRC) pdf: $(DOCNAME).pdf diff --git a/doc/autotest_mk.html b/doc/autotest_mk.html index 2cec630..f2ddae1 100644 --- a/doc/autotest_mk.html +++ b/doc/autotest_mk.html @@ -133,10 +133,11 @@ Up: <a rel="up" accesskey="u" href="#dir">(dir)</a> <ul class="menu"> <li><a accesskey="1" href="#About">About</a>: Autotest.mk æ¦è¦ <li><a accesskey="2" href="#Install">Install</a>: Autotest.mk ã¤ã³ã¹ãã¼ã« -<li><a accesskey="3" href="#Tutorial">Tutorial</a>: Autotest.mk ãã¥ã¼ããªã¢ã« -<li><a accesskey="4" href="#Template-dir">Template dir</a>: ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã« -<li><a accesskey="5" href="#Group-dir">Group dir</a>: ã°ã«ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã« -<li><a accesskey="6" href="#Test-dir">Test dir</a>: ãã¹ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã« +<li><a accesskey="3" href="#Tutorial-triangle">Tutorial triangle</a>: Autotest.mk ãã¥ã¼ããªã¢ã«I - ä¸è§å½¢å¤å®ããã°ã©ã ã®ãã¹ã +<li><a accesskey="4" href="#Tutorial-sort">Tutorial sort</a>: Autotest.mk ãã¥ã¼ããªã¢ã«II - Cè¨èª<code>sort</code>é¢æ°ã®ãã¹ã +<li><a accesskey="5" href="#Template-dir">Template dir</a>: ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã« +<li><a accesskey="6" href="#Group-dir">Group dir</a>: ã°ã«ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã« +<li><a accesskey="7" href="#Test-dir">Test dir</a>: ãã¹ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã« </ul> @@ -155,114 +156,160 @@ Up: <a rel="up" accesskey="u" href="#dir">(dir)</a> <li><a href="#Expand">2.4 å±é</a> <li><a href="#Dir">2.5 ãã£ã¬ã¯ããªã¼</a> </li></ul> -<li><a name="toc_Tutorial" href="#Tutorial">3 Autotest.mk ãã¥ã¼ããªã¢ã« - ä¸è§å½¢å¤å®ããã°ã©ã ã®ãã¹ã</a> +<li><a name="toc_Tutorial-triangle" href="#Tutorial-triangle">3 Autotest.mk ãã¥ã¼ããªã¢ã«I - ä¸è§å½¢å¤å®ããã°ã©ã ã®ãã¹ã</a> <ul> -<li><a href="#Tutorial-About">æ¦è¦</a> -<li><a href="#Prepare">æºå</a> +<li><a href="#Tutorial-triangle-About">æ¦è¦</a> +<li><a href="#Prepare-triangle">æºå</a> <ul> -<li><a href="#Prepare">ä½æ¥ç¨ãã©ã«ãã®ä½æ</a> -<li><a href="#Prepare">ä¸è§å½¢å¤å®ããã°ã©ã ã®ãã«ã</a> -<li><a href="#Prepare">ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®ãã«ã</a> +<li><a href="#Prepare-triangle">ä½æ¥ç¨ãã©ã«ãã®ä½æ</a> +<li><a href="#Prepare-triangle">ä¸è§å½¢å¤å®ããã°ã©ã ã®ãã«ã</a> +<li><a href="#Prepare-triangle">ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®ãã«ã</a> </li></ul> -<li><a href="#Create-Group">3.1 ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ</a> -<li><a href="#Create-Test">3.2 ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ</a> -<li><a href="#Edit-desc">3.3 ãã¹ã説æãã¡ã¤ã«ã®ä½æ</a> -<li><a href="#Edit-cmd">3.4 ãã¹ãã³ãã³ããã¡ã¤ã«ã®ä½æ</a> -<li><a href="#Test-Setting">3.5 ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ</a> +<li><a href="#Create-triangle-group">3.1 ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ</a> +<li><a href="#Create-triangle-test">3.2 ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ</a> +<li><a href="#Edit-triangle-desc">3.3 ãã¹ã説æãã¡ã¤ã«ã®ä½æ</a> +<li><a href="#Edit-triangle-cmd">3.4 ãã¹ãã³ãã³ããã¡ã¤ã«ã®ä½æ</a> +<li><a href="#Set-triangle-test">3.5 ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ</a> <ul> -<li><a href="#Test-Setting">3.5.1 æåã§ä½æ</a> -<li><a href="#Test-Setting">3.5.2 <kbd>make set</kbd></a> -<li><a href="#Test-Setting">3.5.3 <kbd>make reset</kbd></a> +<li><a href="#Set-triangle-test">3.5.1 æåã§ä½æ</a> +<li><a href="#Set-triangle-test">3.5.2 <kbd>make set</kbd></a> +<li><a href="#Set-triangle-test">3.5.3 <kbd>make reset</kbd></a> </li></ul> -<li><a href="#Test-Execute">3.6 ãã¹ãã®å®è¡</a> +<li><a href="#Execute-triangle-test">3.6 ãã¹ãã®å®è¡</a> <ul> -<li><a href="#Test-Execute">ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®å ´å</a> +<li><a href="#Execute-triangle-test">ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®å ´å</a> </li></ul> -<li><a href="#Check-Test-Log">3.7 ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª</a> +<li><a href="#Check-triangle-log">3.7 ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª</a> <ul> -<li><a href="#Check-Test-Log">ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®å ´å</a> -<li><a href="#Check-Test-Log">3.7.1 ãã¹ãã®ã¯ãªã¢</a> +<li><a href="#Check-triangle-log">ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®å ´å</a> +<li><a href="#Check-triangle-log">3.7.1 ãã¹ãã®ã¯ãªã¢</a> </li></ul> -<li><a href="#Group-Execute">3.8 ãã¹ãã°ã«ã¼ãã®å®è¡</a> +<li><a href="#Execute-triangle-group">3.8 ãã¹ãã°ã«ã¼ãã®å®è¡</a> <ul> -<li><a href="#Group-Execute">ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®å ´å</a> +<li><a href="#Execute-triangle-group">ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®å ´å</a> </li></ul> -<li><a href="#Check-Group-Log">3.9 ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª</a> +<li><a href="#Check-triangle-group-log">3.9 ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª</a> <ul> -<li><a href="#Check-Group-Log">ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®å ´å</a> +<li><a href="#Check-triangle-group-log">ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®å ´å</a> </li></ul> -<li><a href="#Associate">3.10 ãã«ãã¨ã®é£æº</a> +<li><a href="#Associate-triangle">3.10 ãã«ãã¨ã®é£æº</a> </li></ul> -<li><a name="toc_Template-dir" href="#Template-dir">4 ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã«</a> +<li><a name="toc_Tutorial-sort" href="#Tutorial-sort">4 Autotest.mk ãã¥ã¼ããªã¢ã«II - Cè¨èª<code>sort</code>é¢æ°ã®ãã¹ã</a> <ul> -<li><a href="#make-group">4.1 <kbd>make</kbd>ã¾ãã¯<kbd>make group</kbd> - ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ</a> +<li><a href="#Tutorial-sort-About">æ¦è¦</a> +<li><a href="#Prepare-sort">æºå</a> <ul> -<li><a href="#make-group">4.1.1 å¤æ°</a> +<li><a href="#Prepare-sort">ä½æ¥ç¨ãã©ã«ãã®ä½æ</a> +<li><a href="#Prepare-sort"><code>sort</code>é¢æ°ãã¡ã¤ã«ã®æºå</a> +<li><a href="#Prepare-sort">ãã°ãå«ã<code>sort</code>é¢æ°ãã¡ã¤ã«ã®æºå</a> +</li></ul> +<li><a href="#Create-sort-group">4.1 ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ</a> +<li><a href="#Create-sort-test">4.2 ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ</a> +<li><a href="#Create-sort-src">4.3 é¢æ°ãã¹ãç¨ããã°ã©ã ã®ã½ã¼ã¹ä½æ</a> +<li><a href="#Edit-sort-Makefile">4.4 <samp><span class="file">Makefile</span></samp>ã®ç·¨é</a> +<li><a href="#Edit-sort-desc">4.5 ãã¹ã説æãã¡ã¤ã«ã®ä½æ</a> +<li><a href="#Set-sort-test">4.6 ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ</a> +<ul> +<li><a href="#Set-sort-test">4.6.1 æåã§ä½æ</a> +<li><a href="#Set-sort-test">4.6.2 <kbd>make set</kbd></a> +<li><a href="#Set-sort-test">4.6.3 <kbd>make reset</kbd></a> +</li></ul> +<li><a href="#Execute-sort-test">4.7 ãã¹ãã®å®è¡</a> +<ul> +<li><a href="#Execute-sort-test">ãã°ãå«ã<code>sort</code>é¢æ°ã®å ´å</a> +</li></ul> +<li><a href="#Check-sort-log">4.8 ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª</a> +<ul> +<li><a href="#Check-sort-log">ãã°ãå«ã<code>sort</code>é¢æ°ã®å ´å</a> +<li><a href="#Check-sort-log">4.8.1 ãã¹ãã®ã¯ãªã¢</a> +</li></ul> +<li><a href="#Execute-sort-group">4.9 ãã¹ãã°ã«ã¼ãã®å®è¡</a> +<ul> +<li><a href="#Execute-sort-group">ãã°ãå«ã<code>sort</code>é¢æ°ã®å ´å</a> +</li></ul> +<li><a href="#Check-sort-group-log">4.10 ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª</a> +<ul> +<li><a href="#Check-sort-group-log">ãã°ãå«ã<code>sort</code>é¢æ°ã®å ´å</a> +</li></ul> +<li><a href="#Iteretive">4.11 éçºã¨ãã¹ãã®å復</a> +</li></ul> +<li><a name="toc_Template-dir" href="#Template-dir">5 ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã«</a> +<ul> +<li><a href="#make-group">5.1 <kbd>make</kbd>ã¾ãã¯<kbd>make group</kbd> - ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ</a> +<ul> +<li><a href="#make-group">5.1.1 å¤æ°</a> <li><a href="#make-group">使ç¨ä¾</a> </li></ul> -<li><a href="#Template-Files">4.2 ãã³ãã¬ã¼ãã®ãã¡ã¤ã«</a> +<li><a href="#Template-files">5.2 ãã³ãã¬ã¼ãã®ãã¡ã¤ã«</a> </li></ul> -<li><a name="toc_Group-dir" href="#Group-dir">5 ã°ã«ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã«</a> +<li><a name="toc_Group-dir" href="#Group-dir">6 ã°ã«ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã«</a> <ul> -<li><a href="#make-create">5.1 <kbd>make create</kbd> - ãã¹ãã®ä½æ</a> +<li><a href="#make-create">6.1 <kbd>make create</kbd> - ãã¹ãã®ä½æ</a> <ul> +<li><a href="#make-create">6.1.1 å¤æ°</a> <li><a href="#make-create">使ç¨ä¾</a> </li></ul> -<li><a href="#Rename-and-Copy">5.2 ãã¹ãåã®å¤æ´ã¨ã³ãã¼</a> +<li><a href="#Rename-and-Copy">6.2 ãã¹ãåã®å¤æ´ã¨ã³ãã¼</a> <ul> <li><a href="#Rename-and-Copy">使ç¨ä¾</a> </li></ul> -<li><a href="#Delete">5.3 ãã¹ãã®åé¤</a> +<li><a href="#Delete">6.3 ãã¹ãã®åé¤</a> <ul> <li><a href="#Delete">使ç¨ä¾</a> </li></ul> -<li><a href="#make-check-at-group">5.4 <kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd> - ãã¹ãã°ã«ã¼ãã®å®è¡</a> +<li><a href="#make-check-at-group">6.4 <kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd> - ãã¹ãã°ã«ã¼ãã®å®è¡</a> <ul> <li><a href="#make-check-at-group">使ç¨ä¾</a> </li></ul> -<li><a href="#make-checkall">5.5 <kbd>make checkall</kbd> - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ãã®å®è¡ãè¨æ</a> +<li><a href="#make-checkall">6.5 <kbd>make checkall</kbd> - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ãã®å®è¡ãè¨æ</a> <ul> <li><a href="#make-checkall">使ç¨ä¾</a> </li></ul> -<li><a href="#make-clean-at-group">5.6 <kbd>make clean</kbd> - ã°ã«ã¼ãã®å®è¡çµæãã¯ãªã¢</a> +<li><a href="#make-clean-at-group">6.6 <kbd>make clean</kbd> - ã°ã«ã¼ãã®å®è¡çµæãã¯ãªã¢</a> <ul> <li><a href="#make-clean-at-group">使ç¨ä¾</a> </li></ul> -<li><a href="#make-time-at-group">5.7 <kbd>make time</kbd> - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ããè¨æ</a> +<li><a href="#make-time-at-group">6.7 <kbd>make time</kbd> - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ããè¨æ</a> <ul> <li><a href="#make-time-at-group">使ç¨ä¾</a> </li></ul> -<li><a href="#make-cleantime-at-group">5.8 <kbd>make cleantime</kbd> - ã°ã«ã¼ãã®è¨æçµæãã¯ãªã¢</a> -<li><a href="#Group-Files">5.9 ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã«</a> +<li><a href="#make-cleantime-at-group">6.8 <kbd>make cleantime</kbd> - ã°ã«ã¼ãã®è¨æçµæãã¯ãªã¢</a> +<ul> +<li><a href="#make-cleantime-at-group">使ç¨ä¾</a> +</li></ul> +<li><a href="#Group-files">6.9 ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã«</a> </li></ul> -<li><a name="toc_Test-dir" href="#Test-dir">6 ãã¹ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã«</a> +<li><a name="toc_Test-dir" href="#Test-dir">7 ãã¹ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã«</a> <ul> -<li><a href="#make-set">6.1 <kbd>make set</kbd> - ãã¹ãæ³å®ã®ä½æ</a> +<li><a href="#make-set">7.1 <kbd>make set</kbd> - ãã¹ãæ³å®ã®ä½æ</a> <ul> <li><a href="#make-set">使ç¨ä¾</a> </li></ul> -<li><a href="#make-reset">6.2 <kbd>make reset</kbd> - ãã¹ãæ³å®ã®ä½æã¾ãã¯æ´æ°</a> +<li><a href="#make-reset">7.2 <kbd>make reset</kbd> - ãã¹ãæ³å®ã®ä½æã¾ãã¯æ´æ°</a> <ul> <li><a href="#make-reset">使ç¨ä¾</a> </li></ul> -<li><a href="#make-check-at-test">6.3 <kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd> - ãã¹ãã®å®è¡</a> +<li><a href="#make-check-at-test">7.3 <kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd> - ãã¹ãã®å®è¡</a> <ul> <li><a href="#make-check-at-test">使ç¨ä¾</a> </li></ul> -<li><a href="#make-clean-at-test">6.4 <kbd>make clean</kbd> - ãã¹ãçµæã®ã¯ãªã¢</a> +<li><a href="#make-clean-at-test">7.4 <kbd>make clean</kbd> - ãã¹ãçµæã®ã¯ãªã¢</a> <ul> <li><a href="#make-clean-at-test">使ç¨ä¾</a> </li></ul> -<li><a href="#make-cleanall-at-test">6.5 <kbd>make cleanall</kbd> - ãã¹ãã®æ³å®ã¨çµæãã¯ãªã¢</a> +<li><a href="#make-cleanall-at-test">7.5 <kbd>make cleanall</kbd> - ãã¹ãã®æ³å®ã¨çµæãã¯ãªã¢</a> <ul> <li><a href="#make-cleanall-at-test">使ç¨ä¾</a> </li></ul> -<li><a href="#make-time-at-test">6.6 <kbd>make time</kbd> - ãã¹ãã®è¨æ</a> +<li><a href="#make-time-at-test">7.6 <kbd>make time</kbd> - ãã¹ãã®è¨æ</a> <ul> <li><a href="#make-time-at-test">使ç¨ä¾</a> </li></ul> -<li><a href="#make-cleantime-at-test">6.7 <kbd>make cleantime</kbd> - ãã¹ãè¨æçµæã®ã¯ãªã¢</a> -<li><a href="#Test-Files">6.8 ãã¹ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã«</a> +<li><a href="#make-cleantime-at-test">7.7 <kbd>make cleantime</kbd> - ãã¹ãè¨æçµæã®ã¯ãªã¢</a> +<ul> +<li><a href="#make-cleantime-at-test">使ç¨ä¾</a> +</li></ul> +<li><a href="#Test-files">7.8 ãã¹ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã«</a> </li></ul> </li></ul> </div> @@ -278,11 +325,11 @@ Up: <a rel="up" accesskey="u" href="#Top">Top</a> <h2 class="chapter">1 Autotest.mk æ¦è¦</h2> -<p>Autotest.mkã¯ãGNU Makeãå©ç¨ããã½ããã¦ã§ã¢ãã¹ãèªååãã¼ã«ã§ããä½åã<kbd>make</kbd>ã³ãã³ããå®è¡ããã³ãã³ããã¡ã¤ã«ã¨ãã¹ãçµæã®æ³å®ããããããã¡ã¤ã«ãä½æããã°ããã¹ãã®æºåã¯å®äºã§ãããã¨ã¯<kbd>make</kbd>ã³ãã³ãã1åå®è¡ããã°ããã¹ããå®è¡ã§ãã¾ãããã¹ããå®è¡ãããã¨ã詳細ãªãã°ãåºåããã¾ãã + <p>Autotest.mkã¯ãGNU Makeãå©ç¨ããã½ããã¦ã§ã¢ãã¹ãèªååãã¼ã«ã§ããä½åã<kbd>make</kbd>ã³ãã³ããå®è¡ããã³ãã³ããã¡ã¤ã«ã¨ãã¹ãçµæã®æ³å®ããããããã¡ã¤ã«ãä½æããã°ããã¹ãã®æºåã¯å®äºã§ãããã¨ã¯<kbd>make</kbd>ã³ãã³ãã1åå®è¡ããã°ããã¹ããå®è¡ã§ãã¾ãããã¹ããå®è¡ãããã¨ã詳細ãªãã°ãåºåããã¾ãã <h3 class="section">1.1 ç¹å¾´</h3> -<p>Autotest.mkã®ç¹å¾´ã¯æ¬¡ã®ã¨ããã§ãã + <p>Autotest.mkã®ç¹å¾´ã¯æ¬¡ã®ã¨ããã§ãã <ul> <li>使ãæ¹ãã·ã³ãã« @@ -297,7 +344,7 @@ Up: <a rel="up" accesskey="u" href="#Top">Top</a> <div class="node"> <a name="Install"></a> <p><hr> -Next: <a rel="next" accesskey="n" href="#Tutorial">Tutorial</a>, +Next: <a rel="next" accesskey="n" href="#Tutorial-triangle">Tutorial triangle</a>, Previous: <a rel="previous" accesskey="p" href="#About">About</a>, Up: <a rel="up" accesskey="u" href="#Top">Top</a> @@ -324,7 +371,7 @@ Up: <a rel="up" accesskey="u" href="#Install">Install</a> <h3 class="section">2.1 è¦ä»¶</h3> -<p>Autotest.mkã¯ãLinuxãMac OS Xãªã©ã§åä½ãã¾ããç¾å¨åä½ã確èªãã¦ããã®ã¯ã次ã®ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã§ãã + <p>Autotest.mkã¯ãLinuxãMac OS Xãªã©ã§åä½ãã¾ããç¾å¨åä½ã確èªãã¦ããã®ã¯ã次ã®ãã£ã¹ããªãã¥ã¼ã·ã§ã³ã§ãã <ul> <li>Ubuntu Linux 10.10 @@ -345,7 +392,7 @@ Up: <a rel="up" accesskey="u" href="#Install">Install</a> <h3 class="section">2.2 ãã¦ã³ãã¼ã</h3> -<p><a href="http://www.j8takagi.net/autotest_mk/">Autotest_mkã®ãµã¤ã</a>ã¾ãã¯<a href="http://github.com/j8takagi/Autotest.mk/downloads/">githubã®ãã¦ã³ãã¼ããã¼ã¸</a>ããææ°çã®<samp><span class="file">tar.gz</span></samp>ãã¡ã¤ã«ããã¦ã³ãã¼ããã¾ãã + <p><a href="http://www.j8takagi.net/autotest_mk/">Autotest_mkã®ãµã¤ã</a>ã¾ãã¯<a href="http://github.com/j8takagi/Autotest.mk/downloads/">githubã®ãã¦ã³ãã¼ããã¼ã¸</a>ããææ°çã®<samp><span class="file">tar.gz</span></samp>ãã¡ã¤ã«ããã¦ã³ãã¼ããã¾ãã <div class="node"> <a name="Verify"></a> @@ -358,10 +405,10 @@ Up: <a rel="up" accesskey="u" href="#Install">Install</a> <h3 class="section">2.3 æ¤è¨¼</h3> -<p>ãã¦ã³ãã¼ããå®äºãããã<kbd>openssl</kbd>ã¨<kbd>diff</kbd>ã§æ£ãããã¡ã¤ã«ããã¦ã³ãã¼ããã§ãã¦ããããæ¤è¨¼ãã¾ãã + <p>ãã¦ã³ãã¼ããå®äºãããã<kbd>openssl</kbd>ã¨<kbd>diff</kbd>ã§æ£ãããã¡ã¤ã«ããã¦ã³ãã¼ããã§ãã¦ããããæ¤è¨¼ãã¾ãã -<pre class="example"> $ <kbd>openssl md5 autotest_mk.tar.gz | diff -s autotest_mk.tar.gz.md5sum -</kbd> - Files autotest_mk.tar.gz.md5sum and - are identical +<pre class="example">$ <kbd>openssl md5 autotest_mk.tar.gz | diff -s autotest_mk.tar.gz.md5sum -</kbd> +Files autotest_mk.tar.gz.md5sum and - are identical </pre> <div class="node"> <a name="Expand"></a> @@ -374,11 +421,11 @@ Up: <a rel="up" accesskey="u" href="#Install">Install</a> <h3 class="section">2.4 å±é</h3> -<p><samp><span class="file">autotest_mk</span></samp>ãã¡ã¤ã«ããã¦ã³ãã¼ãããããå±éå ã®ãã£ã¬ã¯ããªã¼ã«ç§»åãã¦ãããå±éãã¾ãã + <p><samp><span class="file">autotest_mk</span></samp>ãã¡ã¤ã«ããã¦ã³ãã¼ãããããå±éå ã®ãã£ã¬ã¯ããªã¼ã«ç§»åãã¦ãããå±éãã¾ãã 次ã®ã³ãã³ãã§ã¯ãç¾å¨ãã°ã¤ã³ãã¦ããã¦ã¼ã¶ã¼ã®ãã¼ã ãã£ã¬ã¯ããªã¼ã«å±éãã¾ãã -<pre class="example"> $ <kbd>cd ~</kbd> - $ <kbd>tar xvzf autotest_mk.tar.gz</kbd> +<pre class="example">$ <kbd>cd ~</kbd> +$ <kbd>tar xvzf autotest_mk.tar.gz</kbd> </pre> <p>å±éããããAutotest.mkã¯ä½¿ããããã«ãªãã¾ããå¤ãã®ããã°ã©ã ãã¤ã³ã¹ãã¼ã«ããã¨ãã«å¿ è¦ãªã³ã³ãã¤ã«ããã«ããã·ã¹ãã ãã£ã¬ã¯ããªã¼ã¸ã®ã¤ã³ã¹ãã¼ã«ï¼<kbd>./configure</kbd>ã<kbd>make</kbd>ã<kbd>make install</kbd>ï¼ã¯å¿ è¦ããã¾ããã @@ -392,7 +439,7 @@ Up: <a rel="up" accesskey="u" href="#Install">Install</a> <h3 class="section">2.5 ãã£ã¬ã¯ããªã¼</h3> -<p>Autotest.mkã§ãã¹ããå®è¡ããã¨ãã¯ã次ã®3ã¤ã®ãã£ã¬ã¯ããªã¼ã使ãã¾ãã + <p>Autotest.mkã§ãã¹ããå®è¡ããã¨ãã¯ã次ã®3ã¤ã®ãã£ã¬ã¯ããªã¼ã使ãã¾ãã <dl> <dt><samp><span class="option">ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼</span></samp><dd>ãã¹ãã°ã«ã¼ãã¨ãã¹ãã®ãã³ãã¬ã¼ãã¨ãªããã£ã¬ã¯ããªã¼ @@ -403,43 +450,43 @@ Up: <a rel="up" accesskey="u" href="#Install">Install</a> </dl> <div class="node"> -<a name="Tutorial"></a> +<a name="Tutorial-triangle"></a> <p><hr> -Next: <a rel="next" accesskey="n" href="#Template-dir">Template dir</a>, +Next: <a rel="next" accesskey="n" href="#Tutorial-sort">Tutorial sort</a>, Previous: <a rel="previous" accesskey="p" href="#Install">Install</a>, Up: <a rel="up" accesskey="u" href="#Top">Top</a> </div> -<h2 class="chapter">3 Autotest.mk ãã¥ã¼ããªã¢ã« - ä¸è§å½¢å¤å®ããã°ã©ã ã®ãã¹ã</h2> +<h2 class="chapter">3 Autotest.mk ãã¥ã¼ããªã¢ã«I - ä¸è§å½¢å¤å®ããã°ã©ã ã®ãã¹ã</h2> <ul class="menu"> -<li><a accesskey="1" href="#Tutorial-About">Tutorial About</a>: æ¦è¦ -<li><a accesskey="2" href="#Prepare">Prepare</a>: æºå -<li><a accesskey="3" href="#Create-Group">Create Group</a>: ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ -<li><a accesskey="4" href="#Create-Test">Create Test</a>: ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ -<li><a accesskey="5" href="#Edit-desc">Edit desc</a>: ãã¹ã説æãã¡ã¤ã«ã®ä½æ -<li><a accesskey="6" href="#Edit-cmd">Edit cmd</a>: ãã¹ãã³ãã³ããã¡ã¤ã«ã®ä½æ -<li><a accesskey="7" href="#Test-Setting">Test Setting</a>: ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ -<li><a accesskey="8" href="#Test-Execute">Test Execute</a>: ãã¹ãã®å®è¡ -<li><a accesskey="9" href="#Check-Test-Log">Check Test Log</a>: ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª -<li><a href="#Group-Execute">Group Execute</a>: ãã¹ãã°ã«ã¼ãã®å®è¡ -<li><a href="#Check-Group-Log">Check Group Log</a>: ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª -<li><a href="#Associate">Associate</a>: ãã«ãã¨ã®é£æº +<li><a accesskey="1" href="#Tutorial-triangle-About">Tutorial triangle About</a>: æ¦è¦ +<li><a accesskey="2" href="#Prepare-triangle">Prepare triangle</a>: æºå +<li><a accesskey="3" href="#Create-triangle-group">Create triangle group</a>: ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ +<li><a accesskey="4" href="#Create-triangle-test">Create triangle test</a>: ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ +<li><a accesskey="5" href="#Edit-triangle-desc">Edit triangle desc</a>: ãã¹ã説æãã¡ã¤ã«ã®ä½æ +<li><a accesskey="6" href="#Edit-triangle-cmd">Edit triangle cmd</a>: ãã¹ãã³ãã³ããã¡ã¤ã«ã®ä½æ +<li><a accesskey="7" href="#Set-triangle-test">Set triangle test</a>: ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ +<li><a accesskey="8" href="#Execute-triangle-test">Execute triangle test</a>: ãã¹ãã®å®è¡ +<li><a accesskey="9" href="#Check-triangle-log">Check triangle log</a>: ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª +<li><a href="#Execute-triangle-group">Execute triangle group</a>: ãã¹ãã°ã«ã¼ãã®å®è¡ +<li><a href="#Check-triangle-group-log">Check triangle group log</a>: ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª +<li><a href="#Associate-triangle">Associate triangle</a>: ãã«ãã¨ã®é£æº </ul> <div class="node"> -<a name="Tutorial-About"></a> +<a name="Tutorial-triangle-About"></a> <p><hr> -Next: <a rel="next" accesskey="n" href="#Prepare">Prepare</a>, -Previous: <a rel="previous" accesskey="p" href="#Tutorial">Tutorial</a>, -Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> +Next: <a rel="next" accesskey="n" href="#Prepare-triangle">Prepare triangle</a>, +Previous: <a rel="previous" accesskey="p" href="#Tutorial-triangle">Tutorial triangle</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-triangle">Tutorial triangle</a> </div> <h3 class="unnumberedsec">æ¦è¦</h3> -<p>ããã§ã¯ãGlenford J Myersãã½ããã¦ã§ã¢ã»ãã¹ãã®ææ³ãï¼è¿ä»£ç§å¦ç¤¾ã1980ï¼ã®è¨è¼ãå ã«ããã次ã®ä»æ§ã®ä¸è§å½¢å¤å®ããã°ã©ã ããã¹ãããæé ãåãä¸ãã¾ã<a rel="footnote" href="#fn-1" name="fnd-1"><sup>1</sup></a>ã + <p>ããã§ã¯ãGlenford J Myersãã½ããã¦ã§ã¢ã»ãã¹ãã®ææ³ãï¼è¿ä»£ç§å¦ç¤¾ã1980ï¼ã®è¨è¼ãå ã«ããã次ã®ä»æ§ã®ä¸è§å½¢å¤å®ããã°ã©ã ããã¹ãããæé ãåãä¸ãã¾ã<a rel="footnote" href="#fn-1" name="fnd-1"><sup>1</sup></a>ã <blockquote> ããã°ã©ã triangleã¯ãæ´æ°ããããã3ã¤ã®å¼æ°ãã¨ãããã®3ã¤ã®å¤ã¯ãããããä¸è§å½¢ã®3辺ã®é·ãããããããã®ã¨ãããããã°ã©ã ã¯ãä¸è§å½¢ãä¸ç辺ä¸è§å½¢ã®å ´åã¯`scalene triangle'ãäºç辺ä¸è§å½¢ã®å ´åã¯`isosceles triangle'ãæ£ä¸è§å½¢ã®å ´åã¯`equilateral triangle'ãå°åããã @@ -477,7 +524,7 @@ Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> </ol> </blockquote> - <p>ä¸è§å½¢å¤å®ããã°ã©ã ã¯ããµã³ãã«ã¨ãã¦ç¨æããã¦ãããã®ã<a href="#Prepare">æºå</a>ããããã¾ãã¯èªä½ãã¦ãã ããã + <p>ä¸è§å½¢å¤å®ããã°ã©ã ã¯ããµã³ãã«ã¨ãã¦ç¨æããã¦ãããã®ã<a href="#Prepare-triangle">æºå</a>ããããã¾ãã¯èªä½ãã¦ãã ããã <p>æºåãã§ããããAutotest.mkã使ã£ã次ã®æé ã§ãã¹ããå®è¡ã§ãã¾ãã @@ -502,11 +549,11 @@ Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> </ol> <div class="node"> -<a name="Prepare"></a> +<a name="Prepare-triangle"></a> <p><hr> -Next: <a rel="next" accesskey="n" href="#Create-Group">Create Group</a>, -Previous: <a rel="previous" accesskey="p" href="#Tutorial-About">Tutorial About</a>, -Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> +Next: <a rel="next" accesskey="n" href="#Create-triangle-group">Create triangle group</a>, +Previous: <a rel="previous" accesskey="p" href="#Tutorial-triangle-About">Tutorial triangle About</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-triangle">Tutorial triangle</a> </div> @@ -514,144 +561,144 @@ Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> <h4 class="unnumberedsubsec">ä½æ¥ç¨ãã©ã«ãã®ä½æ</h4> -<p>ã¾ããAutotest.mkã®ããã±ã¼ã¸ã«å«ã¾ãã¦ãã<samp><span class="file">sample/triangle</span></samp>以ä¸ã®ãã¡ã¤ã«ããä»»æã®ä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã«ã³ãã¼ãã¾ããããã§ã¯ã<samp><span class="file">~/triangle</span></samp>ï¼<samp><span class="file">~</span></samp>ã¯ãç¾å¨ãã°ã¤ã³ãã¦ããã¦ã¼ã¶ã¼ã®ãã¼ã ãã£ã¬ã¯ããªã¼ï¼ãä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã«ãã¾ããã¾ãã<samp><span class="file">autotest.mk</span></samp>ã¯ã<samp><span class="file">~</span></samp>ã«å±éããã¦ãããã®ã¨ãã¾ãã + <p>ã¾ããAutotest.mkã®ããã±ã¼ã¸ã«å«ã¾ãã¦ãã<samp><span class="file">sample/triangle</span></samp>以ä¸ã®ãã¡ã¤ã«ããä»»æã®ä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã«ã³ãã¼ãã¾ããããã§ã¯ã<samp><span class="file">~/triangle</span></samp>ï¼<samp><span class="file">~</span></samp>ã¯ãç¾å¨ãã°ã¤ã³ãã¦ããã¦ã¼ã¶ã¼ã®ãã¼ã ãã£ã¬ã¯ããªã¼ï¼ãä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã«ãã¾ããã¾ãã<samp><span class="file">autotest.mk</span></samp>ã¯ã<samp><span class="file">~</span></samp>ã«å±éããã¦ãããã®ã¨ãã¾ãã -<pre class="example"> $ <kbd>cd</kbd> - $ <kbd>mkdir triangle</kbd> - $ <kbd>cd autotest.mk/sample/triangle</kbd> - $ <kbd>cp triangle.c triangle_bug.c Makefile ~/triangle</kbd> +<pre class="example">$ <kbd>cd</kbd> +$ <kbd>mkdir triangle</kbd> +$ <kbd>cd autotest.mk/sample/triangle</kbd> +$ <kbd>cp triangle.c triangle_bug.c Makefile ~/triangle</kbd> </pre> <p>ä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã«ç§»åããä¸ã®ãã¡ã¤ã«ã確èªãã¾ãã -<pre class="example"> $ <kbd>cd ~/triangle</kbd> - $ <kbd>ls</kbd> - Makefile triangle.c triangle_bug.c +<pre class="example">$ <kbd>cd ~/triangle</kbd> +$ <kbd>ls</kbd> +Makefile triangle.c triangle_bug.c </pre> <h4 class="unnumberedsubsec">ä¸è§å½¢å¤å®ããã°ã©ã ã®ãã«ã</h4> -<p>ä¸è§å½¢å¤å®ããã°ã©ã ããã«ããã¾ãã + <p>ä¸è§å½¢å¤å®ããã°ã©ã ããã«ããã¾ãã -<pre class="example"> $ <kbd>make</kbd> - rm -f triangle - gcc -o triangle triangle.c +<pre class="example">$ <kbd>make</kbd> +rm -f triangle +gcc -o triangle triangle.c </pre> <p>ãã¹ããããã¦ãä¸è§å½¢å¤å®ããã°ã©ã ãæåã§å®è¡ãã¾ãã -<pre class="example"> $ <kbd>./triangle 3 4 5</kbd> - scalene triangle - $ <kbd>./triangle 4 4 4</kbd> - equilateral triangle - $ <kbd>./triangle 2 4 4</kbd> - isosceles triangle +<pre class="example">$ <kbd>./triangle 3 4 5</kbd> +scalene triangle +$ <kbd>./triangle 4 4 4</kbd> +equilateral triangle +$ <kbd>./triangle 2 4 4</kbd> +isosceles triangle </pre> <h4 class="unnumberedsubsec">ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®ãã«ã</h4> -<p>ãã°ãå«ã¿ä¸é¨ã®ãã¹ãã«å¤±æããä¸è§å½¢å¤å®ããã°ã©ã ããã«ãããå ´åã¯ã次ã®ã³ãã³ããå®è¡ãã¾ãã + <p>ãã°ãå«ã¿ä¸é¨ã®ãã¹ãã«å¤±æããä¸è§å½¢å¤å®ããã°ã©ã ããã«ãããå ´åã¯ã次ã®ã³ãã³ããå®è¡ãã¾ãã -<pre class="example"> $ <kbd>make bug</kbd> - rm -f triangle - gcc -o triangle triangle.c +<pre class="example">$ <kbd>make bug</kbd> +rm -f triangle +gcc -o triangle triangle.c </pre> <p>ãã¹ããããã¦ãä¸è§å½¢å¤å®ããã°ã©ã ãæåã§å®è¡ãã¾ãã -<pre class="example"> $ <kbd>./triangle 3 4 5</kbd> - futohen sankakukei - $ <kbd>./triangle 4 4 4</kbd> - equilateral triangle - $ <kbd>./triangle 2 4 4</kbd> - isosceles triangle +<pre class="example">$ <kbd>./triangle 3 4 5</kbd> +futohen sankakukei +$ <kbd>./triangle 4 4 4</kbd> +equilateral triangle +$ <kbd>./triangle 2 4 4</kbd> +isosceles triangle </pre> <p><kbd>./triangle 3 4 5</kbd>ã§ãä»æ§ã§`scalene triangle'ã¨ãªãã¹ãã¨ãããã`futohen sankakukei'ã¨ãªã£ã¦ãã¾ãã <div class="node"> -<a name="Create-Group"></a> +<a name="Create-triangle-group"></a> <p><hr> -Next: <a rel="next" accesskey="n" href="#Create-Test">Create Test</a>, -Previous: <a rel="previous" accesskey="p" href="#Prepare">Prepare</a>, -Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> +Next: <a rel="next" accesskey="n" href="#Create-triangle-test">Create triangle test</a>, +Previous: <a rel="previous" accesskey="p" href="#Prepare-triangle">Prepare triangle</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-triangle">Tutorial triangle</a> </div> <h3 class="section">3.1 ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ</h3> -<p>ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã§<kbd>make</kbd>ãå®è¡ããã°ã«ã¼ããã£ã¬ã¯ããªã¼ãä½æãã¾ãããã®ã¨ãããã¹ãã°ã«ã¼ãã®ãã£ã¬ã¯ããªã¼ãå¤æ°<code>GROUPDIR</code>ã§æå®ãã¾ããããã§ã¯ã<kbd>~/triangle/test</kbd>ããã¹ãã°ã«ã¼ãã®ãã£ã¬ã¯ããªã¼ã«ãã¾ãã + <p>ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã§<kbd>make</kbd>ãå®è¡ããã°ã«ã¼ããã£ã¬ã¯ããªã¼ãä½æãã¾ãããã®ã¨ãããã¹ãã°ã«ã¼ãã®ãã£ã¬ã¯ããªã¼ãå¤æ°<code>GROUPDIR</code>ã§æå®ãã¾ããããã§ã¯ã<kbd>~/triangle/test</kbd>ããã¹ãã°ã«ã¼ãã®ãã£ã¬ã¯ããªã¼ã«ãã¾ãã -<pre class="example"> $ <kbd>cd ~/autotest.mk/template</kbd> - $ <kbd>make GROUPDIR=~/triangle/test</kbd> +<pre class="example">$ <kbd>cd ~/autotest.mk/template</kbd> +$ <kbd>make GROUPDIR=~/triangle/test</kbd> </pre> <p>次ã®ã³ãã³ãã§ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«ç§»åãããã®ä¸ã確èªãã¾ãã -<pre class="example"> $ <kbd>cd ~/triangle/test</kbd> - $ <kbd>ls</kbd> - Define.mk Makefile Test.mk +<pre class="example">$ <kbd>cd ~/triangle/test</kbd> +$ <kbd>ls</kbd> +Define.mk Makefile Test.mk </pre> <div class="node"> -<a name="Create-Test"></a> +<a name="Create-triangle-test"></a> <p><hr> -Next: <a rel="next" accesskey="n" href="#Edit-desc">Edit desc</a>, -Previous: <a rel="previous" accesskey="p" href="#Create-Group">Create Group</a>, -Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> +Next: <a rel="next" accesskey="n" href="#Edit-triangle-desc">Edit triangle desc</a>, +Previous: <a rel="previous" accesskey="p" href="#Create-triangle-group">Create triangle group</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-triangle">Tutorial triangle</a> </div> <h3 class="section">3.2 ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ</h3> -<p>ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã§<kbd>make create</kbd>ãå®è¡ãããã¹ããã£ã¬ã¯ããªã¼ãä½æãã¾ãããã®ã¨ããå¤æ°<code>GROUPDIR</code>ã§ãã¹ãåãæå®ãã¾ãããã¹ãåã¯ãå°æåã®ã¢ã«ãã¡ãããã¨æ°åã§æå®ãã¾ããããã§ã¯ã1ã¤ãã®ãã¹ãã»ã±ã¼ã¹ã«å¯¾å¿ãããã¹ããã£ã¬ã¯ããªã¼ãã<code>01_scalene</code>ã¨ããååã§ä½æãã¾ãã + <p>ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã§<kbd>make create</kbd>ãå®è¡ãããã¹ããã£ã¬ã¯ããªã¼ãä½æãã¾ãããã®ã¨ããå¤æ°<code>GROUPDIR</code>ã§ãã¹ãåãæå®ãã¾ãããã¹ãåã¯ãå°æåã®ã¢ã«ãã¡ãããã¨æ°åã§æå®ãã¾ããããã§ã¯ã1ã¤ãã®ãã¹ãã»ã±ã¼ã¹ã«å¯¾å¿ãããã¹ããã£ã¬ã¯ããªã¼ãã<samp><span class="file">01_scalene</span></samp>ã¨ããååã§ä½æãã¾ãã -<pre class="example"> $ <kbd>make create TEST=01_scalene</kbd> +<pre class="example">$ <kbd>make create TEST=01_scalene</kbd> </pre> <p>次ã®ã³ãã³ãã§ãã¹ããã£ã¬ã¯ããªã¼ã«ç§»åãããã®ä¸ã確èªãã¾ãã -<pre class="example"> $ <kbd>cd 01_scalene</kbd> - $ <kbd>ls</kbd> - Makefile +<pre class="example">$ <kbd>cd 01_scalene</kbd> +$ <kbd>ls</kbd> +Makefile </pre> <div class="node"> -<a name="Edit-desc"></a> +<a name="Edit-triangle-desc"></a> <p><hr> -Next: <a rel="next" accesskey="n" href="#Edit-cmd">Edit cmd</a>, -Previous: <a rel="previous" accesskey="p" href="#Create-Test">Create Test</a>, -Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> +Next: <a rel="next" accesskey="n" href="#Edit-triangle-cmd">Edit triangle cmd</a>, +Previous: <a rel="previous" accesskey="p" href="#Create-triangle-test">Create triangle test</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-triangle">Tutorial triangle</a> </div> <h3 class="section">3.3 ãã¹ã説æãã¡ã¤ã«ã®ä½æ</h3> -<p>ãã¹ã説æãã¡ã¤ã«<samp><span class="file">desc.txt</span></samp>ã¯ãã¹ãã«é¢ãã説æãããããããã¹ãã®çµæã¨ä¸ç·ã«ãã°ã«åºåããã¾ãã + <p>ãã¹ã説æãã¡ã¤ã«<samp><span class="file">desc.txt</span></samp>ã¯ãã¹ãã«é¢ãã説æãããããããã¹ãã®çµæã¨ä¸ç·ã«ãã°ã«åºåããã¾ãã <samp><span class="file">desc.txt</span></samp>ãããã¹ãã¨ãã£ã¿ã¼ã使ã£ã¦æ¬¡ã®å 容ã§ä½æãã¾ãã -<pre class="example"> <kbd>æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹</kbd> +<pre class="example"><kbd>æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹</kbd> </pre> <div class="node"> -<a name="Edit-cmd"></a> +<a name="Edit-triangle-cmd"></a> <p><hr> -Next: <a rel="next" accesskey="n" href="#Test-Setting">Test Setting</a>, -Previous: <a rel="previous" accesskey="p" href="#Edit-desc">Edit desc</a>, -Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> +Next: <a rel="next" accesskey="n" href="#Set-triangle-test">Set triangle test</a>, +Previous: <a rel="previous" accesskey="p" href="#Edit-triangle-desc">Edit triangle desc</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-triangle">Tutorial triangle</a> </div> <h3 class="section">3.4 ãã¹ãã³ãã³ããã¡ã¤ã«ã®ä½æ</h3> -<p>ãã¹ãã³ãã³ããã¡ã¤ã«<samp><span class="file">cmd</span></samp>ã¯ããã¹ãæã«å®è¡ãããã³ãã³ããããããã¾ãã + <p>ãã¹ãã³ãã³ããã¡ã¤ã«<samp><span class="file">cmd</span></samp>ã¯ããã¹ãæã«å®è¡ãããã³ãã³ããããããã¾ãã ãã®ã³ãã³ãã«ãããæ¨æºåºåã¨ã¨ã©ã¼åºåã«ãã¹ãã®çµæãåºåãããããã«ãã¾ãã <p>ããã§ã¯ã<samp><span class="file">cmd</span></samp>ãããã¹ãã¨ãã£ã¿ã¼ã使ã£ã¦æ¬¡ã®å 容ã§ä½æãã¾ãã -<pre class="example"> <kbd>../../triangle 3 4 5</kbd> +<pre class="example"><kbd>../../triangle 3 4 5</kbd> </pre> <div class="node"> -<a name="Test-Setting"></a> +<a name="Set-triangle-test"></a> <p><hr> -Next: <a rel="next" accesskey="n" href="#Test-Execute">Test Execute</a>, -Previous: <a rel="previous" accesskey="p" href="#Edit-cmd">Edit cmd</a>, -Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> +Next: <a rel="next" accesskey="n" href="#Execute-triangle-test">Execute triangle test</a>, +Previous: <a rel="previous" accesskey="p" href="#Edit-triangle-cmd">Edit triangle cmd</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-triangle">Tutorial triangle</a> </div> <h3 class="section">3.5 ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ</h3> -<p>ãã¹ãæ³å®ãã¡ã¤ã«<samp><span class="file">0.txt</span></samp>ã¯ããã¹ããæ£ããå®è¡ãããå ´åã®çµæãããããã¾ãã<samp><span class="file">0.txt</span></samp>ã®ä½ææ¹æ³ã¯ã次ã®3ã¤ãããã¾ãã + <p>ãã¹ãæ³å®ãã¡ã¤ã«<samp><span class="file">0.txt</span></samp>ã¯ããã¹ããæ£ããå®è¡ãããå ´åã®çµæãããããã¾ãã<samp><span class="file">0.txt</span></samp>ã®ä½ææ¹æ³ã¯ã次ã®3ã¤ãããã¾ãã <ul> <li>æåã§ä½æ @@ -665,50 +712,50 @@ Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> <h4 class="subsection">3.5.1 æåã§ä½æ</h4> -<p>ãã¹ãæ³å®ãã¡ã¤ã«<samp><span class="file">0.txt</span></samp>ãããã¹ãã¨ãã£ã¿ã¼ã使ã£ã¦æ¬¡ã®å 容ã§ä½æãã¾ãã + <p>ãã¹ãæ³å®ãã¡ã¤ã«<samp><span class="file">0.txt</span></samp>ãããã¹ãã¨ãã£ã¿ã¼ã使ã£ã¦æ¬¡ã®å 容ã§ä½æãã¾ãã -<pre class="example"> <kbd>scalene triangle</kbd> +<pre class="example"><kbd>scalene triangle</kbd> </pre> <h4 class="subsection">3.5.2 <kbd>make set</kbd></h4> -<p><kbd>make set</kbd>ãå®è¡ããã¨ãã³ãã³ããã¡ã¤ã«<samp><span class="file">cmd</span></samp>ãå®è¡ããã¾ããå®è¡çµæã¯<samp><span class="file">0.txt</span></samp>ãã¡ã¤ã«ã«åºåããããã®å 容ã表示ããã¾ãã + <p><kbd>make set</kbd>ãå®è¡ããã¨ãã³ãã³ããã¡ã¤ã«<samp><span class="file">cmd</span></samp>ãå®è¡ããã¾ããå®è¡çµæã¯<samp><span class="file">0.txt</span></samp>ãã¡ã¤ã«ã«åºåããããã®å 容ã表示ããã¾ãã -<pre class="example"> $ <kbd>make set</kbd> - scalene triangle +<pre class="example">$ <kbd>make set</kbd> +scalene triangle </pre> - <p>ãã®æ¹æ³ã§<samp><span class="file">0.txt</span></samp>ãä½æããå ´åã¯ãä½æãããå 容ããã¹ãæ³å®ã¨ãã¦æ¬å½ã«æ£ãããããæ¤è¨ããå¿ è¦ãããã¾ããä¾ãã°ããã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ãæºåãã¦<kbd>make set</kbd>ãå®è¡ããã¨ãä»æ§ã¨ç°ãªããã¹ãæ³å®ãã¡ã¤ã«ãä½æããããã¹ããæ£ããå®è¡ã§ãã¾ããã + <p>ãã®æ¹æ³ã§<samp><span class="file">0.txt</span></samp>ãä½æããå ´åã¯ãä½æãããå 容ããã¹ãæ³å®ã¨ãã¦æ¬å½ã«æ£ãããããæ¤è¨ããå¿ è¦ãããã¾ããä¾ãã°ããã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ãæºåãã¦<kbd>make set</kbd>ãå®è¡ããã¨ãä»æ§ã¨ç°ãªã次ã®ãããªãã¹ãæ³å®ã¨ãªãããã¹ããæ£ããå®è¡ã§ãã¾ããã -<pre class="example"> $ <kbd>make set</kbd> - futohen sankakukei +<pre class="example">$ <kbd>make set</kbd> +futohen sankakukei </pre> <p><samp><span class="file">0.txt</span></samp>ããã§ã«åå¨ããå ´åã¯<kbd>make set</kbd>ãå®è¡ããã¨ã¨ã©ã¼ã«ãªãã<samp><span class="file">0.txt</span></samp>ã¯æ´æ°ããã¾ããã <h4 class="subsection">3.5.3 <kbd>make reset</kbd></h4> -<p><samp><span class="file">0.txt</span></samp>ããã§ã«åå¨ããå ´åã¯ã<kbd>make reset</kbd>ã§æ´æ°ã§ãã¾ãã + <p><samp><span class="file">0.txt</span></samp>ããã§ã«åå¨ããå ´åã¯ã<kbd>make reset</kbd>ã§æ´æ°ã§ãã¾ãã -<pre class="example"> $ <kbd>make reset</kbd> - scalene triangle +<pre class="example">$ <kbd>make reset</kbd> +scalene triangle </pre> <div class="node"> -<a name="Test-Execute"></a> +<a name="Execute-triangle-test"></a> <p><hr> -Next: <a rel="next" accesskey="n" href="#Check-Test-Log">Check Test Log</a>, -Previous: <a rel="previous" accesskey="p" href="#Test-Setting">Test Setting</a>, -Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> +Next: <a rel="next" accesskey="n" href="#Check-triangle-log">Check triangle log</a>, +Previous: <a rel="previous" accesskey="p" href="#Set-triangle-test">Set triangle test</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-triangle">Tutorial triangle</a> </div> <h3 class="section">3.6 ãã¹ãã®å®è¡</h3> -<p>ã³ãã³ããã¡ã¤ã«ã¨ãã¹ãæ³å®ãç¨æãããã<kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd>ã§ãã¹ããå®è¡ã§ãã¾ãã + <p>ã³ãã³ããã¡ã¤ã«ã¨ãã¹ãæ³å®ãç¨æãããã<kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd>ã§ãã¹ããå®è¡ã§ãã¾ãã -<pre class="example"> $ <kbd>ls</kbd> - 0.txt Makefile cmd desc.txt - $ <kbd>make</kbd> - æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ - 01_scalene: Test Success 2011-01-10 10:09:55 - Detail in /home/foo/triangle/test/01_scalene/detail.log +<pre class="example">$ <kbd>ls</kbd> +0.txt Makefile cmd desc.txt +$ <kbd>make</kbd> +æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ +01_scalene: Test Success 2011-01-10 10:09:55 +Detail in /home/foo/triangle/test/01_scalene/detail.log </pre> <p>表示ãããé ç®ã¯ã次ã®ã¨ããã§ãã @@ -722,29 +769,29 @@ Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> <h4 class="unnumberedsubsec">ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®å ´å</h4> -<p>ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã§ãã¹ããå®è¡ããã¨ã次ã®ããã«è¡¨ç¤ºããã¾ãã + <p>æ£ãããã¹ãæ³å®ãä½æãã¦ããå ´åã«ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã§ãã¹ããå®è¡ããã¨ã次ã®ããã«è¡¨ç¤ºããã¾ãã -<pre class="example"> $ <kbd>make</kbd> - make: [diff.log] Error 1 (ignored) - æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ - 01_scalene: Test Failure 2011-01-10 20:25:16 - Detail in /home/foo/triangle/test/01_scalene/detail.log +<pre class="example">$ <kbd>make</kbd> +make: [diff.log] Error 1 (ignored) +æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ +01_scalene: Test Failure 2011-01-10 20:25:16 +Detail in /home/foo/triangle/test/01_scalene/detail.log </pre> <div class="node"> -<a name="Check-Test-Log"></a> +<a name="Check-triangle-log"></a> <p><hr> -Next: <a rel="next" accesskey="n" href="#Group-Execute">Group Execute</a>, -Previous: <a rel="previous" accesskey="p" href="#Test-Execute">Test Execute</a>, -Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> +Next: <a rel="next" accesskey="n" href="#Execute-triangle-group">Execute triangle group</a>, +Previous: <a rel="previous" accesskey="p" href="#Execute-triangle-test">Execute triangle test</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-triangle">Tutorial triangle</a> </div> <h3 class="section">3.7 ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª</h3> -<p>ãã¹ããå®è¡ãã¦ä½æããããã¡ã¤ã«ã確èªãã¾ãã<samp><span class="file">1.txt</span></samp>ã<samp><span class="file">summary.log</span></samp>ã<samp><span class="file">detail.log</span></samp>ãä½æããã¦ãã¾ãã + <p>ãã¹ããå®è¡ãã¦ä½æããããã¡ã¤ã«ã確èªãã¾ãã<samp><span class="file">1.txt</span></samp> <samp><span class="file">summary.log</span></samp> <samp><span class="file">detail.log</span></samp>ãä½æããã¦ãã¾ãã -<pre class="example"> $ ls - 0.txt 1.txt Makefile cmd desc.txt detail.log summary.log +<pre class="example">$ <kbd>ls</kbd> +0.txt 1.txt Makefile cmd desc.txt detail.log summary.log </pre> <p>ãã¹ããå®è¡ããã¨ä½æããããã¡ã¤ã«ã¯ã次ã®ã¨ããã§ããå¿ è¦ã«å¿ãã¦ãã¡ã¤ã«ã®å 容ã確èªãã¾ãã @@ -762,97 +809,98 @@ Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> <p><samp><span class="file">detail.log</span></samp>ã¯ã次ã®ããã«ãªãã¾ãã -<pre class="example"> == summary.log == - ---------------------------------------------------------------------- - æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ - 01_scalene: Test Success 2011-01-10 10:09:55 - Detail in /home/foo/triangle/test/01_scalene/detail.log - ---------------------------------------------------------------------- - - == cmd == - ---------------------------------------------------------------------- - ../../triangle 3 4 5 - ---------------------------------------------------------------------- - - == 0.txt == - ---------------------------------------------------------------------- - scalene triangle - ---------------------------------------------------------------------- - - == 1.txt == - ---------------------------------------------------------------------- - scalene triangle - ---------------------------------------------------------------------- - +<pre class="example">== summary.log == +---------------------------------------------------------------------- +æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ +01_scalene: Test Success 2011-01-10 10:09:55 +Detail in /home/foo/triangle/test/01_scalene/detail.log +---------------------------------------------------------------------- + +== cmd == +---------------------------------------------------------------------- +../../triangle 3 4 5 +---------------------------------------------------------------------- + +== 0.txt == +---------------------------------------------------------------------- +scalene triangle +---------------------------------------------------------------------- + +== 1.txt == +---------------------------------------------------------------------- +scalene triangle +---------------------------------------------------------------------- + </pre> <h4 class="unnumberedsubsec">ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®å ´å</h4> -<p>ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ãæºåãã¦ãã¹ããå®è¡ããå ´åã<samp><span class="file">1.txt</span></samp>ã<samp><span class="file">summary.log</span></samp>ã<samp><span class="file">detail.log</span></samp>ã®ã»ãã«ããã¹ãæ³å®ã¨ãã¹ãçµæãç°ãªããã<kbd>diff.log</kbd>ãä½æããã¾ãã + <p>ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ãæºåãã¦ãã¹ããå®è¡ããå ´åã<samp><span class="file">1.txt</span></samp> <samp><span class="file">summary.log</span></samp> <samp><span class="file">detail.log</span></samp>ã®ã»ãã«ããã¹ãæ³å®ã¨ãã¹ãçµæãç°ãªããã<kbd>diff.log</kbd>ãä½æããã¾ãã -<pre class="example"> $ <kbd>ls</kbd> - 0.txt 1.txt Makefile cmd desc.txt detail.log diff.log summary.log +<pre class="example">$ <kbd>ls</kbd> +0.txt 1.txt Makefile cmd desc.txt detail.log diff.log summary.log </pre> <p><samp><span class="file">detail.log</span></samp>ã¯æ¬¡ã®ããã«ãªãã¾ãã -<pre class="example"> == summary.log == - ---------------------------------------------------------------------- - æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ - 01_scalene: Test Failure 2011-01-10 20:25:16 - Detail in /home/foo/triangle/test/01_scalene/detail.log - ---------------------------------------------------------------------- - - == cmd == - ---------------------------------------------------------------------- - ../../triangle 3 4 5 - ---------------------------------------------------------------------- - - == 0.txt == - ---------------------------------------------------------------------- - scalene triangle - ---------------------------------------------------------------------- - - == diff.log == - ---------------------------------------------------------------------- - *** 0.txt Mon Jan 10 20:12:14 2011 - --- 1.txt Mon Jan 10 20:25:16 2011 - *************** - *** 1 **** - ! scalene triangle - --- 1 ---- - ! futohen sankakukei - ---------------------------------------------------------------------- - - == 1.txt == - ---------------------------------------------------------------------- - futohen sankakukei - ---------------------------------------------------------------------- - +<pre class="example">== summary.log == +---------------------------------------------------------------------- +æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ +01_scalene: Test Failure 2011-01-10 20:25:16 +Detail in /home/foo/triangle/test/01_scalene/detail.log +---------------------------------------------------------------------- + +== cmd == +---------------------------------------------------------------------- +../../triangle 3 4 5 +---------------------------------------------------------------------- + +== 0.txt == +---------------------------------------------------------------------- +scalene triangle +---------------------------------------------------------------------- + +== diff.log == +---------------------------------------------------------------------- +*** 0.txt Mon Jan 10 20:12:14 2011 +--- 1.txt Mon Jan 10 20:25:16 2011 +*************** +*** 1 **** +! scalene triangle +--- 1 ---- +! futohen sankakukei +---------------------------------------------------------------------- + +== 1.txt == +---------------------------------------------------------------------- +futohen sankakukei +---------------------------------------------------------------------- + </pre> <h4 class="subsection">3.7.1 ãã¹ãã®ã¯ãªã¢</h4> -<p><kbd>make clean</kbd>ãå®è¡ããã¨ããã¹ãã®çµæä½æããããã¡ã¤ã«ãã¯ãªã¢ããã¾ãã + <p><kbd>make clean</kbd>ãå®è¡ããã¨ããã¹ãã®çµæä½æããããã¡ã¤ã«ãã¯ãªã¢ããã¾ãã -<pre class="example"> $ <kbd>make clean</kbd> - $ <kbd>ls</kbd> - 0.txt Makefile cmd desc.txt +<pre class="example">$ <kbd>make clean</kbd> +$ <kbd>ls</kbd> +0.txt Makefile cmd desc.txt </pre> <div class="node"> -<a name="Group-Execute"></a> +<a name="Execute-triangle-group"></a> <p><hr> -Next: <a rel="next" accesskey="n" href="#Check-Group-Log">Check Group Log</a>, -Previous: <a rel="previous" accesskey="p" href="#Check-Test-Log">Check Test Log</a>, -Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> +Next: <a rel="next" accesskey="n" href="#Check-triangle-group-log">Check triangle group log</a>, +Previous: <a rel="previous" accesskey="p" href="#Check-triangle-log">Check triangle log</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-triangle">Tutorial triangle</a> </div> <h3 class="section">3.8 ãã¹ãã°ã«ã¼ãã®å®è¡</h3> -<p>2ã¤ã以éã®ãã¹ãã»ã±ã¼ã¹ã«ã¤ãã¦ãã1ã¤ãã¨åãæé ã§ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æå¾ããã¹ã説æãã¡ã¤ã«ã¨ãã¹ãã³ãã³ããã¡ã¤ã«ããã¹ãæ³å®ãã¡ã¤ã«ãä½æãã¾ãã + <p>2ã¤ã以éã®ãã¹ãã»ã±ã¼ã¹ã«ã¤ãã¦ãã1ã¤ãã¨åãæé ã§ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æå¾ããã¹ã説æãã¡ã¤ã«ã¨ãã¹ãã³ãã³ããã¡ã¤ã«ããã¹ãæ³å®ãã¡ã¤ã«ãä½æãã¾ãã - <p>ããã§ã¯ãå ã«ä½æãã<samp><span class="file">01_scalene</span></samp>ãå«ãã¦ã次ã®ãããªãã£ã¬ã¯ããªã¼ã¨ãã¡ã¤ã«ãä½æãã¾ãããããããã£ã¬ã¯ããªã¼ããã¡ã¤ã«ã¯Autotest.mkã®<samp><span class="file">sample/triangle/test</span></samp>以ä¸ã«ããã®ã§ãã³ãã¼ãã¦ä½æãããã¨ãã§ãã¾ãã + <p>ããã§ã¯ãå ã«ä½æãã<samp><span class="file">01_scalene</span></samp>ãå«ãã¦ã次ã®ãããªãã£ã¬ã¯ããªã¼ã¨ãã¡ã¤ã«ãä½æãã¾ãããããããã£ã¬ã¯ããªã¼ããã¡ã¤ã«ã¯Autotest.mkã®<samp><span class="file">sample/triangle/test</span></samp>以ä¸ã«ããã¾ãã <ul> -<li>01_scalene + + <li>01_scalene <ul> <li><samp><span class="file">Makefile</span></samp> <a href="sample_triangle/01_scalene/desc.txt"><samp><span class="file">desc.txt</span></samp></a> <a href="sample_triangle/01_scalene/cmd.txt"><samp><span class="file">cmd</span></samp></a> <a href="sample_triangle/01_scalene/0.txt"><samp><span class="file">0.txt</span></samp></a> @@ -933,10 +981,10 @@ Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> <p>ãã¹ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã§ã¯ã<kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd>ã§è¤æ°ã®ãã¹ããã¾ã¨ãã¦å®è¡ã§ãã¾ãã -<pre class="example"> $ <kbd>cd ~/triangle/test</kbd> - $ <kbd>make</kbd> - test: 13 / 13 tests passed. Detail in /home/foo/triangle/test/TEST.log - test: All tests are succeded. +<pre class="example">$ <kbd>cd ~/triangle/test</kbd> +$ <kbd>make</kbd> +test: 13 / 13 tests passed. Detail in /home/foo/triangle/test/TEST.log +test: All tests are succeded. </pre> <p>表示ãããã®ã¯ã次ã®é ç®ã§ãã <ul> @@ -947,24 +995,24 @@ Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> <h4 class="unnumberedsubsec">ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®å ´å</h4> -<p>ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ãæºåãã¦ãã¹ãã°ã«ã¼ããå®è¡ããå ´åã次ã®ããã«è¡¨ç¤ºããã¾ãã失æãããã¹ãããããã¨ãããããã¦ãã¾ãã + <p>ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ãæºåãã¦ãã¹ãã°ã«ã¼ããå®è¡ããå ´åã次ã®ããã«è¡¨ç¤ºããã¾ãã失æãããã¹ãããããã¨ãããããã¦ãã¾ãã -<pre class="example"> $ <kbd>cd ~/triangle/test</kbd> - $ <kbd>make</kbd> - test: 11 / 13 tests passed. Detail in /home/foo/triangle/test/TEST.log +<pre class="example">$ <kbd>cd ~/triangle/test</kbd> +$ <kbd>make</kbd> +test: 11 / 13 tests passed. Detail in /home/foo/triangle/test/TEST.log </pre> <div class="node"> -<a name="Check-Group-Log"></a> +<a name="Check-triangle-group-log"></a> <p><hr> -Next: <a rel="next" accesskey="n" href="#Associate">Associate</a>, -Previous: <a rel="previous" accesskey="p" href="#Group-Execute">Group Execute</a>, -Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> +Next: <a rel="next" accesskey="n" href="#Associate-triangle">Associate triangle</a>, +Previous: <a rel="previous" accesskey="p" href="#Execute-triangle-group">Execute triangle group</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-triangle">Tutorial triangle</a> </div> <h3 class="section">3.9 ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª</h3> -<p>ãã¹ãã°ã«ã¼ããå®è¡ããã¨ä½æããããã¡ã¤ã«ã¯ã次ã®ã¨ããã§ãã + <p>ãã¹ãã°ã«ã¼ããå®è¡ããã¨ä½æããããã¡ã¤ã«ã¯ã次ã®ã¨ããã§ãã <dl> <dt><samp><span class="file"><ãã¹ãã°ã«ã¼ãåã大æåã«ããæåå>.log</span></samp><dd>ãã¹ãã°ã«ã¼ãã«å«ã¾ãããã¹ãã¨ãã®å®è¡çµæã®ä¸è¦§ãããããã¾ãã @@ -974,209 +1022,909 @@ Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> <p>ããã§ã¯ãã¹ãã°ã«ã¼ãåã¯<samp><span class="file">test</span></samp>ãªã®ã§ã<samp><span class="file">TEST.log</span></samp>ã次ã®å 容ã§ä½æããã¾ãã -<pre class="example"> 01_scalene/ - æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ - 01_scalene: Test Success 2011-01-10 12:14:23 - Detail in /home/foo/triangle/test/01_scalene/detail.log - - 12_notint/ - æ´æ°ã§ãªãå¤ããã¤ãã¹ãã»ã±ã¼ã¹ - 12_notint: Test Success 2011-01-10 12:14:23 - Detail in /home/foo/triangle/test/12_notint/detail.log - - 03_isosceles/ - æå¹ãªäºç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ - 03_isosceles: Test Success 2011-01-10 12:14:23 - Detail in /home/foo/triangle/test/03_isosceles/detail.log - - 02_equilateral/ - æå¹ãªæ£ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ - 02_equilateral: Test Success 2011-01-10 12:14:23 - Detail in /home/foo/triangle/test/02_equilateral/detail.log - - 05_zero/ - 1ã¤ã®è¾ºãã¼ãã®å¤ããã¤ãã¹ãã»ã±ã¼ã¹ - 05_zero: Test Success 2011-01-10 12:14:23 - Detail in /home/foo/triangle/test/05_zero/detail.log - - 13_argcnt/ - æ°å¤ã®åæ°ãééã£ã¦ãããã¨ãããããã¹ãã»ã±ã¼ã¹ - 13_argcnt: Test Success 2011-01-10 12:14:23 - Detail in /home/foo/triangle/test/13_argcnt/detail.log - - 10_lesses/ - ã¼ããã大ããª3ã¤ã®æ´æ°ã®ãã¡ã2ã¤ã®æ°ã®åããã以å¤ã®1ã¤ã®æ°ããå°ãããªããã¨ã«ããã¦ã3種é¡ã®é åãã¹ã¦ãèæ ®ãããã¨ã®ã§ãããã¹ãã±ã¼ã¹ - 10_lesses: Test Success 2011-01-10 12:14:23 - Detail in /home/foo/triangle/test/10_lesses/detail.log - - 07_line/ - ã¼ããã大ãã3ã¤ã®æ´æ°ããã¡ããã®ãã¡2ã¤ã®åããã以å¤ã®1ã¤ã¨çãããããªãã¹ãã»ã±ã¼ã¹ - 07_line: Test Success 2011-01-10 12:14:23 - Detail in /home/foo/triangle/test/07_line/detail.log - - 06_minus/ - 1ã¤ã®è¾ºãè² ã®å¤ãããããã¹ãã»ã±ã¼ã¹ - 06_minus: Test Success 2011-01-10 12:14:23 - Detail in /home/foo/triangle/test/06_minus/detail.log - - 11_zeroall/ - ãã¹ã¦ã®è¾ºãã¼ãã§ãããã¹ãã»ã±ã¼ã¹ - 11_zeroall: Test Success 2011-01-10 12:14:24 - Detail in /home/foo/triangle/test/11_zeroall/detail.log - - 08_lines/ - 1辺ã®é·ããä»ã®2辺ã®é·ãã®åã«çãããã¨ã3種é¡ã®é åã®ãã¹ã¦ã«å¯¾ãã¦ããããã¨ã®ã§ãããã¹ãã»ã±ã¼ã¹ - 08_lines: Test Success 2011-01-10 12:14:24 - Detail in /home/foo/triangle/test/08_lines/detail.log - - 09_less/ - ã¼ããã大ããª3ã¤ã®æ´æ°ã®ãã¡ã2ã¤ã®æ°ã®åããã以å¤ã®1ã¤ã®æ°ããå°ãããªããã¹ãã±ã¼ã¹ - 09_less: Test Success 2011-01-10 12:14:24 - Detail in /home/foo/triangle/test/09_less/detail.log - - 04_isosceles_c/ - æå¹ãªäºç辺ä¸è§å½¢ã§2ã¤ã®ç辺ãå«ã3種é¡ã®çµåããã¹ã¦ãããããã¨ãã§ãã3ã¤ã®ãã¹ãã±ã¼ã¹ - 04_isosceles_c: Test Success 2011-01-10 12:14:24 - Detail in /home/foo/triangle/test/04_isosceles_c/detail.log +<pre class="example">01_scalene/ +æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ +01_scalene: Test Success 2011-01-10 12:14:23 +Detail in /home/foo/triangle/test/01_scalene/detail.log + +12_notint/ +æ´æ°ã§ãªãå¤ããã¤ãã¹ãã»ã±ã¼ã¹ +12_notint: Test Success 2011-01-10 12:14:23 +Detail in /home/foo/triangle/test/12_notint/detail.log + +03_isosceles/ +æå¹ãªäºç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ +03_isosceles: Test Success 2011-01-10 12:14:23 +Detail in /home/foo/triangle/test/03_isosceles/detail.log + +02_equilateral/ +æå¹ãªæ£ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ +02_equilateral: Test Success 2011-01-10 12:14:23 +Detail in /home/foo/triangle/test/02_equilateral/detail.log + +05_zero/ +1ã¤ã®è¾ºãã¼ãã®å¤ããã¤ãã¹ãã»ã±ã¼ã¹ +05_zero: Test Success 2011-01-10 12:14:23 +Detail in /home/foo/triangle/test/05_zero/detail.log + +13_argcnt/ +æ°å¤ã®åæ°ãééã£ã¦ãããã¨ãããããã¹ãã»ã±ã¼ã¹ +13_argcnt: Test Success 2011-01-10 12:14:23 +Detail in /home/foo/triangle/test/13_argcnt/detail.log + +10_lesses/ +ã¼ããã大ããª3ã¤ã®æ´æ°ã®ãã¡ã2ã¤ã®æ°ã®åããã以å¤ã®1ã¤ã®æ°ããå°ãããªããã¨ã«ããã¦ã3種é¡ã®é åãã¹ã¦ãèæ ®ãããã¨ã®ã§ãããã¹ãã±ã¼ã¹ +10_lesses: Test Success 2011-01-10 12:14:23 +Detail in /home/foo/triangle/test/10_lesses/detail.log + +07_line/ +ã¼ããã大ãã3ã¤ã®æ´æ°ããã¡ããã®ãã¡2ã¤ã®åããã以å¤ã®1ã¤ã¨çãããããªãã¹ãã»ã±ã¼ã¹ +07_line: Test Success 2011-01-10 12:14:23 +Detail in /home/foo/triangle/test/07_line/detail.log + +06_minus/ +1ã¤ã®è¾ºãè² ã®å¤ãããããã¹ãã»ã±ã¼ã¹ +06_minus: Test Success 2011-01-10 12:14:23 +Detail in /home/foo/triangle/test/06_minus/detail.log + +11_zeroall/ +ãã¹ã¦ã®è¾ºãã¼ãã§ãããã¹ãã»ã±ã¼ã¹ +11_zeroall: Test Success 2011-01-10 12:14:24 +Detail in /home/foo/triangle/test/11_zeroall/detail.log + +08_lines/ +1辺ã®é·ããä»ã®2辺ã®é·ãã®åã«çãããã¨ã3種é¡ã®é åã®ãã¹ã¦ã«å¯¾ãã¦ããããã¨ã®ã§ãããã¹ãã»ã±ã¼ã¹ +08_lines: Test Success 2011-01-10 12:14:24 +Detail in /home/foo/triangle/test/08_lines/detail.log + +09_less/ +ã¼ããã大ããª3ã¤ã®æ´æ°ã®ãã¡ã2ã¤ã®æ°ã®åããã以å¤ã®1ã¤ã®æ°ããå°ãããªããã¹ãã±ã¼ã¹ +09_less: Test Success 2011-01-10 12:14:24 +Detail in /home/foo/triangle/test/09_less/detail.log + +04_isosceles_c/ +æå¹ãªäºç辺ä¸è§å½¢ã§2ã¤ã®ç辺ãå«ã3種é¡ã®çµåããã¹ã¦ãããããã¨ãã§ãã3ã¤ã®ãã¹ãã±ã¼ã¹ +04_isosceles_c: Test Success 2011-01-10 12:14:24 +Detail in /home/foo/triangle/test/04_isosceles_c/detail.log </pre> <p>ãã¹ããã¾ã¨ãã¦å®è¡ããå ´åããåå¥ã®ãã¹ããå®è¡ããå ´åã¨åæ§ã«ããã¹ããã£ã¬ã¯ããªã¼ã«ãã¹ããã°ãåºåããã¾ããç¹å®ã®ãã¹ãçµæã詳細ã«æ¤è¨ããå ´åã¯ããã®ãã¹ãã®ãã¹ããã£ã¬ã¯ããªã¼ãéãã¦ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèªããã¾ãã <h4 class="unnumberedsubsec">ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®å ´å</h4> -<p>ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ãæºåãã¦ãã¹ãã°ã«ã¼ããå®è¡ããå ´åã<samp><span class="file">TEST.log</span></samp>ã¯æ¬¡ã®ããã«è¡¨ç¤ºããã¾ãã01_scaleneã®ã»ãã11_zeroã®ãã¹ãã§å¤±æãã¦ãã¾ãããã¹ã¦ã®è¾ºãã¼ãã§ããå ´åã«è¡¨ç¤ºãæ£ãããªããã°ããããã¨ããããã¾ãã - -<pre class="example"> 01_scalene/ - æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ - 01_scalene: Test Failure 2011-01-10 21:45:52 - Detail in /home/foo/triangle/test/01_scalene/detail.log - - 12_notint/ - æ´æ°ã§ãªãå¤ããã¤ãã¹ãã»ã±ã¼ã¹ - 12_notint: Test Success 2011-01-10 21:45:52 - Detail in /home/foo/triangle/test/12_notint/detail.log - - 03_isosceles/ - æå¹ãªäºç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ - 03_isosceles: Test Success 2011-01-10 21:45:52 - Detail in /home/foo/triangle/test/03_isosceles/detail.log - - 02_equilateral/ - æå¹ãªæ£ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ - 02_equilateral: Test Success 2011-01-10 21:45:53 - Detail in /home/foo/triangle/test/02_equilateral/detail.log - - 05_zero/ - 1ã¤ã®è¾ºãã¼ãã®å¤ããã¤ãã¹ãã»ã±ã¼ã¹ - 05_zero: Test Failure 2011-01-10 21:45:53 - Detail in /home/foo/triangle/test/05_zero/detail.log - - 13_argcnt/ - æ°å¤ã®åæ°ãééã£ã¦ãããã¨ãããããã¹ãã»ã±ã¼ã¹ - 13_argcnt: Test Success 2011-01-10 21:45:53 - Detail in /home/foo/triangle/test/13_argcnt/detail.log - - 10_lesses/ - ã¼ããã大ããª3ã¤ã®æ´æ°ã®ãã¡ã2ã¤ã®æ°ã®åããã以å¤ã®1ã¤ã®æ°ããå°ãããªããã¨ã«ããã¦ã3種é¡ã®é åãã¹ã¦ãèæ ®ãããã¨ã®ã§ãããã¹ãã±ã¼ã¹ - 10_lesses: Test Success 2011-01-10 21:45:53 - Detail in /home/foo/triangle/test/10_lesses/detail.log - - 07_line/ - ã¼ããã大ãã3ã¤ã®æ´æ°ããã¡ããã®ãã¡2ã¤ã®åããã以å¤ã®1ã¤ã¨çãããããªãã¹ãã»ã±ã¼ã¹ - 07_line: Test Success 2011-01-10 21:45:53 - Detail in /home/foo/triangle/test/07_line/detail.log - - 06_minus/ - 1ã¤ã®è¾ºãè² ã®å¤ãããããã¹ãã»ã±ã¼ã¹ - 06_minus: Test Success 2011-01-10 21:45:53 - Detail in /home/foo/triangle/test/06_minus/detail.log - - 11_zeroall/ - ãã¹ã¦ã®è¾ºãã¼ãã§ãããã¹ãã»ã±ã¼ã¹ - 11_zeroall: Test Failure 2011-01-10 21:45:53 - Detail in /home/foo/triangle/test/11_zeroall/detail.log - - 08_lines/ - 1辺ã®é·ããä»ã®2辺ã®é·ãã®åã«çãããã¨ã3種é¡ã®é åã®ãã¹ã¦ã«å¯¾ãã¦ããããã¨ã®ã§ãããã¹ãã»ã±ã¼ã¹ - 08_lines: Test Success 2011-01-10 21:45:53 - Detail in /home/foo/triangle/test/08_lines/detail.log - - 09_less/ - ã¼ããã大ããª3ã¤ã®æ´æ°ã®ãã¡ã2ã¤ã®æ°ã®åããã以å¤ã®1ã¤ã®æ°ããå°ãããªããã¹ãã±ã¼ã¹ - 09_less: Test Success 2011-01-10 21:45:53 - Detail in /home/foo/triangle/test/09_less/detail.log - - 04_isosceles_c/ - æå¹ãªäºç辺ä¸è§å½¢ã§2ã¤ã®ç辺ãå«ã3種é¡ã®çµåããã¹ã¦ãããããã¨ãã§ãã3ã¤ã®ãã¹ãã±ã¼ã¹ - 04_isosceles_c: Test Success 2011-01-10 21:45:53 - Detail in /home/foo/triangle/test/04_isosceles_c/detail.log - + <p>ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ãæºåãã¦ãã¹ãã°ã«ã¼ããå®è¡ããå ´åã<samp><span class="file">TEST.log</span></samp>ã¯æ¬¡ã®ããã«è¡¨ç¤ºããã¾ãã01_scaleneã®ã»ãã11_zeroã®ãã¹ãã§å¤±æãã¦ãã¾ãããã¹ã¦ã®è¾ºãã¼ãã§ããå ´åã«è¡¨ç¤ºãæ£ãããªããã°ããããã¨ããããã¾ãã + +<pre class="example">01_scalene/ +æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ +01_scalene: Test Failure 2011-01-10 21:45:52 +Detail in /home/foo/triangle/test/01_scalene/detail.log + +12_notint/ +æ´æ°ã§ãªãå¤ããã¤ãã¹ãã»ã±ã¼ã¹ +12_notint: Test Success 2011-01-10 21:45:52 +Detail in /home/foo/triangle/test/12_notint/detail.log + +03_isosceles/ +æå¹ãªäºç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ +03_isosceles: Test Success 2011-01-10 21:45:52 +Detail in /home/foo/triangle/test/03_isosceles/detail.log + +02_equilateral/ +æå¹ãªæ£ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ +02_equilateral: Test Success 2011-01-10 21:45:53 +Detail in /home/foo/triangle/test/02_equilateral/detail.log + +05_zero/ +1ã¤ã®è¾ºãã¼ãã®å¤ããã¤ãã¹ãã»ã±ã¼ã¹ +05_zero: Test Failure 2011-01-10 21:45:53 +Detail in /home/foo/triangle/test/05_zero/detail.log + +13_argcnt/ +æ°å¤ã®åæ°ãééã£ã¦ãããã¨ãããããã¹ãã»ã±ã¼ã¹ +13_argcnt: Test Success 2011-01-10 21:45:53 +Detail in /home/foo/triangle/test/13_argcnt/detail.log + +10_lesses/ +ã¼ããã大ããª3ã¤ã®æ´æ°ã®ãã¡ã2ã¤ã®æ°ã®åããã以å¤ã®1ã¤ã®æ°ããå°ãããªããã¨ã«ããã¦ã3種é¡ã®é åãã¹ã¦ãèæ ®ãããã¨ã®ã§ãããã¹ãã±ã¼ã¹ +10_lesses: Test Success 2011-01-10 21:45:53 +Detail in /home/foo/triangle/test/10_lesses/detail.log + +07_line/ +ã¼ããã大ãã3ã¤ã®æ´æ°ããã¡ããã®ãã¡2ã¤ã®åããã以å¤ã®1ã¤ã¨çãããããªãã¹ãã»ã±ã¼ã¹ +07_line: Test Success 2011-01-10 21:45:53 +Detail in /home/foo/triangle/test/07_line/detail.log + +06_minus/ +1ã¤ã®è¾ºãè² ã®å¤ãããããã¹ãã»ã±ã¼ã¹ +06_minus: Test Success 2011-01-10 21:45:53 +Detail in /home/foo/triangle/test/06_minus/detail.log + +11_zeroall/ +ãã¹ã¦ã®è¾ºãã¼ãã§ãããã¹ãã»ã±ã¼ã¹ +11_zeroall: Test Failure 2011-01-10 21:45:53 +Detail in /home/foo/triangle/test/11_zeroall/detail.log + +08_lines/ +1辺ã®é·ããä»ã®2辺ã®é·ãã®åã«çãããã¨ã3種é¡ã®é åã®ãã¹ã¦ã«å¯¾ãã¦ããããã¨ã®ã§ãããã¹ãã»ã±ã¼ã¹ +08_lines: Test Success 2011-01-10 21:45:53 +Detail in /home/foo/triangle/test/08_lines/detail.log + +09_less/ +ã¼ããã大ããª3ã¤ã®æ´æ°ã®ãã¡ã2ã¤ã®æ°ã®åããã以å¤ã®1ã¤ã®æ°ããå°ãããªããã¹ãã±ã¼ã¹ +09_less: Test Success 2011-01-10 21:45:53 +Detail in /home/foo/triangle/test/09_less/detail.log + +04_isosceles_c/ +æå¹ãªäºç辺ä¸è§å½¢ã§2ã¤ã®ç辺ãå«ã3種é¡ã®çµåããã¹ã¦ãããããã¨ãã§ãã3ã¤ã®ãã¹ãã±ã¼ã¹ +04_isosceles_c: Test Success 2011-01-10 21:45:53 +Detail in /home/foo/triangle/test/04_isosceles_c/detail.log + </pre> <div class="node"> -<a name="Associate"></a> +<a name="Associate-triangle"></a> <p><hr> -Previous: <a rel="previous" accesskey="p" href="#Check-Group-Log">Check Group Log</a>, -Up: <a rel="up" accesskey="u" href="#Tutorial">Tutorial</a> +Previous: <a rel="previous" accesskey="p" href="#Check-triangle-group-log">Check triangle group log</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-triangle">Tutorial triangle</a> </div> <h3 class="section">3.10 ãã«ãã¨ã®é£æº</h3> -<p>ä¸è§å½¢å¤å®ããã°ã©ã ã§ã¯ã<samp><span class="file">~/triangle</span></samp>ãªã©ä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã®ãããã§<kbd>make</kbd>ãå®è¡ããã°ããã°ã©ã ããã«ãã§ãã¾ãããä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã®<samp><span class="file">Makefile</span></samp>ã次ã®ããã«ç·¨éããã¨ããã«ãã¨é£æºãã¦ãã¹ããå®è¡ã§ããããã«ãªãã¾ãã - -<pre class="example"> CC = gcc - - .PHONY: all <kbd>check</kbd> clean - - all: - $(CC) -o triangle triangle.c - - <kbd>check:</kbd> - <kbd> $(MAKE) -c test</kbd> - - clean: - rm -f triangle + <p>ä¸è§å½¢å¤å®ããã°ã©ã ã§ã¯ã<samp><span class="file">~/triangle</span></samp>ãªã©ä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã®ãããã§<kbd>make</kbd>ãå®è¡ããã°ããã°ã©ã ããã«ãã§ãã¾ãããä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã®<samp><span class="file">Makefile</span></samp>ã次ã®ããã«ç·¨éããã¨ããã«ãã¨é£æºãã¦ãã¹ããå®è¡ã§ããããã«ãªãã¾ãã + +<pre class="example">CC = gcc + +.PHONY: all <kbd>check</kbd> clean + +all: + $(CC) -o triangle triangle.c + +<kbd>check:</kbd> +<kbd> $(MAKE) -c test</kbd> + +clean: + rm -f triangle </pre> <p>ãã«ãã¨ãã¹ãã¯ã次ã®ããã«å®è¡ãã¾ãã -<pre class="example"> $ <kbd>make</kbd> - gcc -o triangle triangle.c - $ <kbd>make check</kbd> - make -C test - test: 13 / 13 tests passed. Detail in /Users/kazubito/2011_01/triangle/test/TEST.log - test: All tests are succeded. +<pre class="example">$ <kbd>make</kbd> +gcc -o triangle triangle.c +$ <kbd>make check</kbd> +make -C test +test: 13 / 13 tests passed. Detail in /home/foo/triangle/test/TEST.log +test: All tests are succeded. </pre> <p>ããããè¨å®ããã¦ããã°ãããã°ã©ã ãå¤æ´ãããã³ã«ç°¡åã«ãã«ãã¨ãã¹ããå®è¡ãããã¨ãã§ãã¾ãã +<div class="node"> +<a name="Tutorial-sort"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Template-dir">Template dir</a>, +Previous: <a rel="previous" accesskey="p" href="#Tutorial-triangle">Tutorial triangle</a>, +Up: <a rel="up" accesskey="u" href="#Top">Top</a> + +</div> + +<h2 class="chapter">4 Autotest.mk ãã¥ã¼ããªã¢ã«II - Cè¨èª<code>sort</code>é¢æ°ã®ãã¹ã</h2> + +<ul class="menu"> +<li><a accesskey="1" href="#Tutorial-sort-About">Tutorial sort About</a>: æ¦è¦ +<li><a accesskey="2" href="#Prepare-sort">Prepare sort</a>: æºå +<li><a accesskey="3" href="#Create-sort-group">Create sort group</a>: ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ +<li><a accesskey="4" href="#Create-sort-test">Create sort test</a>: ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ +<li><a accesskey="5" href="#Create-sort-src">Create sort src</a>: é¢æ°ãã¹ãç¨ããã°ã©ã ã®ã½ã¼ã¹ä½æ +<li><a accesskey="6" href="#Edit-sort-Makefile">Edit sort Makefile</a>: <samp><span class="file">Makefile</span></samp>ã®ç·¨é +<li><a accesskey="7" href="#Edit-sort-desc">Edit sort desc</a>: ãã¹ã説æãã¡ã¤ã«ã®ä½æ +<li><a accesskey="8" href="#Set-sort-test">Set sort test</a>: ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ +<li><a accesskey="9" href="#Execute-sort-test">Execute sort test</a>: ãã¹ãã®å®è¡ +<li><a href="#Check-sort-log">Check sort log</a>: ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª +<li><a href="#Execute-sort-group">Execute sort group</a>: ãã¹ãã°ã«ã¼ãã®å®è¡ +<li><a href="#Check-sort-group-log">Check sort group log</a>: ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª +<li><a href="#Iteretive">Iteretive</a>: éçºã¨ãã¹ãã®å復 +</ul> + +<div class="node"> +<a name="Tutorial-sort-About"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Prepare-sort">Prepare sort</a>, +Previous: <a rel="previous" accesskey="p" href="#Tutorial-sort">Tutorial sort</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-sort">Tutorial sort</a> + +</div> + +<h3 class="unnumberedsec">æ¦è¦</h3> + + <p>ããã§ã¯Cè¨èªã®é¢æ°ãã¹ãã®ä¾ã¨ãã¦ã<code>sort</code>é¢æ°ããã¹ããã¾ãã<a href="http://cunit.sourceforge.net/">CUnit</a>ã®ããããããæ¥æ¬èªãã¥ã¼ããªã¢ã«<a href="http://homepage3.nifty.com/kaku-chan/cunit/index.html">CUnit ãã¥ã¼ããªã¢ã«</a>ã§ä½¿ããã¦ããé¢æ°ã§ãã + + <p><samp><span class="file">sort_normal.c</span></samp>ã¯ã次ã®å 容ã§ãã + +<pre class="example">void sort(int array[], int num) { + int i; + int j; + int val; + + for(i=0; i<(num-1); i++) { + for(j=(num-1); j>i; j--) { + if (array[j-1] > array[j]) { + val = array[j]; + array[j] = array[j-1]; + array[j-1] = val; + } + } + } +} +</pre> + <p>ãã°ãå«ã<samp><span class="file">sort_normal.c</span></samp>ã¯ã次ã®å 容ã§ãã + +<pre class="example">void sort(int array[], int num) { + int i; + int j; + int val; + + for(i=0; i<(num-1); i++) { + for(j=(num-1); j>i; j--) { + if (array[j-1] > array[j]) { + val = array[j]; + array[j] = array[j]; // æ¬å½ã¯ array[j] = array[j-1]; + array[j-1] = val; + } + } + } +} +</pre> + <p>ããã°ã©ã ã¯ããµã³ãã«ã¨ãã¦ç¨æããã¦ãããã®ã<a href="#Prepare-sort">æºå</a>ãã¦ãã ããã + + <p>æºåãã§ããããAutotest.mkã使ã£ã次ã®æé ã§ãã¹ããå®è¡ã§ãã¾ãã + + <ol type=1 start=1> +<li>ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ + + <li>ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ + + <li>ãã¹ã説æãã¡ã¤ã«ã®ä½æ + + <li>é¢æ°ãã¹ãç¨ããã°ã©ã ã®ã½ã¼ã¹ä½æ + + <li><samp><span class="file">Makefile</span></samp>ã®ç·¨é + + <li>ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ + + <li>ãã¹ãã®å®è¡ + + <li>ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª + + <li>ãã¹ãã°ã«ã¼ãã®å®è¡ + + <li>ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª + </ol> + +<div class="node"> +<a name="Prepare-sort"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Create-sort-group">Create sort group</a>, +Previous: <a rel="previous" accesskey="p" href="#Tutorial-sort-About">Tutorial sort About</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-sort">Tutorial sort</a> + +</div> + +<h3 class="unnumberedsec">æºå</h3> + +<h4 class="unnumberedsubsec">ä½æ¥ç¨ãã©ã«ãã®ä½æ</h4> + + <p>ã¾ããAutotest.mkã®ããã±ã¼ã¸ã«å«ã¾ãã¦ãã<samp><span class="file">sample/sort</span></samp>以ä¸ã®ãã¡ã¤ã«ããä»»æã®ä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã«ã³ãã¼ãã¾ããããã§ã¯ã<samp><span class="file">~/sort</span></samp>ï¼<samp><span class="file">~</span></samp>ã¯ãç¾å¨ãã°ã¤ã³ãã¦ããã¦ã¼ã¶ã¼ã®ãã¼ã ãã£ã¬ã¯ããªã¼ï¼ãä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã«ãã¾ããã¾ãã<samp><span class="file">autotest.mk</span></samp>ã¯ã<samp><span class="file">~</span></samp>ã«å±éããã¦ãããã®ã¨ãã¾ãã + +<pre class="example">$ <kbd>cd</kbd> +$ <kbd>mkdir sort</kbd> +$ <kbd>cd autotest.mk/sample/sort</kbd> +$ <kbd>cp sort_normal.c sort_bug.c Makefile ~/sort</kbd> +</pre> + <p>ä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã«ç§»åããä¸ã®ãã¡ã¤ã«ã確èªãã¾ãã + +<pre class="example">$ <kbd>cd ~/sort</kbd> +$ <kbd>ls</kbd> +Makefile sort_normal.c sort_bug.c +</pre> + <h4 class="unnumberedsubsec"><code>sort</code>é¢æ°ãã¡ã¤ã«ã®æºå</h4> + + <p><kbd>make</kbd>ã¾ãã¯<kbd>make normal</kbd>ã§ã<samp><span class="file">sort_normal.c</span></samp>ã<samp><span class="file">sort.c</span></samp>ã«ã³ãã¼ããã¾ãã + +<pre class="example">$ <kbd>make</kbd> +rm -f sort.c +cp sort_normal.c sort.c +</pre> + <h4 class="unnumberedsubsec">ãã°ãå«ã<code>sort</code>é¢æ°ãã¡ã¤ã«ã®æºå</h4> + + <p><kbd>make bug</kbd>ã§ã<samp><span class="file">sort_bug.c</span></samp>ã<samp><span class="file">sort.c</span></samp>ã«ã³ãã¼ããã¾ãã +ãã®å ´åã<samp><span class="file">sort.c</span></samp>ã¯ãã°ãå«ã¿ã¾ãã + +<pre class="example">$ <kbd>make bug</kbd> +rm -f sort.c +cp sort_bug.c sort.c +</pre> + <div class="node"> +<a name="Create-sort-group"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Create-sort-test">Create sort test</a>, +Previous: <a rel="previous" accesskey="p" href="#Prepare-sort">Prepare sort</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-sort">Tutorial sort</a> + +</div> + +<h3 class="section">4.1 ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ</h3> + + <p>ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã§<kbd>make</kbd>ãå®è¡ããã°ã«ã¼ããã£ã¬ã¯ããªã¼ãä½æãã¾ãããã®ã¨ãããã¹ãã°ã«ã¼ãã®ãã£ã¬ã¯ããªã¼ãå¤æ°<code>GROUPDIR</code>ã§æå®ãã¾ããããã§ã¯ã<kbd>~/sort/test</kbd>ããã¹ãã°ã«ã¼ãã®ãã£ã¬ã¯ããªã¼ã«ãã¾ãã + +<pre class="example">$ <kbd>cd ~/autotest.mk/template</kbd> +$ <kbd>make GROUPDIR=~/sort/test</kbd> +</pre> + <p>次ã®ã³ãã³ãã§ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«ç§»åãããã®ä¸ã確èªãã¾ãã + +<pre class="example">$ <kbd>cd ~/sort/test</kbd> +$ <kbd>ls</kbd> +Define.mk Makefile Test.mk +</pre> + <div class="node"> +<a name="Create-sort-test"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Create-sort-src">Create sort src</a>, +Previous: <a rel="previous" accesskey="p" href="#Create-sort-group">Create sort group</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-sort">Tutorial sort</a> + +</div> + +<h3 class="section">4.2 ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ</h3> + + <p>ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã§<kbd>make create</kbd>ãå®è¡ãããã¹ããã£ã¬ã¯ããªã¼ãä½æãã¾ãããã®ã¨ããå¤æ°<code>GROUPDIR</code>ã§ãã¹ãåãæå®ããããã«Cè¨èªã®é¢æ°ãã¹ãç¨ã®<code>Makefile</code>ãä½æããããå¤æ°<code>SRC=c</code>ãæå®ãã¾ããããã§ã¯ã1ã¤ãã®ãã¹ãã<samp><span class="file">sort_001</span></samp>ã¨ããååã§ä½æãã¾ã<a rel="footnote" href="#fn-3" name="fnd-3"><sup>3</sup></a>ã + +<pre class="example">$ <kbd>make create TEST=sort_001 SRC=c</kbd> +</pre> + <p>次ã®ã³ãã³ãã§ãã¹ããã£ã¬ã¯ããªã¼ã«ç§»åãããã®ä¸ã確èªãã¾ãã + +<pre class="example">$ <kbd>cd sort_001</kbd> +$ <kbd>ls</kbd> +Makefile +</pre> + <div class="node"> +<a name="Create-sort-src"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Edit-sort-Makefile">Edit sort Makefile</a>, +Previous: <a rel="previous" accesskey="p" href="#Create-sort-test">Create sort test</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-sort">Tutorial sort</a> + +</div> + +<h3 class="section">4.3 é¢æ°ãã¹ãç¨ããã°ã©ã ã®ã½ã¼ã¹ä½æ</h3> + + <p>Cè¨èªã®é¢æ°ããã¹ãããããã®ããã°ã©ã ãCè¨èªã§è¨è¿°ãããããã°ã©ã ã®ã½ã¼ã¹ãã¡ã¤ã«<samp><span class="file">cmd.c</span></samp>ãããã¹ãã¨ãã£ã¿ã¼ã§ä½æãã¾ãããã¹ã対象ã®é¢æ°<code>sort</code>ãå¼ã³åºãã¦ã½ã¼ããå®è¡ãããã®çµæã表示ããããã°ã©ã ã§ãã + +<pre class="example">#include <stdio.h> +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +void sort(int array[], int num); + +int main() { + int i, array[] = {11, 7, 5, 3, 2}; + + sort(array, ARRAYSIZE(array)); + for(i = 0; i < ARRAYSIZE(array); i++) { + printf("%d\n", array[i]); + } + return 0; +} +</pre> + <div class="node"> +<a name="Edit-sort-Makefile"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Edit-sort-desc">Edit sort desc</a>, +Previous: <a rel="previous" accesskey="p" href="#Create-sort-src">Create sort src</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-sort">Tutorial sort</a> + +</div> + +<h3 class="section">4.4 <samp><span class="file">Makefile</span></samp>ã®ç·¨é</h3> + + <p><samp><span class="file">Makefile</span></samp>ãããã¹ãã¨ãã£ã¿ã¼ã§ç·¨éãããã¹ã対象ãã¡ã¤ã«ãããããå¤æ°<code>TESTTARGET_FILES</code>ãæå®ãã¾ãã +ããã§ã¯ã<samp><span class="file">../../sort.c</span></samp>ãæå®ãã¾ãã + +<pre class="example">include ../Define.mk +include ../Test.mk + +CC := gcc +CFLAGS := -Wall + +.INTERMEDIATE: $(CMD_FILE) + +CMDSRC_FILE := cmd.c +TESTTARGET_FILES := <kbd>../../sort.c</kbd> # Set test target files + +COMPILE_FILE := compile.log + +$(CMD_FILE): $(CMDSRC_FILE) $(TESTTARGET_FILES) + $(CC) $(CFLAGS) -o $ $^ >$(COMPILE_FILE) 2>&1 + cat $(COMPILE_FILE) +</pre> + <div class="node"> +<a name="Edit-sort-desc"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Set-sort-test">Set sort test</a>, +Previous: <a rel="previous" accesskey="p" href="#Edit-sort-Makefile">Edit sort Makefile</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-sort">Tutorial sort</a> + +</div> + +<h3 class="section">4.5 ãã¹ã説æãã¡ã¤ã«ã®ä½æ</h3> + + <p>ãã¹ã説æãã¡ã¤ã«<samp><span class="file">desc.txt</span></samp>ã¯ãã¹ãã«é¢ãã説æãããããããã¹ãã®çµæã¨ä¸ç·ã«ãã°ã«åºåããã¾ãã +<samp><span class="file">desc.txt</span></samp>ãããã¹ãã¨ãã£ã¿ã¼ã使ã£ã¦æ¬¡ã®å 容ã§ä½æãã¾ãã + +<pre class="example"><kbd>ãã¹ãé¢æ°1</kbd> +</pre> + <div class="node"> +<a name="Set-sort-test"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Execute-sort-test">Execute sort test</a>, +Previous: <a rel="previous" accesskey="p" href="#Edit-sort-desc">Edit sort desc</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-sort">Tutorial sort</a> + +</div> + +<h3 class="section">4.6 ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ</h3> + + <p>ãã¹ãæ³å®ãã¡ã¤ã«<samp><span class="file">0.txt</span></samp>ã¯ããã¹ããæ£ããå®è¡ãããå ´åã®çµæãããããã¾ãã<samp><span class="file">0.txt</span></samp>ã®ä½ææ¹æ³ã¯ã次ã®3ã¤ãããã¾ãã + + <ul> +<li>æåã§ä½æ + + <li><kbd>make set</kbd> + + <li><kbd>make reset</kbd> +</ul> + + <p>ã¨ã©ã¼ãçºçãããã¹ãã§ã¯ãæ¨æºåºåæ³å®ã®ä¸ã«ã¨ã©ã¼åºåæ³å®ãç¶ãã¾ãã + +<h4 class="subsection">4.6.1 æåã§ä½æ</h4> + + <p>ãã¹ãæ³å®ãã¡ã¤ã«<samp><span class="file">0.txt</span></samp>ãããã¹ãã¨ãã£ã¿ã¼ã使ã£ã¦æ¬¡ã®å 容ã§ä½æãã¾ãã + +<pre class="example"><kbd>3</kbd> +</pre> + <h4 class="subsection">4.6.2 <kbd>make set</kbd></h4> + + <p><kbd>make set</kbd>ãå®è¡ããã¨ã<samp><span class="file">Makefile</span></samp>ã®è¨å®ã«å¾ãé¢æ°ãã¹ãç¨ã®ããã°ã©ã ã½ã¼ã¹<samp><span class="file">cmd.c</span></samp>ã¨é¢æ°ãã¡ã¤ã«<samp><span class="file">../../sort.c</span></samp>ããã³ãã³ããã¡ã¤ã«<samp><span class="file">cmd</span></samp>ãä½æããã¾ãããã®ãã¨<samp><span class="file">cmd</span></samp>ãå®è¡ãããå®è¡çµæã¯<samp><span class="file">0.txt</span></samp>ãã¡ã¤ã«ã«åºåããã¾ããå®è¡å¾ã次åã®ãã¹ãã®ããã<samp><span class="file">cmd</span></samp>ã¯èªåçã«åé¤ããã¾ãã + +<pre class="example">$ <kbd>make set</kbd> +gcc -Wall -o cmd cmd.c ../../sort.c +2 +3 +5 +7 +11 +rm cmd +</pre> + <p>ãã®æ¹æ³ã§<samp><span class="file">0.txt</span></samp>ãä½æããå ´åã¯ãä½æãããå 容ããã¹ãæ³å®ã¨ãã¦æ¬å½ã«æ£ãããããæ¤è¨ããå¿ è¦ãããã¾ãã + + <p><samp><span class="file">0.txt</span></samp>ããã§ã«åå¨ããå ´åã¯<kbd>make set</kbd>ãå®è¡ããã¨ã¨ã©ã¼ã«ãªãã<samp><span class="file">0.txt</span></samp>ã¯æ´æ°ããã¾ãããä¾ãã°ããã°ãå«ã<code>sort</code>é¢æ°ãã¡ã¤ã«ãæºåãã¦<kbd>make set</kbd>ãå®è¡ããã¨ãä»æ§ã¨ç°ãªã次ã®ãããªãã¹ãæ³å®ã¨ãªãããã¹ããæ£ããå®è¡ã§ãã¾ããã + +<pre class="example">$ <kbd>make set</kbd> +gcc -Wall -o cmd cmd.c ../../sort.c +2 +2 +2 +2 +2 +rm cmd +</pre> + <h4 class="subsection">4.6.3 <kbd>make reset</kbd></h4> + + <p><samp><span class="file">0.txt</span></samp>ããã§ã«åå¨ããå ´åã¯ã<kbd>make reset</kbd>ã§æ´æ°ã§ãã¾ãã + +<pre class="example">$ <kbd>make reset</kbd> +gcc -Wall -o cmd cmd.c ../../sort.c +2 +3 +5 +7 +11 +rm cmd +</pre> + <div class="node"> +<a name="Execute-sort-test"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Check-sort-log">Check sort log</a>, +Previous: <a rel="previous" accesskey="p" href="#Set-sort-test">Set sort test</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-sort">Tutorial sort</a> + +</div> + +<h3 class="section">4.7 ãã¹ãã®å®è¡</h3> + + <p>ã³ãã³ããã¡ã¤ã«ã¨ãã¹ãæ³å®ãç¨æãããã<kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd>ã§ãã¹ããå®è¡ã§ãã¾ãã + +<pre class="example">$ <kbd>ls</kbd> +0.txt Makefile cmd.c desc.txt +$ <kbd>make</kbd> +sort_001: Test Success 2011-01-24 11:13:04 +Details in /home/foo/sort/test/sort_001/detail.log +rm cmd +</pre> + <p>表示ãããé ç®ã¯ã次ã®ã¨ããã§ãã + + <ul> +<li><ãã¹ã説æãã¡ã¤ã«<samp><span class="file">desc.txt</span></samp>ã®å 容> + + <li><ãã¹ãå>: <ãã¹ãçµæï¼Test Successã¾ãã¯Test Failureï¼> <ãã¹ãå®è¡æ¥æ> + + <li>Detail in <ãã¹ã詳細ãã°ãã¡ã¤ã«ã®çµ¶å¯¾ãã¹> +</ul> + +<h4 class="unnumberedsubsec">ãã°ãå«ã<code>sort</code>é¢æ°ã®å ´å</h4> + + <p>æ£ãããã¹ãæ³å®ãä½æãã¦ããå ´åã«ãã°ãå«ã<code>sort</code>é¢æ°ã§ãã¹ããå®è¡ããã¨ã次ã®ããã«è¡¨ç¤ºããã¾ãã + +<pre class="example">$ <kbd>make</kbd> +gcc -Wall -o cmd cmd.c ../../sort.c +make: [diff.log] Error 1 (ignored) +ãã¹ãé¢æ°1 +sort_001: Test Failure 2011-01-24 11:09:34 +Details in /home/foo/sort/test/sort_001/detail.log +rm cmd +</pre> + <div class="node"> +<a name="Check-sort-log"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Execute-sort-group">Execute sort group</a>, +Previous: <a rel="previous" accesskey="p" href="#Execute-sort-test">Execute sort test</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-sort">Tutorial sort</a> + +</div> + +<h3 class="section">4.8 ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª</h3> + + <p>ãã¹ããå®è¡ãã¦ä½æããããã¡ã¤ã«ã確èªãã¾ãã<samp><span class="file">1.txt</span></samp> <samp><span class="file">summary.log</span></samp> <samp><span class="file">detail.log</span></samp>ãä½æããã¦ãã¾ãã + +<pre class="example">$ <kbd>ls</kbd> +0.txt 1.txt Makefile cmd desc.txt detail.log summary.log +</pre> + <p>ãã¹ããå®è¡ããã¨ä½æããããã¡ã¤ã«ã¯ã次ã®ã¨ããã§ããå¿ è¦ã«å¿ãã¦ãã¡ã¤ã«ã®å 容ã確èªãã¾ãã + + <dl> +<dt><samp><span class="file">1.txt</span></samp><dd>ãã¹ãçµæãããããã¾ããã¨ã©ã¼çºçæã¯ãæ¨æºåºåã®ãã¨ã«ã¨ã©ã¼åºåãç¶ãã¾ã + + <br><dt><samp><span class="file">err.log</span></samp><dd>ã¨ã©ã¼çºçæã«ãã¨ã©ã¼ãåºåããã¾ããã¨ã©ã¼ãçºçããªãå ´åã¯ä½æããã¾ãã + + <br><dt><samp><span class="file">diff.log</span></samp><dd>ãã¹ãæ³å®ãã¡ã¤ã«<samp><span class="file">0.txt</span></samp>ã¨ãã¹ãçµæãã¡ã¤ã«<samp><span class="file">1.txt</span></samp>ã®å·®åãããããã¾ããæ³å®ã¨çµæãåä¸ã®å ´åã¯ãä½æããã¾ãã + + <br><dt><samp><span class="file">summary.log</span></samp><dd>ãã¹ãã®å®è¡çµæã表ãã¾ãããã¹ãå®è¡æã«è¡¨ç¤ºãããé ç®ã§ãã + + <br><dt><samp><span class="file">detail.log</span></samp><dd>ãã¹ãã®è©³ç´°ãã°ã表ãã¾ããä¸è¨ã®å 容ããã¹ã¦åºåããã¾ã +</dl> + + <p><samp><span class="file">detail.log</span></samp>ã¯ã次ã®ããã«ãªãã¾ãã + +<pre class="example">== summary.log == +---------------------------------------------------------------------- +ãã¹ãé¢æ°1 +sort_001: Test Success 2011-01-24 11:13:04 +Details in /Users/kazubito/2011_01/sort/test/sort_001/detail.log +---------------------------------------------------------------------- + +== cmd.c == +---------------------------------------------------------------------- +#include <stdio.h> +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +void sort(int array[], int num); + +int main() { + int i, array[] = {11, 7, 5, 3, 2}; + + sort(array, ARRAYSIZE(array)); + for(i = 0; i < ARRAYSIZE(array); i++) { + printf("%d\n", array[i]); + } + return 0; +} +---------------------------------------------------------------------- + +== 0.txt == +---------------------------------------------------------------------- +2 +3 +5 +7 +11 +---------------------------------------------------------------------- + +== 1.txt == +---------------------------------------------------------------------- +2 +3 +5 +7 +11 +---------------------------------------------------------------------- + +</pre> + <h4 class="unnumberedsubsec">ãã°ãå«ã<code>sort</code>é¢æ°ã®å ´å</h4> + + <p>ãã°ãå«ã<code>sort</code>é¢æ°ãæºåãã¦ãã¹ããå®è¡ããå ´åã<samp><span class="file">1.txt</span></samp> <samp><span class="file">summary.log</span></samp> <samp><span class="file">detail.log</span></samp>ã®ã»ãã«ããã¹ãæ³å®ã¨ãã¹ãçµæãç°ãªããã<kbd>diff.log</kbd>ãä½æããã¾ãã + +<pre class="example">$ <kbd>ls</kbd> +0.txt 1.txt Makefile cmd desc.txt detail.log diff.log summary.log +</pre> + <p><samp><span class="file">detail.log</span></samp>ã¯æ¬¡ã®ããã«ãªãã¾ãã + +<pre class="example">== summary.log == +---------------------------------------------------------------------- +ãã¹ãé¢æ°1 +sort_001: Test Failure 2011-01-24 11:09:34 +Details in /home/foo/sort/test/sort_001/detail.log +---------------------------------------------------------------------- + +== cmd.c == +---------------------------------------------------------------------- +#include <stdio.h> +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +void sort(int array[], int num); + +int main() { + int i, array[] = {11, 7, 5, 3, 2}; + + sort(array, ARRAYSIZE(array)); + for(i = 0; i < ARRAYSIZE(array); i++) { + printf("%d\n", array[i]); + } + return 0; +} +---------------------------------------------------------------------- + +== 0.txt == +---------------------------------------------------------------------- +2 +3 +5 +7 +11 +---------------------------------------------------------------------- + +== diff.log == +---------------------------------------------------------------------- +*** 0.txt 2011-01-24 11:07:39.000000000 +0900 +--- 1.txt 2011-01-24 11:09:34.000000000 +0900 +*************** +*** 1,5 **** + 2 +! 3 +! 5 +! 7 +! 11 +--- 1,5 ---- + 2 +! 2 +! 2 +! 2 +! 2 +---------------------------------------------------------------------- + +== 1.txt == +---------------------------------------------------------------------- +2 +2 +2 +2 +2 +---------------------------------------------------------------------- + +</pre> + <h4 class="subsection">4.8.1 ãã¹ãã®ã¯ãªã¢</h4> + + <p><kbd>make clean</kbd>ãå®è¡ããã¨ããã¹ãã®çµæä½æããããã¡ã¤ã«ãã¯ãªã¢ããã¾ãã + +<pre class="example">$ <kbd>make clean</kbd> +$ <kbd>ls</kbd> +0.txt Makefile cmd.c desc.txt +</pre> + <div class="node"> +<a name="Execute-sort-group"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Check-sort-group-log">Check sort group log</a>, +Previous: <a rel="previous" accesskey="p" href="#Check-sort-log">Check sort log</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-sort">Tutorial sort</a> + +</div> + +<h3 class="section">4.9 ãã¹ãã°ã«ã¼ãã®å®è¡</h3> + + <p>2ã¤ã以éã®ãã¹ãã»ã±ã¼ã¹ã«ã¤ãã¦ãã1ã¤ãã¨åãæé ã§ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æå¾ããã¹ã説æãã¡ã¤ã«ã¨ãã¹ãã³ãã³ããã¡ã¤ã«ããã¹ãæ³å®ãã¡ã¤ã«ãä½æãã¾ãã + + <p>ããã§ã¯ãå ã«ä½æãã<samp><span class="file">sort_001</span></samp>ãå«ãã¦ã次ã®ãããªãã£ã¬ã¯ããªã¼ã¨ãã¡ã¤ã«ãä½æãã¾ãããããããã£ã¬ã¯ããªã¼ããã¡ã¤ã«ã¯Autotest.mkã®<samp><span class="file">sample/sort/test</span></samp>以ä¸ã«ããã¾ãã + + <ul> + + <li>sort_001 + + <ul> +<li><samp><span class="file">Makefile</span></samp> <a href="sample_sort/sort_001/desc.txt"><samp><span class="file">desc.txt</span></samp></a> <a href="sample_sort/sort_001/cmd.c.txt"><samp><span class="file">cmd.c</span></samp></a> <a href="sample_sort/sort_001/0.txt"><samp><span class="file">0.txt</span></samp></a> +</ul> + + <li>sort_002 + + <ul> +<li><samp><span class="file">Makefile</span></samp> <a href="sample_sort/sort_002/desc.txt"><samp><span class="file">desc.txt</span></samp></a> <a href="sample_sort/sort_002/cmd.c.txt"><samp><span class="file">cmd.c</span></samp></a> <a href="sample_sort/sort_002/0.txt"><samp><span class="file">0.txt</span></samp></a> +</ul> + + <li>sort_003 + + <ul> +<li><samp><span class="file">Makefile</span></samp> <a href="sample_sort/sort_003/desc.txt"><samp><span class="file">desc.txt</span></samp></a> <a href="sample_sort/sort_003/cmd.c.txt"><samp><span class="file">cmd.c</span></samp></a> <a href="sample_sort/sort_003/0.txt"><samp><span class="file">0.txt</span></samp></a> +</ul> + + <li>sort_004 + + <ul> +<li><samp><span class="file">Makefile</span></samp> <a href="sample_sort/sort_004/desc.txt"><samp><span class="file">desc.txt</span></samp></a> <a href="sample_sort/sort_004/cmd.c.txt"><samp><span class="file">cmd.c</span></samp></a> <a href="sample_sort/sort_004/0.txt"><samp><span class="file">0.txt</span></samp></a> +</ul> + + <li>sort_005 + + <ul> +<li><samp><span class="file">Makefile</span></samp> <a href="sample_sort/sort_005/desc.txt"><samp><span class="file">desc.txt</span></samp></a> <a href="sample_sort/sort_005/cmd.c.txt"><samp><span class="file">cmd.c</span></samp></a> <a href="sample_sort/sort_005/0.txt"><samp><span class="file">0.txt</span></samp></a> +</ul> + </ul> + + <p>ãã¹ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã§ã¯ã<kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd>ã§è¤æ°ã®ãã¹ããã¾ã¨ãã¦å®è¡ã§ãã¾ãã + +<pre class="example">$ <kbd>cd ~/sort/test</kbd> +$ <kbd>make</kbd> +test: 5 / 5 tests passed. Details in /home/foo/sort/test/TEST.log +test: All tests are succeded. +</pre> + <p>表示ãããã®ã¯ã次ã®é ç®ã§ãã + <ul> +<li><ãã¹ãå>: <æåãã¹ãæ°>/<å ¨ãã¹ãæ°> test passed. Detail in <ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®çµ¶å¯¾ãã¹> + + <li>ï¼ãã¹ã¦ã®ãã¹ãã«æåããå ´åï¼<ãã¹ãå>: All tests are succeded. +</ul> + +<h4 class="unnumberedsubsec">ãã°ãå«ã<code>sort</code>é¢æ°ã®å ´å</h4> + + <p>ãã°ãå«ã<code>sort</code>é¢æ°ãæºåãã¦ãã¹ãã°ã«ã¼ããå®è¡ããå ´åã次ã®ããã«è¡¨ç¤ºããã¾ãã失æãããã¹ãããããã¨ãããããã¦ãã¾ãã + +<pre class="example">$ <kbd>cd ~/sort/test</kbd> +$ <kbd>make</kbd> +test: 1 / 5 tests passed. Details in /home/foo/sort/test/TEST.log +</pre> + <div class="node"> +<a name="Check-sort-group-log"></a> +<p><hr> +Next: <a rel="next" accesskey="n" href="#Iteretive">Iteretive</a>, +Previous: <a rel="previous" accesskey="p" href="#Execute-sort-group">Execute sort group</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-sort">Tutorial sort</a> + +</div> + +<h3 class="section">4.10 ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª</h3> + + <p>ãã¹ãã°ã«ã¼ããå®è¡ããã¨ä½æããããã¡ã¤ã«ã¯ã次ã®ã¨ããã§ãã + + <dl> +<dt><samp><span class="file"><ãã¹ãã°ã«ã¼ãåã大æåã«ããæåå>.log</span></samp><dd>ãã¹ãã°ã«ã¼ãã«å«ã¾ãããã¹ãã¨ãã®å®è¡çµæã®ä¸è¦§ãããããã¾ãã + + <br><dt><samp><span class="file">Summary.log</span></samp><dd>ãã¹ãã®å®è¡çµæã表ãã¾ãããã¹ãã°ã«ã¼ãå®è¡æã«è¡¨ç¤ºãããå 容ã§ãã +</dl> + + <p>ããã§ã¯ãã¹ãã°ã«ã¼ãåã¯<samp><span class="file">test</span></samp>ãªã®ã§ã<samp><span class="file">TEST.log</span></samp>ã次ã®å 容ã§ä½æããã¾ãã + +<pre class="example">sort_001/ +ãã¹ãé¢æ°1 +sort_001: Test Success 2011-01-24 11:37:46 +Details in /home/foo/sort/test/sort_001/detail.log + +sort_002/ +ãã¹ãé¢æ°1 +sort_002: Test Success 2011-01-24 11:37:46 +Details in /home/foo/sort/test/sort_002/detail.log + +sort_003/ +ãã¹ãé¢æ°3 +sort_003: Test Success 2011-01-24 11:37:46 +Details in /home/foo/sort/test/sort_003/detail.log + +sort_004/ +ãã¹ãé¢æ°4 +sort_004: Test Success 2011-01-24 11:37:46 +Details in /home/foo/sort/test/sort_004/detail.log + +sort_005/ +ãã¹ãé¢æ°5 +sort_005: Test Success 2011-01-24 11:37:47 +Details in /home/foo/sort/test/sort_005/detail.log + +</pre> + <p>ãã¹ããã¾ã¨ãã¦å®è¡ããå ´åããåå¥ã®ãã¹ããå®è¡ããå ´åã¨åæ§ã«ããã¹ããã£ã¬ã¯ããªã¼ã«ãã¹ããã°ãåºåããã¾ããç¹å®ã®ãã¹ãçµæã詳細ã«æ¤è¨ããå ´åã¯ããã®ãã¹ãã®ãã¹ããã£ã¬ã¯ããªã¼ãéãã¦ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèªããã¾ãã + +<h4 class="unnumberedsubsec">ãã°ãå«ã<code>sort</code>é¢æ°ã®å ´å</h4> + + <p>ãã°ãå«ã<code>sort</code>é¢æ°ãæºåãã¦ãã¹ãã°ã«ã¼ããå®è¡ããå ´åã<samp><span class="file">TEST.log</span></samp>ã¯æ¬¡ã®ããã«è¡¨ç¤ºããã¾ããsort_001ãsort_003ãsort_004ãsort_005ã®ãã¹ãã§å¤±æãã¦ãããã¨ããããã¾ãã + +<pre class="example">sort_001/ +ãã¹ãé¢æ°1 +sort_001: Test Failure 2011-01-24 12:03:02 +Details in /home/foo/sort/test/sort_001/detail.log + +sort_002/ +ãã¹ãé¢æ°1 +sort_002: Test Success 2011-01-24 12:03:02 +Details in /home/foo/sort/test/sort_002/detail.log + +sort_003/ +ãã¹ãé¢æ°3 +sort_003: Test Failure 2011-01-24 12:03:02 +Details in /home/foo/sort/test/sort_003/detail.log + +sort_004/ +ãã¹ãé¢æ°4 +sort_004: Test Failure 2011-01-24 12:03:02 +Details in /home/foo/sort/test/sort_004/detail.log + +sort_005/ +ãã¹ãé¢æ°5 +sort_005: Test Failure 2011-01-24 12:03:04 +Details in /home/foo/sort/test/sort_005/detail.log + +</pre> + <div class="node"> +<a name="Iteretive"></a> +<p><hr> +Previous: <a rel="previous" accesskey="p" href="#Check-sort-group-log">Check sort group log</a>, +Up: <a rel="up" accesskey="u" href="#Tutorial-sort">Tutorial sort</a> + +</div> + +<h3 class="section">4.11 éçºã¨ãã¹ãã®å復</h3> + + <p>ãã¨ã¯ãã¹ã対象ã¨ãªã£ã¦ããé¢æ°ãå¤æ´ãããã³ã«ããã¹ããå®è¡ã§ããããã«ãªãã¾ããã¤ã¾ããé¢æ°ã®åä½ã§éçºã¨ãã¹ããå復ãã¦ã§ãã¾ãã + + <p>é¢æ°ã®å®è£ ã ããå¤æ´ããã¦ä»æ§ãå¤ãã£ã¦ããªãå ´åã¯ããã¹ãã°ã«ã¼ãã®ãã£ã¬ã¯ããªã¼ã§<kbd>make</kbd>ãå®è¡ããã ãã§ãã¹ããã§ãã¾ãã + + <p>é¢æ°ã®å ¥åã¾ãã¯åºåã®ä»æ§ãå¤ãã£ãå ´åã«ã¯ã<samp><span class="file">0.txt</span></samp>ã¨<samp><span class="file">cmd.c</span></samp>ã®å¤æ´ãæ¤è¨ãã¾ããé¢æ°ã®ã³ã³ãã¤ã«æ¹æ³ï¼ä¾åãããã¡ã¤ã«ï¼ãå¤ãã£ãå ´åã¯ã<samp><span class="file">Makefile</span></samp>ã®å¤æ´ãæ¤è¨ãã¾ãã + <div class="node"> <a name="Template-dir"></a> <p><hr> Next: <a rel="next" accesskey="n" href="#Group-dir">Group dir</a>, -Previous: <a rel="previous" accesskey="p" href="#Tutorial">Tutorial</a>, +Previous: <a rel="previous" accesskey="p" href="#Tutorial-sort">Tutorial sort</a>, Up: <a rel="up" accesskey="u" href="#Top">Top</a> </div> -<h2 class="chapter">4 ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã«</h2> +<h2 class="chapter">5 ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã«</h2> -<p>ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã¯ãAutotest.mkãã¤ã³ã¹ãã¼ã«ããã¨ãã«å±éã«ããä½æããã<samp><span class="file">template</span></samp>ãã£ã¬ã¯ããªã¼ã§ãã + <p>ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã¯ãAutotest.mkãã¤ã³ã¹ãã¼ã«ããã¨ãã«å±éã«ããä½æããã<samp><span class="file">template</span></samp>ãã£ã¬ã¯ããªã¼ã§ãã <ul class="menu"> <li><a accesskey="1" href="#make-group">make group</a>: <kbd>make</kbd>ã¾ãã¯<kbd>make group</kbd> - ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ -<li><a accesskey="2" href="#Template-Files">Template Files</a>: ãã³ãã¬ã¼ãã®ãã¡ã¤ã« +<li><a accesskey="2" href="#Template-files">Template files</a>: ãã³ãã¬ã¼ãã®ãã¡ã¤ã« </ul> <div class="node"> <a name="make-group"></a> <p><hr> -Next: <a rel="next" accesskey="n" href="#Template-Files">Template Files</a>, +Next: <a rel="next" accesskey="n" href="#Template-files">Template files</a>, Previous: <a rel="previous" accesskey="p" href="#Template-dir">Template dir</a>, Up: <a rel="up" accesskey="u" href="#Template-dir">Template dir</a> </div> -<h3 class="section">4.1 <kbd>make</kbd>ã¾ãã¯<kbd>make group</kbd> - ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ</h3> +<h3 class="section">5.1 <kbd>make</kbd>ã¾ãã¯<kbd>make group</kbd> - ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ</h3> -<p>å¤æ°<code>GROUPDIR</code>ã§æå®ããããã£ã¬ã¯ããªã¼ããã¹ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã¨ãã¦ä½æãããã¹ãã®å®è¡ã«å¿ è¦ãªæ¬¡ã®ãã¡ã¤ã«ãé ç½®ãã¾ãã + <p>å¤æ°<code>GROUPDIR</code>ã§æå®ããããã£ã¬ã¯ããªã¼ããã¹ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã¨ãã¦ä½æãããã¹ãã®å®è¡ã«å¿ è¦ãªæ¬¡ã®ãã¡ã¤ã«ãé ç½®ãã¾ãã <ul> <li><samp><span class="file">Define.mk</span></samp> @@ -1188,7 +1936,7 @@ Up: <a rel="up" accesskey="u" href="#Template-dir">Template dir</a> <p>é常ããã¹ãã«å¿ è¦ãªãã¡ã¤ã«ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ããã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«ã³ãã¼ããã¾ããå¤æ°<code>LINKMK</code>ãæå®ããå ´åã¯ãã·ã³ããªãã¯ãªã³ã¯ãä½æããã¾ãã -<h4 class="subsection">4.1.1 å¤æ°</h4> +<h4 class="subsection">5.1.1 å¤æ°</h4> <dl> <dt><code>GROUPDIR</code><dd>ãã¹ããã£ã¬ã¯ããªã¼ãæå®ãã¾ããæå®ããªãå ´åãæ¢åã®ãã£ã¬ã¯ããªã¼ãæå®ããå ´åã¯ãã¨ã©ã¼ãçºçãã¦ãã¹ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã¯ä½æããã¾ããã @@ -1198,21 +1946,21 @@ Up: <a rel="up" accesskey="u" href="#Template-dir">Template dir</a> <h4 class="unnumberedsubsec">使ç¨ä¾</h4> -<p>ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã¨ãã¦<samp><span class="file">~/triangle/test</span></samp>ãä½æãã¾ãã + <p>ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã¨ãã¦<samp><span class="file">~/triangle/test</span></samp>ãä½æãã¾ãã -<pre class="example"> $ <kbd>make GROUPDIR=~/triangle/test</kbd> +<pre class="example">$ <kbd>make GROUPDIR=~/triangle/test</kbd> </pre> <div class="node"> -<a name="Template-Files"></a> +<a name="Template-files"></a> <p><hr> Previous: <a rel="previous" accesskey="p" href="#make-group">make group</a>, Up: <a rel="up" accesskey="u" href="#Template-dir">Template dir</a> </div> -<h3 class="section">4.2 ãã³ãã¬ã¼ãã®ãã¡ã¤ã«</h3> +<h3 class="section">5.2 ãã³ãã¬ã¼ãã®ãã¡ã¤ã«</h3> -<p>ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã«ã¯ã次ã®ãã¡ã¤ã«ãå«ã¾ãã¾ãã + <p>ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã«ã¯ã次ã®ãã¡ã¤ã«ãå«ã¾ãã¾ãã <dl> <dt><samp><span class="file">Makefile</span></samp><dd>ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã®Makefile @@ -1232,9 +1980,9 @@ Up: <a rel="up" accesskey="u" href="#Top">Top</a> </div> -<h2 class="chapter">5 ã°ã«ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã«</h2> +<h2 class="chapter">6 ã°ã«ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã«</h2> -<p><a href="#make-group">ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ</a>å¾ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«ç§»åããã¨æ¬¡ã®æä½ãã§ãã¾ãã + <p><a href="#make-group">ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ</a>å¾ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«ç§»åããã¨æ¬¡ã®æä½ãã§ãã¾ãã <ul class="menu"> <li><a accesskey="1" href="#make-create">make create</a>: <kbd>make create</kbd> - ãã¹ãã®ä½æ @@ -1245,7 +1993,7 @@ Up: <a rel="up" accesskey="u" href="#Top">Top</a> <li><a accesskey="6" href="#make-clean-at-group">make clean at group</a>: <kbd>make clean</kbd> - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ãã§ãå®è¡çµæãã¯ãªã¢ <li><a accesskey="7" href="#make-time-at-group">make time at group</a>: <kbd>make time</kbd> - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ããè¨æ <li><a accesskey="8" href="#make-cleantime-at-group">make cleantime at group</a>: <kbd>make cleantime</kbd> - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ãã§ãè¨æçµæãã¯ãªã¢ -<li><a accesskey="9" href="#Group-Files">Group Files</a>: ã°ã«ã¼ãã®ãã¡ã¤ã« +<li><a accesskey="9" href="#Group-files">Group files</a>: ã°ã«ã¼ãã®ãã¡ã¤ã« </ul> <div class="node"> @@ -1257,19 +2005,28 @@ Up: <a rel="up" accesskey="u" href="#Group-dir">Group dir</a> </div> -<h3 class="section">5.1 <kbd>make create</kbd> - ãã¹ãã®ä½æ</h3> +<h3 class="section">6.1 <kbd>make create</kbd> - ãã¹ãã®ä½æ</h3> -<p>å¤æ°<code>TEST</code>ã§æå®ããããã£ã¬ã¯ããªã¼ããã¹ããã£ã¬ã¯ããªã¼ã¨ãã¦ä½æãããã£ã¬ã¯ããªã¼ã®ä¸ã«<code>Makefile</code>ãä½æãã¾ãã + <p>å¤æ°<code>TEST</code>ã§æå®ããããã£ã¬ã¯ããªã¼ããã¹ããã£ã¬ã¯ããªã¼ã¨ãã¦ä½æãããã£ã¬ã¯ããªã¼ã®ä¸ã«<code>Makefile</code>ãä½æãã¾ãã <p>ãã¹ãåã¯ãå°æåã®ã¢ã«ãã¡ãããã¨æ°åã§æå®ãã¾ãã大æåã§ã¯ãã¾ãååãæå®ããå ´åããã£ã¬ã¯ããªã¼ã<code>Makefile</code>ã¯ä½æããããã®ã®ããã¹ãã°ã«ã¼ãå®è¡ã®å¯¾è±¡ã«ãªãã¾ããã <p>å¤æ°<code>SRC=c</code>ãæå®ããå ´åã¯ãCè¨èªã®é¢æ°ãã¹ãç¨ã®<code>Makefile</code>ãä½æããã¾ãã +<h4 class="subsection">6.1.1 å¤æ°</h4> + + <dl> +<dt><code>TEST</code><dd>ãã¹ããã£ã¬ã¯ããªã¼åãæå®ãã¾ãã + + <br><dt><code>SRC</code><dd>å¤<code>c</code>ãæå®ããã¨ãCè¨èªã®é¢æ°ãã¹ãç¨ã®<code>Makefile</code>ãä½æããã¾ãã + + </dl> + <h4 class="unnumberedsubsec">使ç¨ä¾</h4> -<p>ãã¹ããã£ã¬ã¯ããªã¼ãã<code>01_scalene</code>ã¨ããååã§ä½æãã¾ãã + <p>ãã¹ããã£ã¬ã¯ããªã¼ãã<code>01_scalene</code>ã¨ããååã§ä½æãã¾ãã -<pre class="example"> $ <kbd>make create TEST=01_scalene</kbd> +<pre class="example">$ <kbd>make create TEST=01_scalene</kbd> </pre> <div class="node"> <a name="Rename-and-Copy"></a> @@ -1280,19 +2037,19 @@ Up: <a rel="up" accesskey="u" href="#Group-dir">Group dir</a> </div> -<h3 class="section">5.2 ãã¹ãåã®å¤æ´ã¨ã³ãã¼</h3> +<h3 class="section">6.2 ãã¹ãåã®å¤æ´ã¨ã³ãã¼</h3> -<p>ãã¹ãåãå¤æ´ããããã¹ããã³ãã¼ãããããå ´åã¯ã<kbd>mv</kbd>ã<kbd>cp</kbd>ãªã©ã§ãã¹ããã£ã¬ã¯ããªã¼ã移åãã³ãã¼ãã¾ãã + <p>ãã¹ãåãå¤æ´ããããã¹ããã³ãã¼ãããããå ´åã¯ã<kbd>mv</kbd>ã<kbd>cp</kbd>ãªã©ã§ãã¹ããã£ã¬ã¯ããªã¼ã移åãã³ãã¼ãã¾ãã <h4 class="unnumberedsubsec">使ç¨ä¾</h4> -<p>ãã¹ãå<code>01_scalene</code>ã<code>01</code>ã«å¤æ´ãã¾ãã + <p>ãã¹ãå<code>01_scalene</code>ã<code>01</code>ã«å¤æ´ãã¾ãã -<pre class="example"> $ <kbd>mv 01_scalene 01</kbd> +<pre class="example">$ <kbd>mv 01_scalene 01</kbd> </pre> <p>ãã¹ã<code>01</code>ãã³ãã¼ãããã¹ã<code>02</code>ãä½æãã¾ãã -<pre class="example"> $ <kbd>cp -r 01 02</kbd> +<pre class="example">$ <kbd>cp -r 01 02</kbd> </pre> <div class="node"> <a name="Delete"></a> @@ -1303,15 +2060,15 @@ Up: <a rel="up" accesskey="u" href="#Group-dir">Group dir</a> </div> -<h3 class="section">5.3 ãã¹ãã®åé¤</h3> +<h3 class="section">6.3 ãã¹ãã®åé¤</h3> -<p>ãã¹ããåé¤ããå ´åã¯ã<kbd>rm</kbd>ãªã©ã§ãã¹ããã£ã¬ã¯ããªã¼ãåé¤ãã¾ãã + <p>ãã¹ããåé¤ããå ´åã¯ã<kbd>rm</kbd>ãªã©ã§ãã¹ããã£ã¬ã¯ããªã¼ãåé¤ãã¾ãã <h4 class="unnumberedsubsec">使ç¨ä¾</h4> -<pre class="example"> $ <kbd>rm -rf 01_scalene</kbd> +<pre class="example">$ <kbd>rm -rf 01_scalene</kbd> </pre> -<div class="node"> + <div class="node"> <a name="make-check-at-group"></a> <p><hr> Next: <a rel="next" accesskey="n" href="#make-checkall">make checkall</a>, @@ -1320,9 +2077,9 @@ Up: <a rel="up" accesskey="u" href="#Group-dir">Group dir</a> </div> -<h3 class="section">5.4 <kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd> - ãã¹ãã°ã«ã¼ãã®å®è¡</h3> +<h3 class="section">6.4 <kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd> - ãã¹ãã°ã«ã¼ãã®å®è¡</h3> -<p><kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd>ã§ãã°ã«ã¼ãå ã«ãããã¹ã¦ã®<a href="#make-check-at-test">ãã¹ãã®å®è¡</a>ããã次ã®é ç®ã表示ãã¾ãã + <p><kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd>ã§ãã°ã«ã¼ãå ã«ãããã¹ã¦ã®<a href="#make-check-at-test">ãã¹ãã®å®è¡</a>ããã次ã®é ç®ã表示ãã¾ãã <ul> <li><ãã¹ãå>: <æåãã¹ãæ°>/<å ¨ãã¹ãæ°> test passed. Detail in <ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®çµ¶å¯¾ãã¹> @@ -1340,11 +2097,11 @@ Up: <a rel="up" accesskey="u" href="#Group-dir">Group dir</a> <h4 class="unnumberedsubsec">使ç¨ä¾</h4> -<pre class="example"> $ <kbd>make</kbd> - test: 13 / 13 tests passed. Detail in /home/foo/triangle/test/TEST.log - test: All tests are succeded. +<pre class="example">$ <kbd>make</kbd> +test: 13 / 13 tests passed. Detail in /home/foo/triangle/test/TEST.log +test: All tests are succeded. </pre> -<div class="node"> + <div class="node"> <a name="make-checkall"></a> <p><hr> Next: <a rel="next" accesskey="n" href="#make-clean-at-group">make clean at group</a>, @@ -1353,19 +2110,19 @@ Up: <a rel="up" accesskey="u" href="#Group-dir">Group dir</a> </div> -<h3 class="section">5.5 <kbd>make checkall</kbd> - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ãã®å®è¡ãè¨æ</h3> +<h3 class="section">6.5 <kbd>make checkall</kbd> - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ãã®å®è¡ãè¨æ</h3> -<p><kbd>make checkall</kbd>ã§ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ããã<a href="#make-check-at-test">å®è¡</a>ãã<a href="#make-time-at-test">è¨æ</a>ãã¾ãã<a href="#make-check-at-group">ãã¹ãã°ã«ã¼ãã®å®è¡</a>ã¨åãé ç®ã表示ããåºåããããã¡ã¤ã«ã®ç¨®é¡ãåãã§ãã<code><ãã¹ãã°ã«ã¼ãåã大æåã«ããæåå>.log</code>ã«ã¯ããã¹ãã¨å®è¡çµæã«å ããè¨æçµæãä¸è¦§ã¨ãã¦åºåããã¾ãã + <p><kbd>make checkall</kbd>ã§ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ããã<a href="#make-check-at-test">å®è¡</a>ãã<a href="#make-time-at-test">è¨æ</a>ãã¾ãã<a href="#make-check-at-group">ãã¹ãã°ã«ã¼ãã®å®è¡</a>ã¨åãé ç®ã表示ããåºåããããã¡ã¤ã«ã®ç¨®é¡ãåãã§ãã<code><ãã¹ãã°ã«ã¼ãåã大æåã«ããæåå>.log</code>ã«ã¯ããã¹ãã¨å®è¡çµæã«å ããè¨æçµæãä¸è¦§ã¨ãã¦åºåããã¾ãã <p>ãã¹ãã®å®è¡ã¨è¨æã¯å¥ã«è¡ããããããé常ã«ãã¹ããå®è¡ããããã2åç¨åº¦ã®æéããããã¾ãã <h4 class="unnumberedsubsec">使ç¨ä¾</h4> -<pre class="example"> $ <kbd>make checkall</kbd> - test: 13 / 13 tests passed. Detail in /home/foo/triangle/test/TEST.log - test: All tests are succeded. +<pre class="example">$ <kbd>make checkall</kbd> +test: 13 / 13 tests passed. Detail in /home/foo/triangle/test/TEST.log +test: All tests are succeded. </pre> -<div class="node"> + <div class="node"> <a name="make-clean-at-group"></a> <p><hr> Next: <a rel="next" accesskey="n" href="#make-time-at-group">make time at group</a>, @@ -1374,16 +2131,15 @@ Up: <a rel="up" accesskey="u" href="#Group-dir">Group dir</a> </div> -<h3 class="section">5.6 <kbd>make clean</kbd> - ã°ã«ã¼ãã®å®è¡çµæãã¯ãªã¢</h3> +<h3 class="section">6.6 <kbd>make clean</kbd> - ã°ã«ã¼ãã®å®è¡çµæãã¯ãªã¢</h3> -<p><kbd>make clean</kbd>ã§ã<a href="#make-check-at-group"><kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd></a>ã<a href="#make-checkall"><kbd>make checkall</kbd></a>ã«ããä½æããããã¡ã¤ã«ããã¹ã¦åé¤ãã¾ããã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ã»ãããã¹ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã«ãåé¤ããã¾ãã + <p><kbd>make clean</kbd>ã§ã<a href="#make-check-at-group"><kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd></a>ã<a href="#make-checkall"><kbd>make checkall</kbd></a>ã«ããä½æããããã¡ã¤ã«ããã¹ã¦åé¤ãã¾ããã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ã»ãããã¹ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã«ãåé¤ããã¾ãã <h4 class="unnumberedsubsec">使ç¨ä¾</h4> -<pre class="example"> $ <kbd>cd ~/triangle/test</kbd> - $ <kbd>make clean</kbd> +<pre class="example">$ <kbd>make clean</kbd> </pre> -<div class="node"> + <div class="node"> <a name="make-time-at-group"></a> <p><hr> Next: <a rel="next" accesskey="n" href="#make-cleantime-at-group">make cleantime at group</a>, @@ -1392,76 +2148,80 @@ Up: <a rel="up" accesskey="u" href="#Group-dir">Group dir</a> </div> -<h3 class="section">5.7 <kbd>make time</kbd> - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ããè¨æ</h3> +<h3 class="section">6.7 <kbd>make time</kbd> - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ããè¨æ</h3> -<p><kbd>make time</kbd>ã§ãã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ããè¨æãããã®çµæã表示ããã¾ããè¨æçµæã¯ã<samp><span class="file"><ãã¹ãã°ã«ã¼ãåã大æåã«ããæåå>_time.log</span></samp>ã«æ ¼ç´ããã¾ãã + <p><kbd>make time</kbd>ã§ãã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ããè¨æãããã®çµæã表示ããã¾ããè¨æçµæã¯ã<samp><span class="file"><ãã¹ãã°ã«ã¼ãåã大æåã«ããæåå>_time.log</span></samp>ã«æ ¼ç´ããã¾ãã <h4 class="unnumberedsubsec">使ç¨ä¾</h4> -<pre class="example"> $ <kbd>make time</kbd> - 01_scalene/ - real 0m0.007s - - 02_equilateral/ - real 0m0.007s - - 03_isosceles/ - real 0m0.007s - - 04_isosceles_c/ - real 0m0.013s - - 05_zero/ - real 0m0.010s - - 06_minus/ - real 0m0.007s - - 07_line/ - real 0m0.008s - - 08_lines/ - real 0m0.024s - - 09_less/ - real 0m0.009s - - 10_lesses/ - real 0m0.024s - - 11_zeroall/ - real 0m0.007s - - 12_notint/ - real 0m0.007s - - 13_argcnt/ - real 0m0.012s +<pre class="example">$ <kbd>make time</kbd> +01_scalene/ +real 0m0.007s + +02_equilateral/ +real 0m0.007s + +03_isosceles/ +real 0m0.007s + +04_isosceles_c/ +real 0m0.013s + +05_zero/ +real 0m0.010s + +06_minus/ +real 0m0.007s + +07_line/ +real 0m0.008s + +08_lines/ +real 0m0.024s + +09_less/ +real 0m0.009s + +10_lesses/ +real 0m0.024s + +11_zeroall/ +real 0m0.007s + +12_notint/ +real 0m0.007s + +13_argcnt/ +real 0m0.012s </pre> -<div class="node"> + <div class="node"> <a name="make-cleantime-at-group"></a> <p><hr> -Next: <a rel="next" accesskey="n" href="#Group-Files">Group Files</a>, +Next: <a rel="next" accesskey="n" href="#Group-files">Group files</a>, Previous: <a rel="previous" accesskey="p" href="#make-time-at-group">make time at group</a>, Up: <a rel="up" accesskey="u" href="#Group-dir">Group dir</a> </div> -<h3 class="section">5.8 <kbd>make cleantime</kbd> - ã°ã«ã¼ãã®è¨æçµæãã¯ãªã¢</h3> +<h3 class="section">6.8 <kbd>make cleantime</kbd> - ã°ã«ã¼ãã®è¨æçµæãã¯ãªã¢</h3> -<p><kbd>make cleatime</kbd>ã§ã<kbd>make time</kbd>ã«ããä½æããããã¹ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã¨åãã¹ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã«ããã¹ã¦åé¤ãã¾ãã + <p><kbd>make cleatime</kbd>ã§ã<kbd>make time</kbd>ã«ããä½æããããã¹ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã¨åãã¹ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã«ããã¹ã¦åé¤ãã¾ãã -<div class="node"> -<a name="Group-Files"></a> +<h4 class="unnumberedsubsec">使ç¨ä¾</h4> + +<pre class="example">$ <kbd>make cleantime</kbd> +</pre> + <div class="node"> +<a name="Group-files"></a> <p><hr> Previous: <a rel="previous" accesskey="p" href="#make-cleantime-at-group">make cleantime at group</a>, Up: <a rel="up" accesskey="u" href="#Group-dir">Group dir</a> </div> -<h3 class="section">5.9 ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã«</h3> +<h3 class="section">6.9 ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã«</h3> -<p>ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«ã¯ããã¹ããã£ã¬ã¯ããªã¼ã«å ãã¦ã次ã®ãã¡ã¤ã«ãå«ã¾ãã¾ãã + <p>ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«ã¯ããã¹ããã£ã¬ã¯ããªã¼ã«å ãã¦ã次ã®ãã¡ã¤ã«ãå«ã¾ãã¾ãã <dl> <dt><samp><span class="file">Makefile</span></samp><dd>ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®Makefile @@ -1483,7 +2243,7 @@ Up: <a rel="up" accesskey="u" href="#Top">Top</a> </div> -<h2 class="chapter">6 ãã¹ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã«</h2> +<h2 class="chapter">7 ãã¹ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã«</h2> <ul class="menu"> <li><a accesskey="1" href="#make-set">make set</a>: <kbd>make set</kbd> - ãã¹ãæ³å®ã®ä½æ @@ -1493,7 +2253,7 @@ Up: <a rel="up" accesskey="u" href="#Top">Top</a> <li><a accesskey="5" href="#make-cleanall-at-test">make cleanall at test</a>: <kbd>make cleanall</kbd> - ãã¹ãã®æ³å®ã¨çµæãã¯ãªã¢ <li><a accesskey="6" href="#make-time-at-test">make time at test</a>: <kbd>make time</kbd> - ãã¹ãã®è¨æ <li><a accesskey="7" href="#make-cleantime-at-test">make cleantime at test</a>: <kbd>make cleantime</kbd> - ãã¹ãè¨æçµæã®ã¯ãªã¢ -<li><a accesskey="8" href="#Test-Files">Test Files</a>: ãã¹ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã« +<li><a accesskey="8" href="#Test-files">Test files</a>: ãã¹ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã« </ul> <div class="node"> @@ -1505,16 +2265,16 @@ Up: <a rel="up" accesskey="u" href="#Test-dir">Test dir</a> </div> -<h3 class="section">6.1 <kbd>make set</kbd> - ãã¹ãæ³å®ã®ä½æ</h3> +<h3 class="section">7.1 <kbd>make set</kbd> - ãã¹ãæ³å®ã®ä½æ</h3> -<p><kbd>make set</kbd>ã§ããã¹ãã³ãã³ã<samp><span class="file">cmd</span></samp>ãå®è¡ããããã¹ãæ³å®ãã¡ã¤ã«<samp><span class="file">0.txt</span></samp>ãä½æããã¾ããã¾ããå®è¡æã«<samp><span class="file">0.txt</span></samp>ã®å 容ã表示ããã¾ãã<samp><span class="file">0.txt</span></samp>ããã§ã«ããå ´åã¯ãã¨ã©ã¼ãçºçãã¦<samp><span class="file">0.txt</span></samp>ã¯æ´æ°ããã¾ããã + <p><kbd>make set</kbd>ã§ããã¹ãã³ãã³ã<samp><span class="file">cmd</span></samp>ãå®è¡ããããã¹ãæ³å®ãã¡ã¤ã«<samp><span class="file">0.txt</span></samp>ãä½æããã¾ããã¾ããå®è¡æã«<samp><span class="file">0.txt</span></samp>ã®å 容ã表示ããã¾ãã<samp><span class="file">0.txt</span></samp>ããã§ã«ããå ´åã¯ãã¨ã©ã¼ãçºçãã¦<samp><span class="file">0.txt</span></samp>ã¯æ´æ°ããã¾ããã <h4 class="unnumberedsubsec">使ç¨ä¾</h4> -<pre class="example"> $ <kbd>make set</kbd> - scalene triangle +<pre class="example">$ <kbd>make set</kbd> +scalene triangle </pre> -<div class="node"> + <div class="node"> <a name="make-reset"></a> <p><hr> Next: <a rel="next" accesskey="n" href="#make-check-at-test">make check at test</a>, @@ -1523,16 +2283,16 @@ Up: <a rel="up" accesskey="u" href="#Test-dir">Test dir</a> </div> -<h3 class="section">6.2 <kbd>make reset</kbd> - ãã¹ãæ³å®ã®ä½æã¾ãã¯æ´æ°</h3> +<h3 class="section">7.2 <kbd>make reset</kbd> - ãã¹ãæ³å®ã®ä½æã¾ãã¯æ´æ°</h3> -<p><kbd>make reset</kbd>ã§ããã¹ãã³ãã³ã<samp><span class="file">cmd</span></samp>ãå®è¡ããããã¹ãæ³å®ãã¡ã¤ã«<samp><span class="file">0.txt</span></samp>ãä½æããã¾ããã¾ããå®è¡æã«<samp><span class="file">0.txt</span></samp>ã®å 容ã表示ããã¾ãã<samp><span class="file">0.txt</span></samp>ããã§ã«ããå ´åã<samp><span class="file">0.txt</span></samp>ãæ´æ°ããã¾ãã + <p><kbd>make reset</kbd>ã§ããã¹ãã³ãã³ã<samp><span class="file">cmd</span></samp>ãå®è¡ããããã¹ãæ³å®ãã¡ã¤ã«<samp><span class="file">0.txt</span></samp>ãä½æããã¾ããã¾ããå®è¡æã«<samp><span class="file">0.txt</span></samp>ã®å 容ã表示ããã¾ãã<samp><span class="file">0.txt</span></samp>ããã§ã«ããå ´åã<samp><span class="file">0.txt</span></samp>ãæ´æ°ããã¾ãã <h4 class="unnumberedsubsec">使ç¨ä¾</h4> -<pre class="example"> $ <kbd>make reset</kbd> - scalene triangle +<pre class="example">$ <kbd>make reset</kbd> +scalene triangle </pre> -<div class="node"> + <div class="node"> <a name="make-check-at-test"></a> <p><hr> Next: <a rel="next" accesskey="n" href="#make-clean-at-test">make clean at test</a>, @@ -1541,9 +2301,9 @@ Up: <a rel="up" accesskey="u" href="#Test-dir">Test dir</a> </div> -<h3 class="section">6.3 <kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd> - ãã¹ãã®å®è¡</h3> +<h3 class="section">7.3 <kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd> - ãã¹ãã®å®è¡</h3> -<p><kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd>ã§ããã¹ãã³ãã³ã<samp><span class="file">cmd</span></samp>ãå®è¡ããããã¹ãçµæãã¡ã¤ã«<samp><span class="file">1.txt</span></samp>ãä½æããã¾ããã¾ããå®è¡æã«ãã¹ãã®çµæããããã次ã®é ç®ã表示ããã¾ãã + <p><kbd>make</kbd>ã¾ãã¯<kbd>make check</kbd>ã§ããã¹ãã³ãã³ã<samp><span class="file">cmd</span></samp>ãå®è¡ããããã¹ãçµæãã¡ã¤ã«<samp><span class="file">1.txt</span></samp>ãä½æããã¾ããã¾ããå®è¡æã«ãã¹ãã®çµæããããã次ã®é ç®ã表示ããã¾ãã <ul> <li><ãã¹ã説æãã¡ã¤ã«<samp><span class="file">desc.txt</span></samp>ã®å 容> @@ -1555,12 +2315,12 @@ Up: <a rel="up" accesskey="u" href="#Test-dir">Test dir</a> <h4 class="unnumberedsubsec">使ç¨ä¾</h4> -<pre class="example"> $ <kbd>make</kbd> - æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ - 01_scalene: Test Success 2011-01-10 10:09:55 - Detail in /home/foo/triangle/test/01_scalene/detail.log +<pre class="example">$ <kbd>make</kbd> +æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹ +01_scalene: Test Success 2011-01-10 10:09:55 +Detail in /home/foo/triangle/test/01_scalene/detail.log </pre> -<div class="node"> + <div class="node"> <a name="make-clean-at-test"></a> <p><hr> Next: <a rel="next" accesskey="n" href="#make-cleanall-at-test">make cleanall at test</a>, @@ -1569,9 +2329,9 @@ Up: <a rel="up" accesskey="u" href="#Test-dir">Test dir</a> </div> -<h3 class="section">6.4 <kbd>make clean</kbd> - ãã¹ãçµæã®ã¯ãªã¢</h3> +<h3 class="section">7.4 <kbd>make clean</kbd> - ãã¹ãçµæã®ã¯ãªã¢</h3> -<p><kbd>make clean</kbd>ã§ããã¹ãã®å®è¡ã¾ãã¯è¨æã®çµæä½æããã次ã®ãã¡ã¤ã«ãåé¤ããã¾ãã + <p><kbd>make clean</kbd>ã§ããã¹ãã®å®è¡ã¾ãã¯è¨æã®çµæä½æããã次ã®ãã¡ã¤ã«ãåé¤ããã¾ãã <ul> <li><samp><span class="file">1.txt</span></samp> @@ -1587,11 +2347,11 @@ Up: <a rel="up" accesskey="u" href="#Test-dir">Test dir</a> <h4 class="unnumberedsubsec">使ç¨ä¾</h4> -<pre class="example"> $ <kbd>make clean</kbd> - $ <kbd>ls</kbd> - 0.txt Makefile cmd desc.txt +<pre class="example">$ <kbd>make clean</kbd> +$ <kbd>ls</kbd> +0.txt Makefile cmd desc.txt </pre> -<div class="node"> + <div class="node"> <a name="make-cleanall-at-test"></a> <p><hr> Next: <a rel="next" accesskey="n" href="#make-time-at-test">make time at test</a>, @@ -1600,9 +2360,9 @@ Up: <a rel="up" accesskey="u" href="#Test-dir">Test dir</a> </div> -<h3 class="section">6.5 <kbd>make cleanall</kbd> - ãã¹ãã®æ³å®ã¨çµæãã¯ãªã¢</h3> +<h3 class="section">7.5 <kbd>make cleanall</kbd> - ãã¹ãã®æ³å®ã¨çµæãã¯ãªã¢</h3> -<p><kbd>make clean</kbd>ã§æ¬¡ã®ããã¹ãã®æ³å®ãã¡ã¤ã«ã¨ãã¹ãã®å®è¡ã¾ãã¯è¨æã®çµæä½æããããã¡ã¤ã«ãåé¤ããã¾ãã + <p><kbd>make clean</kbd>ã§æ¬¡ã®ããã¹ãã®æ³å®ãã¡ã¤ã«ã¨ãã¹ãã®å®è¡ã¾ãã¯è¨æã®çµæä½æããããã¡ã¤ã«ãåé¤ããã¾ãã <ul> <li><samp><span class="file">0.txt</span></samp> @@ -1620,11 +2380,11 @@ Up: <a rel="up" accesskey="u" href="#Test-dir">Test dir</a> <h4 class="unnumberedsubsec">使ç¨ä¾</h4> -<pre class="example"> $ <kbd>make cleanall</kbd> - $ <kbd>ls</kbd> - Makefile cmd desc.txt +<pre class="example">$ <kbd>make cleanall</kbd> +$ <kbd>ls</kbd> +Makefile cmd desc.txt </pre> -<div class="node"> + <div class="node"> <a name="make-time-at-test"></a> <p><hr> Next: <a rel="next" accesskey="n" href="#make-cleantime-at-test">make cleantime at test</a>, @@ -1633,41 +2393,45 @@ Up: <a rel="up" accesskey="u" href="#Test-dir">Test dir</a> </div> -<h3 class="section">6.6 <kbd>make time</kbd> - ãã¹ãã®è¨æ</h3> +<h3 class="section">7.6 <kbd>make time</kbd> - ãã¹ãã®è¨æ</h3> -<p><kbd>make time</kbd>ã§ããã¹ããè¨æããã®çµæã表示ããã¾ããè¨æçµæã¯ã<samp><span class="file">time.log</span></samp>ã«æ ¼ç´ããã¾ãã + <p><kbd>make time</kbd>ã§ããã¹ããè¨æããã®çµæã表示ããã¾ããè¨æçµæã¯ã<samp><span class="file">time.log</span></samp>ã«æ ¼ç´ããã¾ãã <h4 class="unnumberedsubsec">使ç¨ä¾</h4> -<pre class="example"> $ <kbd>make time</kbd> - real 0m0.006s +<pre class="example">$ <kbd>make time</kbd> +real 0m0.006s </pre> -<div class="node"> + <div class="node"> <a name="make-cleantime-at-test"></a> <p><hr> -Next: <a rel="next" accesskey="n" href="#Test-Files">Test Files</a>, +Next: <a rel="next" accesskey="n" href="#Test-files">Test files</a>, Previous: <a rel="previous" accesskey="p" href="#make-time-at-test">make time at test</a>, Up: <a rel="up" accesskey="u" href="#Test-dir">Test dir</a> </div> -<h3 class="section">6.7 <kbd>make cleantime</kbd> - ãã¹ãè¨æçµæã®ã¯ãªã¢</h3> +<h3 class="section">7.7 <kbd>make cleantime</kbd> - ãã¹ãè¨æçµæã®ã¯ãªã¢</h3> -<p><kbd>make cleantime</kbd>ã§ããã¹ãã®è¨æã®çµæä½æããã次ã®ãã¡ã¤ã«ãåé¤ããã¾ãã + <p><kbd>make cleantime</kbd>ã§ããã¹ãã®è¨æã®çµæä½æããã次ã®ãã¡ã¤ã«ãåé¤ããã¾ãã <ul> <li><samp><span class="file">time.log</span></samp> </ul> -<div class="node"> -<a name="Test-Files"></a> +<h4 class="unnumberedsubsec">使ç¨ä¾</h4> + +<pre class="example">$ <kbd>make cleantime</kbd> +</pre> + <div class="node"> +<a name="Test-files"></a> <p><hr> Previous: <a rel="previous" accesskey="p" href="#make-cleantime-at-test">make cleantime at test</a>, Up: <a rel="up" accesskey="u" href="#Test-dir">Test dir</a> </div> -<h3 class="section">6.8 ãã¹ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã«</h3> +<h3 class="section">7.8 ãã¹ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã«</h3> <dl> <dt><samp><span class="file">Makefile</span></samp><dd>ãã¹ããã£ã¬ã¯ããªã¼ã®Makefile @@ -1695,6 +2459,8 @@ Up: <a rel="up" accesskey="u" href="#Test-dir">Test dir</a> <p class="footnote"><small>[<a name="fn-2" href="#fnd-2">2</a>]</small> ãã½ããã¦ã§ã¢ã»ãã¹ãã®ææ³ãã§ã¯ä¸è¨ã®13åã«å ãããããããã®ãã¹ãã»ã±ã¼ã¹ã«ã¤ãã¦ãå ¥åã®å¤ã«å¯¾ãã¦äºæ³ãããå¤ãããããããã¨ãããã¹ãã»ã±ã¼ã¹ãè¨è¼ããã¦ãã¾ãããã®ãã¹ãã»ã±ã¼ã¹ã¯ãAutotest.mkãå®è¡ãã¦ããå ´åã¯èªåçã«æºããããã¨èãã¦ãã¾ãã</p> + <p class="footnote"><small>[<a name="fn-3" href="#fnd-3">3</a>]</small> ãCUnit ãã¥ã¼ããªã¢ã«ãã®ããã¹ãé¢æ°1ãã¨ããã¹ãé¢æ°2ããããã¥ã¼ããªã¢ã«ã説æããããããããå ¥ãæ¿ãã¦ãã¾ãã</p> + <hr></div> </body></html> diff --git a/doc/autotest_mk.texi b/doc/autotest_mk.texi index a60a63d..f2cc4a1 100644 --- a/doc/autotest_mk.texi +++ b/doc/autotest_mk.texi @@ -1,4 +1,4 @@ -Check Log\input texinfo @c -*-texinfo-*- +\input texinfo @c -*-texinfo-*- @c %**start of header @ifnottex @documentlanguage ja_JP @@ -6,16 +6,17 @@ Check Log\input texinfo @c -*-texinfo-*- @setfilename autotest_mk.info @documentencoding UTF-8 @settitle Autotest.mk - GNU Makeãå©ç¨ããã½ããã¦ã§ã¢ãã¹ãèªååãã¼ã« -@firstparagraphindent none +@firstparagraphindent insert @paragraphindent 1 +@ifhtml +@exampleindent 0 +@end ifhtml @c %**end of header @copying Copyright @copyright{} 2011 j8takagi @end copying -@exampleindent 2 - @dircategory Basics @direntry * Autotest.mk: (autotest_mk). @@ -33,12 +34,14 @@ Copyright @copyright{} 2011 j8takagi @menu * About:: Autotest.mk æ¦è¦ * Install:: Autotest.mk ã¤ã³ã¹ãã¼ã« -* Tutorial:: Autotest.mk ãã¥ã¼ããªã¢ã« +* Tutorial triangle:: Autotest.mk ãã¥ã¼ããªã¢ã«I - ä¸è§å½¢å¤å®ããã°ã©ã ã®ãã¹ã +* Tutorial sort:: Autotest.mk ãã¥ã¼ããªã¢ã«II - Cè¨èª@code{sort}é¢æ°ã®ãã¹ã * Template dir:: ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã« * Group dir:: ã°ã«ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã« * Test dir:: ãã¹ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã« @ifinfo + @detailmenu --- The Detailed Node Listing --- @@ -50,25 +53,41 @@ Autotest.mk ã¤ã³ã¹ãã¼ã« * Expand:: å±é * Dir:: ãã£ã¬ã¯ããªã¼ -Autotest.mk ãã¥ã¼ããªã¢ã« - ä¸è§å½¢å¤å®ããã°ã©ã ã®ãã¹ã - -* Tutorial About:: æ¦è¦ -* Prepare:: æºå -* Create Group:: ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ -* Create Test:: ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ -* Edit desc:: ãã¹ã説æãã¡ã¤ã«ã®ä½æ -* Edit cmd:: ãã¹ãã³ãã³ããã¡ã¤ã«ã®ä½æ -* Test Setting:: ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ -* Test Execute:: ãã¹ãã®å®è¡ -* Check Test Log:: ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª -* Group Execute:: ãã¹ãã°ã«ã¼ãã®å®è¡ -* Check Group Log:: ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª -* Associate:: ãã«ãã¨ã®é£æº +Autotest.mk ãã¥ã¼ããªã¢ã«I - ä¸è§å½¢å¤å®ããã°ã©ã ã®ãã¹ã + +* Tutorial triangle About:: æ¦è¦ +* Prepare triangle:: æºå +* Create triangle group:: ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ +* Create triangle test:: ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ +* Edit triangle desc:: ãã¹ã説æãã¡ã¤ã«ã®ä½æ +* Edit triangle cmd:: ãã¹ãã³ãã³ããã¡ã¤ã«ã®ä½æ +* Set triangle test:: ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ +* Execute triangle test:: ãã¹ãã®å®è¡ +* Check triangle log:: ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª +* Execute triangle group:: ãã¹ãã°ã«ã¼ãã®å®è¡ +* Check triangle group log:: ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª +* Associate triangle:: ãã«ãã¨ã®é£æº + +Autotest.mk ãã¥ã¼ããªã¢ã«II - Cè¨èª@code{sort}é¢æ°ã®ãã¹ã + +* Tutorial sort About:: æ¦è¦ +* Prepare sort:: æºå +* Create sort group:: ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ +* Create sort test:: ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ +* Create sort src:: é¢æ°ãã¹ãç¨ããã°ã©ã ã®ã½ã¼ã¹ä½æ +* Edit sort Makefile:: @file{Makefile}ã®ç·¨é +* Edit sort desc:: ãã¹ã説æãã¡ã¤ã«ã®ä½æ +* Set sort test:: ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ +* Execute sort test:: ãã¹ãã®å®è¡ +* Check sort log:: ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª +* Execute sort group:: ãã¹ãã°ã«ã¼ãã®å®è¡ +* Check sort group log:: ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª +* Iteretive:: éçºã¨ãã¹ãã®å復 ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã« * make group:: @kbd{make}ã¾ãã¯@kbd{make group} - ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ -* Template Files:: ãã³ãã¬ã¼ãã®ãã¡ã¤ã« +* Template files:: ãã³ãã¬ã¼ãã®ãã¡ã¤ã« ã°ã«ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã« @@ -80,7 +99,7 @@ Autotest.mk ãã¥ã¼ããªã¢ã« - ä¸è§å½¢å¤å®ããã°ã©ã ã®ãã¹ã * make clean at group:: @kbd{make clean} - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ãã§ãå®è¡çµæãã¯ãªã¢ * make time at group:: @kbd{make time} - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ããè¨æ * make cleantime at group:: @kbd{make cleantime} - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ãã§ãè¨æçµæãã¯ãªã¢ -* Group Files:: ã°ã«ã¼ãã®ãã¡ã¤ã« +* Group files:: ã°ã«ã¼ãã®ãã¡ã¤ã« ãã¹ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã« @@ -91,13 +110,15 @@ Autotest.mk ãã¥ã¼ããªã¢ã« - ä¸è§å½¢å¤å®ããã°ã©ã ã®ãã¹ã * make cleanall at test:: @kbd{make cleanall} - ãã¹ãã®æ³å®ã¨çµæãã¯ãªã¢ * make time at test:: @kbd{make time} - ãã¹ãã®è¨æ * make cleantime at test:: @kbd{make cleantime} - ãã¹ãè¨æçµæã®ã¯ãªã¢ -* Test Files:: ãã¹ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã« +* Test files:: ãã¹ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã« @end detailmenu @end ifinfo @end menu +@ifnotinfo @contents +@end ifnotinfo @node About, Install, Top, Top @chapter Autotest.mk æ¦è¦ @@ -120,7 +141,7 @@ Autotest.mkã®ç¹å¾´ã¯æ¬¡ã®ã¨ããã§ãã ç¡åã§ä½¿ããã¨ãã§ããèªç±ã«æ¹é ã§ãã @end itemize -@node Install, Tutorial, About, Top +@node Install, Tutorial triangle, About, Top @chapter Autotest.mk ã¤ã³ã¹ãã¼ã« @menu @@ -188,25 +209,25 @@ Autotest.mkã§ãã¹ããå®è¡ããã¨ãã¯ã次ã®3ã¤ã®ãã£ã¬ã¯ã ãã¹ãå®è¡ã®ããã®ãã¡ã¤ã«ã¨ãå®è¡çµæããããããã¡ã¤ã«ãå«ããã£ã¬ã¯ããªã¼ @end table -@node Tutorial, Template dir, Install, Top -@chapter Autotest.mk ãã¥ã¼ããªã¢ã« - ä¸è§å½¢å¤å®ããã°ã©ã ã®ãã¹ã +@node Tutorial triangle, Tutorial sort, Install, Top +@chapter Autotest.mk ãã¥ã¼ããªã¢ã«I - ä¸è§å½¢å¤å®ããã°ã©ã ã®ãã¹ã @menu -* Tutorial About:: æ¦è¦ -* Prepare:: æºå -* Create Group:: ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ -* Create Test:: ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ -* Edit desc:: ãã¹ã説æãã¡ã¤ã«ã®ä½æ -* Edit cmd:: ãã¹ãã³ãã³ããã¡ã¤ã«ã®ä½æ -* Test Setting:: ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ -* Test Execute:: ãã¹ãã®å®è¡ -* Check Test Log:: ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª -* Group Execute:: ãã¹ãã°ã«ã¼ãã®å®è¡ -* Check Group Log:: ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª -* Associate:: ãã«ãã¨ã®é£æº +* Tutorial triangle About:: æ¦è¦ +* Prepare triangle:: æºå +* Create triangle group:: ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ +* Create triangle test:: ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ +* Edit triangle desc:: ãã¹ã説æãã¡ã¤ã«ã®ä½æ +* Edit triangle cmd:: ãã¹ãã³ãã³ããã¡ã¤ã«ã®ä½æ +* Set triangle test:: ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ +* Execute triangle test:: ãã¹ãã®å®è¡ +* Check triangle log:: ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª +* Execute triangle group:: ãã¹ãã°ã«ã¼ãã®å®è¡ +* Check triangle group log:: ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª +* Associate triangle:: ãã«ãã¨ã®é£æº @end menu -@node Tutorial About, Prepare, Tutorial, Tutorial +@node Tutorial triangle About, Prepare triangle, Tutorial triangle, Tutorial triangle @unnumberedsec æ¦è¦ ããã§ã¯ãGlenford J Myersãã½ããã¦ã§ã¢ã»ãã¹ãã®ææ³ãï¼è¿ä»£ç§å¦ç¤¾ã1980ï¼ã®è¨è¼ãå ã«ããã次ã®ä»æ§ã®ä¸è§å½¢å¤å®ããã°ã©ã ããã¹ãããæé ãåãä¸ãã¾ã@footnote{ãã½ããã¦ã§ã¢ã»ãã¹ãã®ææ³ãã§ã¯ãã«ã¼ããã3ã¤ã®æ´æ°ãèªããã¨ãªã£ã¦ããã®ããã3ã¤ã®å¼æ°ãã¨ããã«å¤æ´ãã¦ãã¾ãã}ã @@ -259,7 +280,7 @@ Autotest.mkã§ãã¹ããå®è¡ããã¨ãã¯ã次ã®3ã¤ã®ãã£ã¬ã¯ã @end enumerate @end quotation -ä¸è§å½¢å¤å®ããã°ã©ã ã¯ããµã³ãã«ã¨ãã¦ç¨æããã¦ãããã®ã@ref{Prepare, , æºå}ããããã¾ãã¯èªä½ãã¦ãã ããã +ä¸è§å½¢å¤å®ããã°ã©ã ã¯ããµã³ãã«ã¨ãã¦ç¨æããã¦ãããã®ã@ref{Prepare triangle, , æºå}ããããã¾ãã¯èªä½ãã¦ãã ããã æºåãã§ããããAutotest.mkã使ã£ã次ã®æé ã§ãã¹ããå®è¡ã§ãã¾ãã @@ -292,7 +313,7 @@ Autotest.mkã§ãã¹ããå®è¡ããã¨ãã¯ã次ã®3ã¤ã®ãã£ã¬ã¯ã ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª @end enumerate -@node Prepare, Create Group, Tutorial About, Tutorial +@node Prepare triangle, Create triangle group, Tutorial triangle About, Tutorial triangle @unnumberedsec æºå @unnumberedsubsec ä½æ¥ç¨ãã©ã«ãã®ä½æ @@ -358,7 +379,7 @@ isosceles triangle @kbd{./triangle 3 4 5}ã§ãä»æ§ã§`scalene triangle'ã¨ãªãã¹ãã¨ãããã`futohen sankakukei'ã¨ãªã£ã¦ãã¾ãã -@node Create Group, Create Test, Prepare, Tutorial +@node Create triangle group, Create triangle test, Prepare triangle, Tutorial triangle @section ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã§@kbd{make}ãå®è¡ããã°ã«ã¼ããã£ã¬ã¯ããªã¼ãä½æãã¾ãããã®ã¨ãããã¹ãã°ã«ã¼ãã®ãã£ã¬ã¯ããªã¼ãå¤æ°@code{GROUPDIR}ã§æå®ãã¾ããããã§ã¯ã@kbd{~/triangle/test}ããã¹ãã°ã«ã¼ãã®ãã£ã¬ã¯ããªã¼ã«ãã¾ãã @@ -376,10 +397,10 @@ $ @kbd{ls} Define.mk Makefile Test.mk @end example -@node Create Test, Edit desc, Create Group, Tutorial +@node Create triangle test, Edit triangle desc, Create triangle group, Tutorial triangle @section ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ -ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã§@kbd{make create}ãå®è¡ãããã¹ããã£ã¬ã¯ããªã¼ãä½æãã¾ãããã®ã¨ããå¤æ°@code{GROUPDIR}ã§ãã¹ãåãæå®ãã¾ãããã¹ãåã¯ãå°æåã®ã¢ã«ãã¡ãããã¨æ°åã§æå®ãã¾ããããã§ã¯ã1ã¤ãã®ãã¹ãã»ã±ã¼ã¹ã«å¯¾å¿ãããã¹ããã£ã¬ã¯ããªã¼ãã@code{01_scalene}ã¨ããååã§ä½æãã¾ãã +ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã§@kbd{make create}ãå®è¡ãããã¹ããã£ã¬ã¯ããªã¼ãä½æãã¾ãããã®ã¨ããå¤æ°@code{GROUPDIR}ã§ãã¹ãåãæå®ãã¾ãããã¹ãåã¯ãå°æåã®ã¢ã«ãã¡ãããã¨æ°åã§æå®ãã¾ããããã§ã¯ã1ã¤ãã®ãã¹ãã»ã±ã¼ã¹ã«å¯¾å¿ãããã¹ããã£ã¬ã¯ããªã¼ãã@file{01_scalene}ã¨ããååã§ä½æãã¾ãã @example $ @kbd{make create TEST=01_scalene} @@ -393,7 +414,7 @@ $ @kbd{ls} Makefile @end example -@node Edit desc, Edit cmd, Create Test, Tutorial +@node Edit triangle desc, Edit triangle cmd, Create triangle test, Tutorial triangle @section ãã¹ã説æãã¡ã¤ã«ã®ä½æ ãã¹ã説æãã¡ã¤ã«@file{desc.txt}ã¯ãã¹ãã«é¢ãã説æãããããããã¹ãã®çµæã¨ä¸ç·ã«ãã°ã«åºåããã¾ãã @file{desc.txt}ãããã¹ãã¨ãã£ã¿ã¼ã使ã£ã¦æ¬¡ã®å 容ã§ä½æãã¾ãã @@ -402,7 +423,7 @@ Makefile @kbd{æå¹ãªä¸ç辺ä¸è§å½¢ããããããã¹ãã»ã±ã¼ã¹} @end example -@node Edit cmd, Test Setting, Edit desc, Tutorial +@node Edit triangle cmd, Set triangle test, Edit triangle desc, Tutorial triangle @section ãã¹ãã³ãã³ããã¡ã¤ã«ã®ä½æ ãã¹ãã³ãã³ããã¡ã¤ã«@file{cmd}ã¯ããã¹ãæã«å®è¡ãããã³ãã³ããããããã¾ãã @@ -414,7 +435,7 @@ Makefile @kbd{../../triangle 3 4 5} @end example -@node Test Setting, Test Execute, Edit cmd, Tutorial +@node Set triangle test, Execute triangle test, Edit triangle cmd, Tutorial triangle @section ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ ãã¹ãæ³å®ãã¡ã¤ã«@file{0.txt}ã¯ããã¹ããæ£ããå®è¡ãããå ´åã®çµæãããããã¾ãã@file{0.txt}ã®ä½ææ¹æ³ã¯ã次ã®3ã¤ãããã¾ãã @@ -447,7 +468,7 @@ $ @kbd{make set} scalene triangle @end example -ãã®æ¹æ³ã§@file{0.txt}ãä½æããå ´åã¯ãä½æãããå 容ããã¹ãæ³å®ã¨ãã¦æ¬å½ã«æ£ãããããæ¤è¨ããå¿ è¦ãããã¾ããä¾ãã°ããã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ãæºåãã¦@kbd{make set}ãå®è¡ããã¨ãä»æ§ã¨ç°ãªããã¹ãæ³å®ãã¡ã¤ã«ãä½æããããã¹ããæ£ããå®è¡ã§ãã¾ããã +ãã®æ¹æ³ã§@file{0.txt}ãä½æããå ´åã¯ãä½æãããå 容ããã¹ãæ³å®ã¨ãã¦æ¬å½ã«æ£ãããããæ¤è¨ããå¿ è¦ãããã¾ããä¾ãã°ããã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ãæºåãã¦@kbd{make set}ãå®è¡ããã¨ãä»æ§ã¨ç°ãªã次ã®ãããªãã¹ãæ³å®ã¨ãªãããã¹ããæ£ããå®è¡ã§ãã¾ããã @example $ @kbd{make set} @@ -464,7 +485,7 @@ $ @kbd{make reset} scalene triangle @end example -@node Test Execute, Check Test Log, Test Setting, Tutorial +@node Execute triangle test, Check triangle log, Set triangle test, Tutorial triangle @section ãã¹ãã®å®è¡ ã³ãã³ããã¡ã¤ã«ã¨ãã¹ãæ³å®ãç¨æãããã@kbd{make}ã¾ãã¯@kbd{make check}ã§ãã¹ããå®è¡ã§ãã¾ãã @@ -494,7 +515,7 @@ Detail in <ãã¹ã詳細ãã°ãã¡ã¤ã«ã®çµ¶å¯¾ãã¹> @unnumberedsubsec ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®å ´å -ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã§ãã¹ããå®è¡ããã¨ã次ã®ããã«è¡¨ç¤ºããã¾ãã +æ£ãããã¹ãæ³å®ãä½æãã¦ããå ´åã«ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã§ãã¹ããå®è¡ããã¨ã次ã®ããã«è¡¨ç¤ºããã¾ãã @example $ @kbd{make} @@ -504,13 +525,13 @@ make: [diff.log] Error 1 (ignored) Detail in /home/foo/triangle/test/01_scalene/detail.log @end example -@node Check Test Log, Group Execute, Test Execute, Tutorial +@node Check triangle log, Execute triangle group, Execute triangle test, Tutorial triangle @section ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª -ãã¹ããå®è¡ãã¦ä½æããããã¡ã¤ã«ã確èªãã¾ãã@file{1.txt}ã@file{summary.log}ã@file{detail.log}ãä½æããã¦ãã¾ãã +ãã¹ããå®è¡ãã¦ä½æããããã¡ã¤ã«ã確èªãã¾ãã@file{1.txt} @file{summary.log} @file{detail.log}ãä½æããã¦ãã¾ãã @example -$ ls +$ @kbd{ls} 0.txt 1.txt Makefile cmd desc.txt detail.log summary.log @end example @@ -562,7 +583,7 @@ scalene triangle @unnumberedsubsec ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ã®å ´å -ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ãæºåãã¦ãã¹ããå®è¡ããå ´åã@file{1.txt}ã@file{summary.log}ã@file{detail.log}ã®ã»ãã«ããã¹ãæ³å®ã¨ãã¹ãçµæãç°ãªããã@kbd{diff.log}ãä½æããã¾ãã +ãã°ãå«ãä¸è§å½¢å¤å®ããã°ã©ã ãæºåãã¦ãã¹ããå®è¡ããå ´åã@file{1.txt} @file{summary.log} @file{detail.log}ã®ã»ãã«ããã¹ãæ³å®ã¨ãã¹ãçµæãç°ãªããã@kbd{diff.log}ãä½æããã¾ãã @example $ @kbd{ls} @@ -591,8 +612,8 @@ scalene triangle == diff.log == ---------------------------------------------------------------------- -*** 0.txt Mon Jan 10 20:12:14 2011 ---- 1.txt Mon Jan 10 20:25:16 2011 +*** 0.txt Mon Jan 10 20:12:14 2011 +--- 1.txt Mon Jan 10 20:25:16 2011 *************** *** 1 **** ! scalene triangle @@ -618,15 +639,123 @@ $ @kbd{ls} @end example -@node Group Execute, Check Group Log, Check Test Log, Tutorial +@node Execute triangle group, Check triangle group log, Check triangle log, Tutorial triangle @section ãã¹ãã°ã«ã¼ãã®å®è¡ 2ã¤ã以éã®ãã¹ãã»ã±ã¼ã¹ã«ã¤ãã¦ãã1ã¤ãã¨åãæé ã§ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æå¾ããã¹ã説æãã¡ã¤ã«ã¨ãã¹ãã³ãã³ããã¡ã¤ã«ããã¹ãæ³å®ãã¡ã¤ã«ãä½æãã¾ãã -ããã§ã¯ãå ã«ä½æãã@file{01_scalene}ãå«ãã¦ã次ã®ãããªãã£ã¬ã¯ããªã¼ã¨ãã¡ã¤ã«ãä½æãã¾ãããããããã£ã¬ã¯ããªã¼ããã¡ã¤ã«ã¯Autotest.mkã®@file{sample/triangle/test}以ä¸ã«ããã®ã§ãã³ãã¼ãã¦ä½æãããã¨ãã§ãã¾ãã +ããã§ã¯ãå ã«ä½æãã@file{01_scalene}ãå«ãã¦ã次ã®ãããªãã£ã¬ã¯ããªã¼ã¨ãã¡ã¤ã«ãä½æãã¾ãããããããã£ã¬ã¯ããªã¼ããã¡ã¤ã«ã¯Autotest.mkã®@file{sample/triangle/test}以ä¸ã«ããã¾ãã + +@itemize +@ifnothtml +@item +01_scalene + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd} @file{0.txt} +@end itemize + +@item +02_equilateral + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd} @file{0.txt} +@end itemize + +@item +03_isosceles + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd} @file{0.txt} +@end itemize + + +@item +04_isosceles_c + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd} @file{0.txt} +@end itemize + +@item +05_zero + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd} @file{0.txt} +@end itemize + +@item +06_minus + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd} @file{0.txt} +@end itemize + +@item +07_line + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd} @file{0.txt} +@end itemize + +@item +08_lines + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd} @file{0.txt} +@end itemize + +@item +09_less + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd} @file{0.txt} +@end itemize + +@item +10_lesses + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd} @file{0.txt} +@end itemize + +@item +11_zeroall + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd} @file{0.txt} +@end itemize + +@item +12_notint + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd} @file{0.txt} +@end itemize + +@item +13_argcnt @itemize @item +@file{Makefile} @file{desc.txt} @file{cmd} @file{0.txt} +@end itemize +@end ifnothtml + +@ifhtml +@item 01_scalene @itemize @@ -730,6 +859,7 @@ $ @kbd{ls} @item @file{Makefile} @uref{sample_triangle/13_argcnt/desc.txt, @file{desc.txt}} @uref{sample_triangle/13_argcnt/cmd.txt, @file{cmd}} @uref{sample_triangle/13_argcnt/0.txt, @file{0.txt}} @end itemize +@end ifhtml @end itemize ãã¹ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã§ã¯ã@kbd{make}ã¾ãã¯@kbd{make check}ã§è¤æ°ã®ãã¹ããã¾ã¨ãã¦å®è¡ã§ãã¾ãã @@ -760,7 +890,7 @@ $ @kbd{make} test: 11 / 13 tests passed. Detail in /home/foo/triangle/test/TEST.log @end example -@node Check Group Log, Associate, Group Execute, Tutorial +@node Check triangle group log, Associate triangle, Execute triangle group, Tutorial triangle @section ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª ãã¹ãã°ã«ã¼ããå®è¡ããã¨ä½æããããã¡ã¤ã«ã¯ã次ã®ã¨ããã§ãã @@ -915,7 +1045,7 @@ Detail in /home/foo/triangle/test/04_isosceles_c/detail.log @end example -@node Associate, , Check Group Log, Tutorial +@node Associate triangle, , Check triangle group log, Tutorial triangle @section ãã«ãã¨ã®é£æº ä¸è§å½¢å¤å®ããã°ã©ã ã§ã¯ã@file{~/triangle}ãªã©ä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã®ãããã§@kbd{make}ãå®è¡ããã°ããã°ã©ã ããã«ãã§ãã¾ãããä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã®@file{Makefile}ã次ã®ããã«ç·¨éããã¨ããã«ãã¨é£æºãã¦ãã¹ããå®è¡ã§ããããã«ãªãã¾ãã @@ -928,7 +1058,7 @@ all: $(CC) -o triangle triangle.c @kbd{check:} -@kbd{ $(MAKE) -c test} +@kbd{ $(MAKE) -c test} clean: rm -f triangle @@ -941,178 +1071,904 @@ $ @kbd{make} gcc -o triangle triangle.c $ @kbd{make check} make -C test -test: 13 / 13 tests passed. Detail in /Users/kazubito/2011_01/triangle/test/TEST.log +test: 13 / 13 tests passed. Detail in /home/foo/triangle/test/TEST.log test: All tests are succeded. @end example ããããè¨å®ããã¦ããã°ãããã°ã©ã ãå¤æ´ãããã³ã«ç°¡åã«ãã«ãã¨ãã¹ããå®è¡ãããã¨ãã§ãã¾ãã -@node Template dir, Group dir, Tutorial, Top -@chapter ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã« - -ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã¯ãAutotest.mkãã¤ã³ã¹ãã¼ã«ããã¨ãã«å±éã«ããä½æããã@file{template}ãã£ã¬ã¯ããªã¼ã§ãã +@node Tutorial sort, Template dir, Tutorial triangle, Top +@chapter Autotest.mk ãã¥ã¼ããªã¢ã«II - Cè¨èª@code{sort}é¢æ°ã®ãã¹ã @menu -* make group:: @kbd{make}ã¾ãã¯@kbd{make group} - ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ -* Template Files:: ãã³ãã¬ã¼ãã®ãã¡ã¤ã« +* Tutorial sort About:: æ¦è¦ +* Prepare sort:: æºå +* Create sort group:: ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ +* Create sort test:: ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ +* Create sort src:: é¢æ°ãã¹ãç¨ããã°ã©ã ã®ã½ã¼ã¹ä½æ +* Edit sort Makefile:: @file{Makefile}ã®ç·¨é +* Edit sort desc:: ãã¹ã説æãã¡ã¤ã«ã®ä½æ +* Set sort test:: ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ +* Execute sort test:: ãã¹ãã®å®è¡ +* Check sort log:: ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª +* Execute sort group:: ãã¹ãã°ã«ã¼ãã®å®è¡ +* Check sort group log:: ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª +* Iteretive:: éçºã¨ãã¹ãã®å復 @end menu -@node make group, Template Files, Template dir, Template dir -@section @kbd{make}ã¾ãã¯@kbd{make group} - ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ +@node Tutorial sort About, Prepare sort, Tutorial sort, Tutorial sort +@unnumberedsec æ¦è¦ +ããã§ã¯Cè¨èªã®é¢æ°ãã¹ãã®ä¾ã¨ãã¦ã@code{sort}é¢æ°ããã¹ããã¾ãã@uref{http://cunit.sourceforge.net/, CUnit}ã®ããããããæ¥æ¬èªãã¥ã¼ããªã¢ã«@uref{http://homepage3.nifty.com/kaku-chan/cunit/index.html, CUnit ãã¥ã¼ããªã¢ã«}ã§ä½¿ããã¦ããé¢æ°ã§ãã -å¤æ°@code{GROUPDIR}ã§æå®ããããã£ã¬ã¯ããªã¼ããã¹ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã¨ãã¦ä½æãããã¹ãã®å®è¡ã«å¿ è¦ãªæ¬¡ã®ãã¡ã¤ã«ãé ç½®ãã¾ãã +@file{sort_normal.c}ã¯ã次ã®å 容ã§ãã -@itemize -@item -@file{Define.mk} +@example +void sort(int array[], int num) @{ + int i; + int j; + int val; + + for(i=0; i<(num-1); i++) @{ + for(j=(num-1); j>i; j--) @{ + if (array[j-1] > array[j]) @{ + val = array[j]; + array[j] = array[j-1]; + array[j-1] = val; + @} + @} + @} +@} +@end example -@item -@file{Makefile} +ãã°ãå«ã@file{sort_normal.c}ã¯ã次ã®å 容ã§ãã -@item -@file{Test.mk} -@end itemize +@example +void sort(int array[], int num) @{ + int i; + int j; + int val; + + for(i=0; i<(num-1); i++) @{ + for(j=(num-1); j>i; j--) @{ + if (array[j-1] > array[j]) @{ + val = array[j]; + array[j] = array[j]; // æ¬å½ã¯ array[j] = array[j-1]; + array[j-1] = val; + @} + @} + @} +@} +@end example -é常ããã¹ãã«å¿ è¦ãªãã¡ã¤ã«ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ããã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«ã³ãã¼ããã¾ããå¤æ°@code{LINKMK}ãæå®ããå ´åã¯ãã·ã³ããªãã¯ãªã³ã¯ãä½æããã¾ãã +ããã°ã©ã ã¯ããµã³ãã«ã¨ãã¦ç¨æããã¦ãããã®ã@ref{Prepare sort, , æºå}ãã¦ãã ããã -@subsection å¤æ° +æºåãã§ããããAutotest.mkã使ã£ã次ã®æé ã§ãã¹ããå®è¡ã§ãã¾ãã -@table @code -@item GROUPDIR -ãã¹ããã£ã¬ã¯ããªã¼ãæå®ãã¾ããæå®ããªãå ´åãæ¢åã®ãã£ã¬ã¯ããªã¼ãæå®ããå ´åã¯ãã¨ã©ã¼ãçºçãã¦ãã¹ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã¯ä½æããã¾ããã +@enumerate +@item +ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ -@item LINKMK -æå®ããå ´åãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«ãã¹ãã®å®è¡ã«å¿ è¦ãªãã¡ã¤ã«ã®ã·ã³ããªãã¯ãªã³ã¯ãä½æããã¾ããå¤ã¯ä»»æã§ããã·ã³ããªãã¯ãªã³ã¯ã®ãªã³ã¯å ã¯ããã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã®ä¸ã§ãã -@end table +@item +ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ -@unnumberedsubsec 使ç¨ä¾ +@item +ãã¹ã説æãã¡ã¤ã«ã®ä½æ -ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã¨ãã¦@file{~/triangle/test}ãä½æãã¾ãã +@item +é¢æ°ãã¹ãç¨ããã°ã©ã ã®ã½ã¼ã¹ä½æ -@example -$ @kbd{make GROUPDIR=~/triangle/test} -@end example +@item +@file{Makefile}ã®ç·¨é -@node Template Files, , make group, Template dir -@section ãã³ãã¬ã¼ãã®ãã¡ã¤ã« +@item +ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ -ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã«ã¯ã次ã®ãã¡ã¤ã«ãå«ã¾ãã¾ãã -@table @file -@item Makefile -ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã®Makefile +@item +ãã¹ãã®å®è¡ -@item Group.mk -ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®Makefileã@kbd{make}ã¾ãã¯@kbd{make group}ã§ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«@file{Makefile}ã¨ãã¦é ç½®ããã¾ãã +@item +ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª -@item Test.mk -ãã¹ããã£ã¬ã¯ããªã¼ããåç §ãããMakefileã@kbd{make}ã¾ãã¯@kbd{make group}ã§ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«é ç½®ããã¾ãã +@item +ãã¹ãã°ã«ã¼ãã®å®è¡ -@item Define.mk -ãã¹ãã¨ãã¹ãã°ã«ã¼ãã«é¢ããé ç®ãå®ç¾©ããMakefileã@kbd{make}ã¾ãã¯@kbd{make group}ã§ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«é ç½®ããã¾ãã -@end table +@item +ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª +@end enumerate -@node Group dir, Test dir, Template dir, Top -@chapter ã°ã«ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã« +@node Prepare sort, Create sort group, Tutorial sort About, Tutorial sort +@unnumberedsec æºå -@ref{make group, , ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ}å¾ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«ç§»åããã¨æ¬¡ã®æä½ãã§ãã¾ãã +@unnumberedsubsec ä½æ¥ç¨ãã©ã«ãã®ä½æ -@menu -* make create:: @kbd{make create} - ãã¹ãã®ä½æ -* Rename and Copy:: ãã¹ãåã®å¤æ´ã¨ã³ãã¼ -* Delete:: ãã¹ãã®åé¤ -* make check at group:: @kbd{make}ã¾ãã¯@kbd{make check} - ãã¹ãã°ã«ã¼ãã®å®è¡ -* make checkall:: @kbd{make checkall} - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ãã®å®è¡ãè¨æ -* make clean at group:: @kbd{make clean} - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ãã§ãå®è¡çµæãã¯ãªã¢ -* make time at group:: @kbd{make time} - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ããè¨æ -* make cleantime at group:: @kbd{make cleantime} - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ãã§ãè¨æçµæãã¯ãªã¢ -* Group Files:: ã°ã«ã¼ãã®ãã¡ã¤ã« -@end menu +ã¾ããAutotest.mkã®ããã±ã¼ã¸ã«å«ã¾ãã¦ãã@file{sample/sort}以ä¸ã®ãã¡ã¤ã«ããä»»æã®ä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã«ã³ãã¼ãã¾ããããã§ã¯ã@file{~/sort}ï¼@file{~}ã¯ãç¾å¨ãã°ã¤ã³ãã¦ããã¦ã¼ã¶ã¼ã®ãã¼ã ãã£ã¬ã¯ããªã¼ï¼ãä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã«ãã¾ããã¾ãã@file{autotest.mk}ã¯ã@file{~}ã«å±éããã¦ãããã®ã¨ãã¾ãã -@node make create, Rename and Copy, Group dir, Group dir -@section @kbd{make create} - ãã¹ãã®ä½æ +@example +$ @kbd{cd} +$ @kbd{mkdir sort} +$ @kbd{cd autotest.mk/sample/sort} +$ @kbd{cp sort_normal.c sort_bug.c Makefile ~/sort} +@end example -å¤æ°@code{TEST}ã§æå®ããããã£ã¬ã¯ããªã¼ããã¹ããã£ã¬ã¯ããªã¼ã¨ãã¦ä½æãããã£ã¬ã¯ããªã¼ã®ä¸ã«@code{Makefile}ãä½æãã¾ãã +ä½æ¥ç¨ãã£ã¬ã¯ããªã¼ã«ç§»åããä¸ã®ãã¡ã¤ã«ã確èªãã¾ãã -ãã¹ãåã¯ãå°æåã®ã¢ã«ãã¡ãããã¨æ°åã§æå®ãã¾ãã大æåã§ã¯ãã¾ãååãæå®ããå ´åããã£ã¬ã¯ããªã¼ã@code{Makefile}ã¯ä½æããããã®ã®ããã¹ãã°ã«ã¼ãå®è¡ã®å¯¾è±¡ã«ãªãã¾ããã +@example +$ @kbd{cd ~/sort} +$ @kbd{ls} +Makefile sort_normal.c sort_bug.c +@end example -å¤æ°@code{SRC=c}ãæå®ããå ´åã¯ãCè¨èªã®é¢æ°ãã¹ãç¨ã®@code{Makefile}ãä½æããã¾ãã +@unnumberedsubsec @code{sort}é¢æ°ãã¡ã¤ã«ã®æºå +@kbd{make}ã¾ãã¯@kbd{make normal}ã§ã@file{sort_normal.c}ã@file{sort.c}ã«ã³ãã¼ããã¾ãã -@unnumberedsubsec 使ç¨ä¾ +@example +$ @kbd{make} +rm -f sort.c +cp sort_normal.c sort.c +@end example -ãã¹ããã£ã¬ã¯ããªã¼ãã@code{01_scalene}ã¨ããååã§ä½æãã¾ãã +@unnumberedsubsec ãã°ãå«ã@code{sort}é¢æ°ãã¡ã¤ã«ã®æºå +@kbd{make bug}ã§ã@file{sort_bug.c}ã@file{sort.c}ã«ã³ãã¼ããã¾ãã +ãã®å ´åã@file{sort.c}ã¯ãã°ãå«ã¿ã¾ãã @example -$ @kbd{make create TEST=01_scalene} +$ @kbd{make bug} +rm -f sort.c +cp sort_bug.c sort.c @end example -@node Rename and Copy, Delete, make create, Group dir -@section ãã¹ãåã®å¤æ´ã¨ã³ãã¼ - -ãã¹ãåãå¤æ´ããããã¹ããã³ãã¼ãããããå ´åã¯ã@kbd{mv}ã@kbd{cp}ãªã©ã§ãã¹ããã£ã¬ã¯ããªã¼ã移åãã³ãã¼ãã¾ãã +@node Create sort group, Create sort test, Prepare sort, Tutorial sort +@section ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ -@unnumberedsubsec 使ç¨ä¾ -ãã¹ãå@code{01_scalene}ã@code{01}ã«å¤æ´ãã¾ãã +ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã§@kbd{make}ãå®è¡ããã°ã«ã¼ããã£ã¬ã¯ããªã¼ãä½æãã¾ãããã®ã¨ãããã¹ãã°ã«ã¼ãã®ãã£ã¬ã¯ããªã¼ãå¤æ°@code{GROUPDIR}ã§æå®ãã¾ããããã§ã¯ã@kbd{~/sort/test}ããã¹ãã°ã«ã¼ãã®ãã£ã¬ã¯ããªã¼ã«ãã¾ãã @example -$ @kbd{mv 01_scalene 01} +$ @kbd{cd ~/autotest.mk/template} +$ @kbd{make GROUPDIR=~/sort/test} @end example -ãã¹ã@code{01}ãã³ãã¼ãããã¹ã@code{02}ãä½æãã¾ãã +次ã®ã³ãã³ãã§ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«ç§»åãããã®ä¸ã確èªãã¾ãã @example -$ @kbd{cp -r 01 02} +$ @kbd{cd ~/sort/test} +$ @kbd{ls} +Define.mk Makefile Test.mk @end example -@node Delete, make check at group, Rename and Copy, Group dir -@section ãã¹ãã®åé¤ +@node Create sort test, Create sort src, Create sort group, Tutorial sort +@section ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æ -ãã¹ããåé¤ããå ´åã¯ã@kbd{rm}ãªã©ã§ãã¹ããã£ã¬ã¯ããªã¼ãåé¤ãã¾ãã +ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã§@kbd{make create}ãå®è¡ãããã¹ããã£ã¬ã¯ããªã¼ãä½æãã¾ãããã®ã¨ããå¤æ°@code{GROUPDIR}ã§ãã¹ãåãæå®ããããã«Cè¨èªã®é¢æ°ãã¹ãç¨ã®@code{Makefile}ãä½æããããå¤æ°@code{SRC=c}ãæå®ãã¾ããããã§ã¯ã1ã¤ãã®ãã¹ãã@file{sort_001}ã¨ããååã§ä½æãã¾ã@footnote{ãCUnit ãã¥ã¼ããªã¢ã«ãã®ããã¹ãé¢æ°1ãã¨ããã¹ãé¢æ°2ããããã¥ã¼ããªã¢ã«ã説æããããããããå ¥ãæ¿ãã¦ãã¾ãã}ã -@unnumberedsubsec 使ç¨ä¾ +@example +$ @kbd{make create TEST=sort_001 SRC=c} +@end example + +次ã®ã³ãã³ãã§ãã¹ããã£ã¬ã¯ããªã¼ã«ç§»åãããã®ä¸ã確èªãã¾ãã @example -$ @kbd{rm -rf 01_scalene} +$ @kbd{cd sort_001} +$ @kbd{ls} +Makefile @end example -@node make check at group, make checkall, Delete, Group dir -@section @kbd{make}ã¾ãã¯@kbd{make check} - ãã¹ãã°ã«ã¼ãã®å®è¡ +@node Create sort src, Edit sort Makefile, Create sort test, Tutorial sort +@section é¢æ°ãã¹ãç¨ããã°ã©ã ã®ã½ã¼ã¹ä½æ +Cè¨èªã®é¢æ°ããã¹ãããããã®ããã°ã©ã ãCè¨èªã§è¨è¿°ãããããã°ã©ã ã®ã½ã¼ã¹ãã¡ã¤ã«@file{cmd.c}ãããã¹ãã¨ãã£ã¿ã¼ã§ä½æãã¾ãããã¹ã対象ã®é¢æ°@code{sort}ãå¼ã³åºãã¦ã½ã¼ããå®è¡ãããã®çµæã表示ããããã°ã©ã ã§ãã -@kbd{make}ã¾ãã¯@kbd{make check}ã§ãã°ã«ã¼ãå ã«ãããã¹ã¦ã®@ref{make check at test, , ãã¹ãã®å®è¡}ããã次ã®é ç®ã表示ãã¾ãã +@example +#include <stdio.h> +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +void sort(int array[], int num); + +int main() @{ + int i, array[] = @{11, 7, 5, 3, 2@}; + + sort(array, ARRAYSIZE(array)); + for(i = 0; i < ARRAYSIZE(array); i++) @{ + printf("%d\n", array[i]); + @} + return 0; +@} +@end example -@itemize -@item -<ãã¹ãå>: <æåãã¹ãæ°>/<å ¨ãã¹ãæ°> test passed. Detail in <ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®çµ¶å¯¾ãã¹> +@node Edit sort Makefile, Edit sort desc, Create sort src, Tutorial sort +@section @file{Makefile}ã®ç·¨é +@file{Makefile}ãããã¹ãã¨ãã£ã¿ã¼ã§ç·¨éãããã¹ã対象ãã¡ã¤ã«ãããããå¤æ°@code{TESTTARGET_FILES}ãæå®ãã¾ãã +ããã§ã¯ã@file{../../sort.c}ãæå®ãã¾ãã -@item -ï¼ãã¹ã¦ã®ãã¹ãã«æåããå ´åï¼<ãã¹ãå>: All tests are succeded. -@end itemize +@example +include ../Define.mk +include ../Test.mk -ãã¹ãã°ã«ã¼ããå®è¡ããã¨æ¬¡ã®ãã¡ã¤ã«ãä½æããã¾ãã +CC := gcc +CFLAGS := -Wall -@table @file -@item <ãã¹ãã°ã«ã¼ãåã大æåã«ããæåå>.log -ãã¹ãã°ã«ã¼ãã«å«ã¾ãããã¹ãã¨ãã®å®è¡çµæã®ä¸è¦§ãããããã¾ãã +.INTERMEDIATE: $(CMD_FILE) -@item Summary.log -ãã¹ãå®è¡çµæã®æ¦è¦ã表ãã¾ãããã¹ãã°ã«ã¼ãå®è¡æã«è¡¨ç¤ºãããå 容ã§ãã -@end table +CMDSRC_FILE := cmd.c +TESTTARGET_FILES := @kbd{../../sort.c} # Set test target files -@unnumberedsubsec 使ç¨ä¾ +COMPILE_FILE := compile.log -@example -$ @kbd{make} -test: 13 / 13 tests passed. Detail in /home/foo/triangle/test/TEST.log -test: All tests are succeded. +$(CMD_FILE): $(CMDSRC_FILE) $(TESTTARGET_FILES) + $(CC) $(CFLAGS) -o $@ $^ >$(COMPILE_FILE) 2>&1 + cat $(COMPILE_FILE) @end example -@node make checkall, make clean at group, make check at group, Group dir -@section @kbd{make checkall} - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ãã®å®è¡ãè¨æ -@kbd{make checkall}ã§ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ããã@ref{make check at test, , å®è¡}ãã@ref{make time at test, , è¨æ}ãã¾ãã@ref{make check at group, , ãã¹ãã°ã«ã¼ãã®å®è¡}ã¨åãé ç®ã表示ããåºåããããã¡ã¤ã«ã®ç¨®é¡ãåãã§ãã@code{<ãã¹ãã°ã«ã¼ãåã大æåã«ããæåå>.log}ã«ã¯ããã¹ãã¨å®è¡çµæã«å ããè¨æçµæãä¸è¦§ã¨ãã¦åºåããã¾ãã +@node Edit sort desc, Set sort test, Edit sort Makefile, Tutorial sort +@section ãã¹ã説æãã¡ã¤ã«ã®ä½æ +ãã¹ã説æãã¡ã¤ã«@file{desc.txt}ã¯ãã¹ãã«é¢ãã説æãããããããã¹ãã®çµæã¨ä¸ç·ã«ãã°ã«åºåããã¾ãã +@file{desc.txt}ãããã¹ãã¨ãã£ã¿ã¼ã使ã£ã¦æ¬¡ã®å 容ã§ä½æãã¾ãã -ãã¹ãã®å®è¡ã¨è¨æã¯å¥ã«è¡ããããããé常ã«ãã¹ããå®è¡ããããã2åç¨åº¦ã®æéããããã¾ãã +@example +@kbd{ãã¹ãé¢æ°1} +@end example -@unnumberedsubsec 使ç¨ä¾ +@node Set sort test, Execute sort test, Edit sort desc, Tutorial sort +@section ãã¹ãæ³å®ãã¡ã¤ã«ã®ä½æ + +ãã¹ãæ³å®ãã¡ã¤ã«@file{0.txt}ã¯ããã¹ããæ£ããå®è¡ãããå ´åã®çµæãããããã¾ãã@file{0.txt}ã®ä½ææ¹æ³ã¯ã次ã®3ã¤ãããã¾ãã + +@itemize +@item +æåã§ä½æ + +@item +@kbd{make set} + +@item +@kbd{make reset} +@end itemize + +ã¨ã©ã¼ãçºçãããã¹ãã§ã¯ãæ¨æºåºåæ³å®ã®ä¸ã«ã¨ã©ã¼åºåæ³å®ãç¶ãã¾ãã + +@subsection æåã§ä½æ +ãã¹ãæ³å®ãã¡ã¤ã«@file{0.txt}ãããã¹ãã¨ãã£ã¿ã¼ã使ã£ã¦æ¬¡ã®å 容ã§ä½æãã¾ãã + +@example +@kbd{3} +@end example + +@subsection @kbd{make set} +@kbd{make set}ãå®è¡ããã¨ã@file{Makefile}ã®è¨å®ã«å¾ãé¢æ°ãã¹ãç¨ã®ããã°ã©ã ã½ã¼ã¹@file{cmd.c}ã¨é¢æ°ãã¡ã¤ã«@file{../../sort.c}ããã³ãã³ããã¡ã¤ã«@file{cmd}ãä½æããã¾ãããã®ãã¨@file{cmd}ãå®è¡ãããå®è¡çµæã¯@file{0.txt}ãã¡ã¤ã«ã«åºåããã¾ããå®è¡å¾ã次åã®ãã¹ãã®ããã@file{cmd}ã¯èªåçã«åé¤ããã¾ãã + +@example +$ @kbd{make set} +gcc -Wall -o cmd cmd.c ../../sort.c +2 +3 +5 +7 +11 +rm cmd +@end example + +ãã®æ¹æ³ã§@file{0.txt}ãä½æããå ´åã¯ãä½æãããå 容ããã¹ãæ³å®ã¨ãã¦æ¬å½ã«æ£ãããããæ¤è¨ããå¿ è¦ãããã¾ãã + +@file{0.txt}ããã§ã«åå¨ããå ´åã¯@kbd{make set}ãå®è¡ããã¨ã¨ã©ã¼ã«ãªãã@file{0.txt}ã¯æ´æ°ããã¾ãããä¾ãã°ããã°ãå«ã@code{sort}é¢æ°ãã¡ã¤ã«ãæºåãã¦@kbd{make set}ãå®è¡ããã¨ãä»æ§ã¨ç°ãªã次ã®ãããªãã¹ãæ³å®ã¨ãªãããã¹ããæ£ããå®è¡ã§ãã¾ããã + +@example +$ @kbd{make set} +gcc -Wall -o cmd cmd.c ../../sort.c +2 +2 +2 +2 +2 +rm cmd +@end example + +@subsection @kbd{make reset} +@file{0.txt}ããã§ã«åå¨ããå ´åã¯ã@kbd{make reset}ã§æ´æ°ã§ãã¾ãã + +@example +$ @kbd{make reset} +gcc -Wall -o cmd cmd.c ../../sort.c +2 +3 +5 +7 +11 +rm cmd +@end example + +@node Execute sort test, Check sort log, Set sort test, Tutorial sort +@section ãã¹ãã®å®è¡ + +ã³ãã³ããã¡ã¤ã«ã¨ãã¹ãæ³å®ãç¨æãããã@kbd{make}ã¾ãã¯@kbd{make check}ã§ãã¹ããå®è¡ã§ãã¾ãã + +@example +$ @kbd{ls} +0.txt Makefile cmd.c desc.txt +$ @kbd{make} +sort_001: Test Success 2011-01-24 11:13:04 +Details in /home/foo/sort/test/sort_001/detail.log +rm cmd +@end example + +表示ãããé ç®ã¯ã次ã®ã¨ããã§ãã + +@itemize +@item +<ãã¹ã説æãã¡ã¤ã«@file{desc.txt}ã®å 容> + +@item +<ãã¹ãå>: <ãã¹ãçµæï¼Test Successã¾ãã¯Test Failureï¼> <ãã¹ãå®è¡æ¥æ> + +@item +Detail in <ãã¹ã詳細ãã°ãã¡ã¤ã«ã®çµ¶å¯¾ãã¹> +@end itemize + + +@unnumberedsubsec ãã°ãå«ã@code{sort}é¢æ°ã®å ´å + +æ£ãããã¹ãæ³å®ãä½æãã¦ããå ´åã«ãã°ãå«ã@code{sort}é¢æ°ã§ãã¹ããå®è¡ããã¨ã次ã®ããã«è¡¨ç¤ºããã¾ãã + +@example +$ @kbd{make} +gcc -Wall -o cmd cmd.c ../../sort.c +make: [diff.log] Error 1 (ignored) +ãã¹ãé¢æ°1 +sort_001: Test Failure 2011-01-24 11:09:34 +Details in /home/foo/sort/test/sort_001/detail.log +rm cmd +@end example + +@node Check sort log, Execute sort group, Execute sort test, Tutorial sort +@section ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèª + +ãã¹ããå®è¡ãã¦ä½æããããã¡ã¤ã«ã確èªãã¾ãã@file{1.txt} @file{summary.log} @file{detail.log}ãä½æããã¦ãã¾ãã + +@example +$ @kbd{ls} +0.txt 1.txt Makefile cmd desc.txt detail.log summary.log +@end example + +ãã¹ããå®è¡ããã¨ä½æããããã¡ã¤ã«ã¯ã次ã®ã¨ããã§ããå¿ è¦ã«å¿ãã¦ãã¡ã¤ã«ã®å 容ã確èªãã¾ãã + +@table @file +@item 1.txt +ãã¹ãçµæãããããã¾ããã¨ã©ã¼çºçæã¯ãæ¨æºåºåã®ãã¨ã«ã¨ã©ã¼åºåãç¶ãã¾ã + +@item err.log +ã¨ã©ã¼çºçæã«ãã¨ã©ã¼ãåºåããã¾ããã¨ã©ã¼ãçºçããªãå ´åã¯ä½æããã¾ãã + +@item diff.log +ãã¹ãæ³å®ãã¡ã¤ã«@file{0.txt}ã¨ãã¹ãçµæãã¡ã¤ã«@file{1.txt}ã®å·®åãããããã¾ããæ³å®ã¨çµæãåä¸ã®å ´åã¯ãä½æããã¾ãã + +@item summary.log +ãã¹ãã®å®è¡çµæã表ãã¾ãããã¹ãå®è¡æã«è¡¨ç¤ºãããé ç®ã§ãã + +@item detail.log +ãã¹ãã®è©³ç´°ãã°ã表ãã¾ããä¸è¨ã®å 容ããã¹ã¦åºåããã¾ã +@end table + +@file{detail.log}ã¯ã次ã®ããã«ãªãã¾ãã + +@example +== summary.log == +---------------------------------------------------------------------- +ãã¹ãé¢æ°1 +sort_001: Test Success 2011-01-24 11:13:04 +Details in /Users/kazubito/2011_01/sort/test/sort_001/detail.log +---------------------------------------------------------------------- + +== cmd.c == +---------------------------------------------------------------------- +#include <stdio.h> +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +void sort(int array[], int num); + +int main() @{ + int i, array[] = @{11, 7, 5, 3, 2@}; + + sort(array, ARRAYSIZE(array)); + for(i = 0; i < ARRAYSIZE(array); i++) @{ + printf("%d\n", array[i]); + @} + return 0; +@} +---------------------------------------------------------------------- + +== 0.txt == +---------------------------------------------------------------------- +2 +3 +5 +7 +11 +---------------------------------------------------------------------- + +== 1.txt == +---------------------------------------------------------------------- +2 +3 +5 +7 +11 +---------------------------------------------------------------------- + +@end example + +@unnumberedsubsec ãã°ãå«ã@code{sort}é¢æ°ã®å ´å + +ãã°ãå«ã@code{sort}é¢æ°ãæºåãã¦ãã¹ããå®è¡ããå ´åã@file{1.txt} @file{summary.log} @file{detail.log}ã®ã»ãã«ããã¹ãæ³å®ã¨ãã¹ãçµæãç°ãªããã@kbd{diff.log}ãä½æããã¾ãã + +@example +$ @kbd{ls} +0.txt 1.txt Makefile cmd desc.txt detail.log diff.log summary.log +@end example + +@file{detail.log}ã¯æ¬¡ã®ããã«ãªãã¾ãã + +@example +== summary.log == +---------------------------------------------------------------------- +ãã¹ãé¢æ°1 +sort_001: Test Failure 2011-01-24 11:09:34 +Details in /home/foo/sort/test/sort_001/detail.log +---------------------------------------------------------------------- + +== cmd.c == +---------------------------------------------------------------------- +#include <stdio.h> +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +void sort(int array[], int num); + +int main() @{ + int i, array[] = @{11, 7, 5, 3, 2@}; + + sort(array, ARRAYSIZE(array)); + for(i = 0; i < ARRAYSIZE(array); i++) @{ + printf("%d\n", array[i]); + @} + return 0; +@} +---------------------------------------------------------------------- + +== 0.txt == +---------------------------------------------------------------------- +2 +3 +5 +7 +11 +---------------------------------------------------------------------- + +== diff.log == +---------------------------------------------------------------------- +*** 0.txt 2011-01-24 11:07:39.000000000 +0900 +--- 1.txt 2011-01-24 11:09:34.000000000 +0900 +*************** +*** 1,5 **** + 2 +! 3 +! 5 +! 7 +! 11 +--- 1,5 ---- + 2 +! 2 +! 2 +! 2 +! 2 +---------------------------------------------------------------------- + +== 1.txt == +---------------------------------------------------------------------- +2 +2 +2 +2 +2 +---------------------------------------------------------------------- + +@end example + +@subsection ãã¹ãã®ã¯ãªã¢ + +@kbd{make clean}ãå®è¡ããã¨ããã¹ãã®çµæä½æããããã¡ã¤ã«ãã¯ãªã¢ããã¾ãã + +@example +$ @kbd{make clean} +$ @kbd{ls} +0.txt Makefile cmd.c desc.txt +@end example + + +@node Execute sort group, Check sort group log, Check sort log, Tutorial sort +@section ãã¹ãã°ã«ã¼ãã®å®è¡ + +2ã¤ã以éã®ãã¹ãã»ã±ã¼ã¹ã«ã¤ãã¦ãã1ã¤ãã¨åãæé ã§ãã¹ããã£ã¬ã¯ããªã¼ã®ä½æå¾ããã¹ã説æãã¡ã¤ã«ã¨ãã¹ãã³ãã³ããã¡ã¤ã«ããã¹ãæ³å®ãã¡ã¤ã«ãä½æãã¾ãã + +ããã§ã¯ãå ã«ä½æãã@file{sort_001}ãå«ãã¦ã次ã®ãããªãã£ã¬ã¯ããªã¼ã¨ãã¡ã¤ã«ãä½æãã¾ãããããããã£ã¬ã¯ããªã¼ããã¡ã¤ã«ã¯Autotest.mkã®@file{sample/sort/test}以ä¸ã«ããã¾ãã + +@itemize +@ifnothtml +@item +sort_001 + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd.c} @file{0.txt} +@end itemize + +@item +sort_002 + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd.c} @file{0.txt} +@end itemize + +@item +sort_003 + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd.c} @file{0.txt} +@end itemize + + +@item +sort_004 + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd.c} @file{0.txt} +@end itemize + +@item +sort_005 + +@itemize +@item +@file{Makefile} @file{desc.txt} @file{cmd.c} @file{0.txt} +@end itemize +@end ifnothtml + +@ifhtml +@item +sort_001 + +@itemize +@item +@file{Makefile} @uref{sample_sort/sort_001/desc.txt, @file{desc.txt}} @uref{sample_sort/sort_001/cmd.c.txt, @file{cmd.c}} @uref{sample_sort/sort_001/0.txt, @file{0.txt}} +@end itemize + +@item +sort_002 + +@itemize +@item +@file{Makefile} @uref{sample_sort/sort_002/desc.txt, @file{desc.txt}} @uref{sample_sort/sort_002/cmd.c.txt, @file{cmd.c}} @uref{sample_sort/sort_002/0.txt, @file{0.txt}} +@end itemize + +@item +sort_003 + +@itemize +@item +@file{Makefile} @uref{sample_sort/sort_003/desc.txt, @file{desc.txt}} @uref{sample_sort/sort_003/cmd.c.txt, @file{cmd.c}} @uref{sample_sort/sort_003/0.txt, @file{0.txt}} +@end itemize + + +@item +sort_004 + +@itemize +@item +@file{Makefile} @uref{sample_sort/sort_004/desc.txt, @file{desc.txt}} @uref{sample_sort/sort_004/cmd.c.txt, @file{cmd.c}} @uref{sample_sort/sort_004/0.txt, @file{0.txt}} +@end itemize + +@item +sort_005 + +@itemize +@item +@file{Makefile} @uref{sample_sort/sort_005/desc.txt, @file{desc.txt}} @uref{sample_sort/sort_005/cmd.c.txt, @file{cmd.c}} @uref{sample_sort/sort_005/0.txt, @file{0.txt}} +@end itemize +@end ifhtml +@end itemize + +ãã¹ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã§ã¯ã@kbd{make}ã¾ãã¯@kbd{make check}ã§è¤æ°ã®ãã¹ããã¾ã¨ãã¦å®è¡ã§ãã¾ãã + +@example +$ @kbd{cd ~/sort/test} +$ @kbd{make} +test: 5 / 5 tests passed. Details in /home/foo/sort/test/TEST.log +test: All tests are succeded. +@end example + +表示ãããã®ã¯ã次ã®é ç®ã§ãã +@itemize +@item +<ãã¹ãå>: <æåãã¹ãæ°>/<å ¨ãã¹ãæ°> test passed. Detail in <ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®çµ¶å¯¾ãã¹> + +@item +ï¼ãã¹ã¦ã®ãã¹ãã«æåããå ´åï¼<ãã¹ãå>: All tests are succeded. +@end itemize + +@unnumberedsubsec ãã°ãå«ã@code{sort}é¢æ°ã®å ´å + +ãã°ãå«ã@code{sort}é¢æ°ãæºåãã¦ãã¹ãã°ã«ã¼ããå®è¡ããå ´åã次ã®ããã«è¡¨ç¤ºããã¾ãã失æãããã¹ãããããã¨ãããããã¦ãã¾ãã + +@example +$ @kbd{cd ~/sort/test} +$ @kbd{make} +test: 1 / 5 tests passed. Details in /home/foo/sort/test/TEST.log +@end example + +@node Check sort group log, Iteretive, Execute sort group, Tutorial sort +@section ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®ç¢ºèª +ãã¹ãã°ã«ã¼ããå®è¡ããã¨ä½æããããã¡ã¤ã«ã¯ã次ã®ã¨ããã§ãã + +@table @file +@item <ãã¹ãã°ã«ã¼ãåã大æåã«ããæåå>.log +ãã¹ãã°ã«ã¼ãã«å«ã¾ãããã¹ãã¨ãã®å®è¡çµæã®ä¸è¦§ãããããã¾ãã + +@item Summary.log +ãã¹ãã®å®è¡çµæã表ãã¾ãããã¹ãã°ã«ã¼ãå®è¡æã«è¡¨ç¤ºãããå 容ã§ãã +@end table + +ããã§ã¯ãã¹ãã°ã«ã¼ãåã¯@file{test}ãªã®ã§ã@file{TEST.log}ã次ã®å 容ã§ä½æããã¾ãã + +@example +sort_001/ +ãã¹ãé¢æ°1 +sort_001: Test Success 2011-01-24 11:37:46 +Details in /home/foo/sort/test/sort_001/detail.log + +sort_002/ +ãã¹ãé¢æ°1 +sort_002: Test Success 2011-01-24 11:37:46 +Details in /home/foo/sort/test/sort_002/detail.log + +sort_003/ +ãã¹ãé¢æ°3 +sort_003: Test Success 2011-01-24 11:37:46 +Details in /home/foo/sort/test/sort_003/detail.log + +sort_004/ +ãã¹ãé¢æ°4 +sort_004: Test Success 2011-01-24 11:37:46 +Details in /home/foo/sort/test/sort_004/detail.log + +sort_005/ +ãã¹ãé¢æ°5 +sort_005: Test Success 2011-01-24 11:37:47 +Details in /home/foo/sort/test/sort_005/detail.log + +@end example + +ãã¹ããã¾ã¨ãã¦å®è¡ããå ´åããåå¥ã®ãã¹ããå®è¡ããå ´åã¨åæ§ã«ããã¹ããã£ã¬ã¯ããªã¼ã«ãã¹ããã°ãåºåããã¾ããç¹å®ã®ãã¹ãçµæã詳細ã«æ¤è¨ããå ´åã¯ããã®ãã¹ãã®ãã¹ããã£ã¬ã¯ããªã¼ãéãã¦ãã¹ããã°ãã¡ã¤ã«ã®ç¢ºèªããã¾ãã + +@unnumberedsubsec ãã°ãå«ã@code{sort}é¢æ°ã®å ´å + +ãã°ãå«ã@code{sort}é¢æ°ãæºåãã¦ãã¹ãã°ã«ã¼ããå®è¡ããå ´åã@file{TEST.log}ã¯æ¬¡ã®ããã«è¡¨ç¤ºããã¾ããsort_001ãsort_003ãsort_004ãsort_005ã®ãã¹ãã§å¤±æãã¦ãããã¨ããããã¾ãã + +@example +sort_001/ +ãã¹ãé¢æ°1 +sort_001: Test Failure 2011-01-24 12:03:02 +Details in /home/foo/sort/test/sort_001/detail.log + +sort_002/ +ãã¹ãé¢æ°1 +sort_002: Test Success 2011-01-24 12:03:02 +Details in /home/foo/sort/test/sort_002/detail.log + +sort_003/ +ãã¹ãé¢æ°3 +sort_003: Test Failure 2011-01-24 12:03:02 +Details in /home/foo/sort/test/sort_003/detail.log + +sort_004/ +ãã¹ãé¢æ°4 +sort_004: Test Failure 2011-01-24 12:03:02 +Details in /home/foo/sort/test/sort_004/detail.log + +sort_005/ +ãã¹ãé¢æ°5 +sort_005: Test Failure 2011-01-24 12:03:04 +Details in /home/foo/sort/test/sort_005/detail.log + +@end example + +@node Iteretive, , Check sort group log, Tutorial sort +@section éçºã¨ãã¹ãã®å復 +ãã¨ã¯ãã¹ã対象ã¨ãªã£ã¦ããé¢æ°ãå¤æ´ãããã³ã«ããã¹ããå®è¡ã§ããããã«ãªãã¾ããã¤ã¾ããé¢æ°ã®åä½ã§éçºã¨ãã¹ããå復ãã¦ã§ãã¾ãã + +é¢æ°ã®å®è£ ã ããå¤æ´ããã¦ä»æ§ãå¤ãã£ã¦ããªãå ´åã¯ããã¹ãã°ã«ã¼ãã®ãã£ã¬ã¯ããªã¼ã§@kbd{make}ãå®è¡ããã ãã§ãã¹ããã§ãã¾ãã + +é¢æ°ã®å ¥åã¾ãã¯åºåã®ä»æ§ãå¤ãã£ãå ´åã«ã¯ã@file{0.txt}ã¨@file{cmd.c}ã®å¤æ´ãæ¤è¨ãã¾ããé¢æ°ã®ã³ã³ãã¤ã«æ¹æ³ï¼ä¾åãããã¡ã¤ã«ï¼ãå¤ãã£ãå ´åã¯ã@file{Makefile}ã®å¤æ´ãæ¤è¨ãã¾ãã + +@node Template dir, Group dir, Tutorial sort, Top +@chapter ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã« + +ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã¯ãAutotest.mkãã¤ã³ã¹ãã¼ã«ããã¨ãã«å±éã«ããä½æããã@file{template}ãã£ã¬ã¯ããªã¼ã§ãã + +@menu +* make group:: @kbd{make}ã¾ãã¯@kbd{make group} - ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ +* Template files:: ãã³ãã¬ã¼ãã®ãã¡ã¤ã« +@end menu + +@node make group, Template files, Template dir, Template dir +@section @kbd{make}ã¾ãã¯@kbd{make group} - ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ + +å¤æ°@code{GROUPDIR}ã§æå®ããããã£ã¬ã¯ããªã¼ããã¹ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã¨ãã¦ä½æãããã¹ãã®å®è¡ã«å¿ è¦ãªæ¬¡ã®ãã¡ã¤ã«ãé ç½®ãã¾ãã + +@itemize +@item +@file{Define.mk} + +@item +@file{Makefile} + +@item +@file{Test.mk} +@end itemize + +é常ããã¹ãã«å¿ è¦ãªãã¡ã¤ã«ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ããã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«ã³ãã¼ããã¾ããå¤æ°@code{LINKMK}ãæå®ããå ´åã¯ãã·ã³ããªãã¯ãªã³ã¯ãä½æããã¾ãã + +@subsection å¤æ° + +@table @code +@item GROUPDIR +ãã¹ããã£ã¬ã¯ããªã¼ãæå®ãã¾ããæå®ããªãå ´åãæ¢åã®ãã£ã¬ã¯ããªã¼ãæå®ããå ´åã¯ãã¨ã©ã¼ãçºçãã¦ãã¹ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã¯ä½æããã¾ããã + +@item LINKMK +æå®ããå ´åãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«ãã¹ãã®å®è¡ã«å¿ è¦ãªãã¡ã¤ã«ã®ã·ã³ããªãã¯ãªã³ã¯ãä½æããã¾ããå¤ã¯ä»»æã§ããã·ã³ããªãã¯ãªã³ã¯ã®ãªã³ã¯å ã¯ããã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã®ä¸ã§ãã +@end table + +@unnumberedsubsec 使ç¨ä¾ + +ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã¨ãã¦@file{~/triangle/test}ãä½æãã¾ãã + +@example +$ @kbd{make GROUPDIR=~/triangle/test} +@end example + +@node Template files, , make group, Template dir +@section ãã³ãã¬ã¼ãã®ãã¡ã¤ã« + +ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã«ã¯ã次ã®ãã¡ã¤ã«ãå«ã¾ãã¾ãã +@table @file +@item Makefile +ãã³ãã¬ã¼ããã£ã¬ã¯ããªã¼ã®Makefile + +@item Group.mk +ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®Makefileã@kbd{make}ã¾ãã¯@kbd{make group}ã§ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«@file{Makefile}ã¨ãã¦é ç½®ããã¾ãã + +@item Test.mk +ãã¹ããã£ã¬ã¯ããªã¼ããåç §ãããMakefileã@kbd{make}ã¾ãã¯@kbd{make group}ã§ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«é ç½®ããã¾ãã + +@item Define.mk +ãã¹ãã¨ãã¹ãã°ã«ã¼ãã«é¢ããé ç®ãå®ç¾©ããMakefileã@kbd{make}ã¾ãã¯@kbd{make group}ã§ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«é ç½®ããã¾ãã +@end table + +@node Group dir, Test dir, Template dir, Top +@chapter ã°ã«ã¼ããã£ã¬ã¯ããªã¼ ããã¥ã¢ã« + +@ref{make group, , ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ä½æ}å¾ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«ç§»åããã¨æ¬¡ã®æä½ãã§ãã¾ãã + +@menu +* make create:: @kbd{make create} - ãã¹ãã®ä½æ +* Rename and Copy:: ãã¹ãåã®å¤æ´ã¨ã³ãã¼ +* Delete:: ãã¹ãã®åé¤ +* make check at group:: @kbd{make}ã¾ãã¯@kbd{make check} - ãã¹ãã°ã«ã¼ãã®å®è¡ +* make checkall:: @kbd{make checkall} - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ãã®å®è¡ãè¨æ +* make clean at group:: @kbd{make clean} - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ãã§ãå®è¡çµæãã¯ãªã¢ +* make time at group:: @kbd{make time} - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ããè¨æ +* make cleantime at group:: @kbd{make cleantime} - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ãã§ãè¨æçµæãã¯ãªã¢ +* Group files:: ã°ã«ã¼ãã®ãã¡ã¤ã« +@end menu + +@node make create, Rename and Copy, Group dir, Group dir +@section @kbd{make create} - ãã¹ãã®ä½æ + +å¤æ°@code{TEST}ã§æå®ããããã£ã¬ã¯ããªã¼ããã¹ããã£ã¬ã¯ããªã¼ã¨ãã¦ä½æãããã£ã¬ã¯ããªã¼ã®ä¸ã«@code{Makefile}ãä½æãã¾ãã + +ãã¹ãåã¯ãå°æåã®ã¢ã«ãã¡ãããã¨æ°åã§æå®ãã¾ãã大æåã§ã¯ãã¾ãååãæå®ããå ´åããã£ã¬ã¯ããªã¼ã@code{Makefile}ã¯ä½æããããã®ã®ããã¹ãã°ã«ã¼ãå®è¡ã®å¯¾è±¡ã«ãªãã¾ããã + +å¤æ°@code{SRC=c}ãæå®ããå ´åã¯ãCè¨èªã®é¢æ°ãã¹ãç¨ã®@code{Makefile}ãä½æããã¾ãã + +@subsection å¤æ° +@table @code +@item TEST +ãã¹ããã£ã¬ã¯ããªã¼åãæå®ãã¾ãã + +@item SRC +å¤@code{c}ãæå®ããã¨ãCè¨èªã®é¢æ°ãã¹ãç¨ã®@code{Makefile}ãä½æããã¾ãã + +@end table + +@unnumberedsubsec 使ç¨ä¾ +ãã¹ããã£ã¬ã¯ããªã¼ãã@code{01_scalene}ã¨ããååã§ä½æãã¾ãã + +@example +$ @kbd{make create TEST=01_scalene} +@end example + +@node Rename and Copy, Delete, make create, Group dir +@section ãã¹ãåã®å¤æ´ã¨ã³ãã¼ + +ãã¹ãåãå¤æ´ããããã¹ããã³ãã¼ãããããå ´åã¯ã@kbd{mv}ã@kbd{cp}ãªã©ã§ãã¹ããã£ã¬ã¯ããªã¼ã移åãã³ãã¼ãã¾ãã + +@unnumberedsubsec 使ç¨ä¾ +ãã¹ãå@code{01_scalene}ã@code{01}ã«å¤æ´ãã¾ãã + +@example +$ @kbd{mv 01_scalene 01} +@end example + +ãã¹ã@code{01}ãã³ãã¼ãããã¹ã@code{02}ãä½æãã¾ãã + +@example +$ @kbd{cp -r 01 02} +@end example + +@node Delete, make check at group, Rename and Copy, Group dir +@section ãã¹ãã®åé¤ + +ãã¹ããåé¤ããå ´åã¯ã@kbd{rm}ãªã©ã§ãã¹ããã£ã¬ã¯ããªã¼ãåé¤ãã¾ãã + +@unnumberedsubsec 使ç¨ä¾ + +@example +$ @kbd{rm -rf 01_scalene} +@end example + +@node make check at group, make checkall, Delete, Group dir +@section @kbd{make}ã¾ãã¯@kbd{make check} - ãã¹ãã°ã«ã¼ãã®å®è¡ + +@kbd{make}ã¾ãã¯@kbd{make check}ã§ãã°ã«ã¼ãå ã«ãããã¹ã¦ã®@ref{make check at test, , ãã¹ãã®å®è¡}ããã次ã®é ç®ã表示ãã¾ãã + +@itemize +@item +<ãã¹ãå>: <æåãã¹ãæ°>/<å ¨ãã¹ãæ°> test passed. Detail in <ãã¹ãã°ã«ã¼ããã°ãã¡ã¤ã«ã®çµ¶å¯¾ãã¹> + +@item +ï¼ãã¹ã¦ã®ãã¹ãã«æåããå ´åï¼<ãã¹ãå>: All tests are succeded. +@end itemize + +ãã¹ãã°ã«ã¼ããå®è¡ããã¨æ¬¡ã®ãã¡ã¤ã«ãä½æããã¾ãã + +@table @file +@item <ãã¹ãã°ã«ã¼ãåã大æåã«ããæåå>.log +ãã¹ãã°ã«ã¼ãã«å«ã¾ãããã¹ãã¨ãã®å®è¡çµæã®ä¸è¦§ãããããã¾ãã + +@item Summary.log +ãã¹ãå®è¡çµæã®æ¦è¦ã表ãã¾ãããã¹ãã°ã«ã¼ãå®è¡æã«è¡¨ç¤ºãããå 容ã§ãã +@end table + +@unnumberedsubsec 使ç¨ä¾ + +@example +$ @kbd{make} +test: 13 / 13 tests passed. Detail in /home/foo/triangle/test/TEST.log +test: All tests are succeded. +@end example + +@node make checkall, make clean at group, make check at group, Group dir +@section @kbd{make checkall} - ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ãã®å®è¡ãè¨æ + +@kbd{make checkall}ã§ã°ã«ã¼ãå ã«ãããã¹ã¦ã®ãã¹ããã@ref{make check at test, , å®è¡}ãã@ref{make time at test, , è¨æ}ãã¾ãã@ref{make check at group, , ãã¹ãã°ã«ã¼ãã®å®è¡}ã¨åãé ç®ã表示ããåºåããããã¡ã¤ã«ã®ç¨®é¡ãåãã§ãã@code{<ãã¹ãã°ã«ã¼ãåã大æåã«ããæåå>.log}ã«ã¯ããã¹ãã¨å®è¡çµæã«å ããè¨æçµæãä¸è¦§ã¨ãã¦åºåããã¾ãã + +ãã¹ãã®å®è¡ã¨è¨æã¯å¥ã«è¡ããããããé常ã«ãã¹ããå®è¡ããããã2åç¨åº¦ã®æéããããã¾ãã + +@unnumberedsubsec 使ç¨ä¾ @example $ @kbd{make checkall} @@ -1128,7 +1984,6 @@ test: All tests are succeded. @unnumberedsubsec 使ç¨ä¾ @example -$ @kbd{cd ~/triangle/test} $ @kbd{make clean} @end example @@ -1181,12 +2036,18 @@ real 0m0.007s real 0m0.012s @end example -@node make cleantime at group, Group Files, make time at group, Group dir +@node make cleantime at group, Group files, make time at group, Group dir @section @kbd{make cleantime} - ã°ã«ã¼ãã®è¨æçµæãã¯ãªã¢ @kbd{make cleatime}ã§ã@kbd{make time}ã«ããä½æããããã¹ãã°ã«ã¼ããã£ã¬ã¯ããªã¼ã¨åãã¹ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã«ããã¹ã¦åé¤ãã¾ãã -@node Group Files, , make cleantime at group, Group dir +@unnumberedsubsec 使ç¨ä¾ + +@example +$ @kbd{make cleantime} +@end example + +@node Group files, , make cleantime at group, Group dir @section ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã« ã°ã«ã¼ããã£ã¬ã¯ããªã¼ã«ã¯ããã¹ããã£ã¬ã¯ããªã¼ã«å ãã¦ã次ã®ãã¡ã¤ã«ãå«ã¾ãã¾ãã @@ -1219,7 +2080,7 @@ real 0m0.012s * make cleanall at test:: @kbd{make cleanall} - ãã¹ãã®æ³å®ã¨çµæãã¯ãªã¢ * make time at test:: @kbd{make time} - ãã¹ãã®è¨æ * make cleantime at test:: @kbd{make cleantime} - ãã¹ãè¨æçµæã®ã¯ãªã¢ -* Test Files:: ãã¹ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã« +* Test files:: ãã¹ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã« @end menu @node make set, make reset, Test dir, Test dir @@ -1335,7 +2196,7 @@ $ @kbd{make time} real 0m0.006s @end example -@node make cleantime at test, Test Files, make time at test, Test dir +@node make cleantime at test, Test files, make time at test, Test dir @section @kbd{make cleantime} - ãã¹ãè¨æçµæã®ã¯ãªã¢ @kbd{make cleantime}ã§ããã¹ãã®è¨æã®çµæä½æããã次ã®ãã¡ã¤ã«ãåé¤ããã¾ãã @@ -1344,7 +2205,13 @@ real 0m0.006s @file{time.log} @end itemize -@node Test Files, , make cleantime at test, Test dir +@unnumberedsubsec 使ç¨ä¾ + +@example +$ @kbd{make cleantime} +@end example + +@node Test files, , make cleantime at test, Test dir @section ãã¹ããã£ã¬ã¯ããªã¼ã®ãã¡ã¤ã« @table @file @item Makefile diff --git a/doc/sample_sort/sort_001/0.txt b/doc/sample_sort/sort_001/0.txt new file mode 100644 index 0000000..935d69f --- /dev/null +++ b/doc/sample_sort/sort_001/0.txt @@ -0,0 +1,5 @@ +2 +3 +5 +7 +11 diff --git a/doc/sample_sort/sort_001/Makefile b/doc/sample_sort/sort_001/Makefile new file mode 100644 index 0000000..932253b --- /dev/null +++ b/doc/sample_sort/sort_001/Makefile @@ -0,0 +1,13 @@ +include ../Define.mk +include ../Test.mk + +CC := gcc +CFLAGS := -Wall + +.INTERMEDIATE: $(CMD_FILE) + +CMDSRC_FILE := cmd.c +TESTTARGET_FILES := ../../sort.c # Set test target files + +$(CMD_FILE): $(CMDSRC_FILE) $(TESTTARGET_FILES) + $(CC) $(CFLAGS) -o $@ $^ diff --git a/doc/sample_sort/sort_001/cmd.c.txt b/doc/sample_sort/sort_001/cmd.c.txt new file mode 100644 index 0000000..b84237a --- /dev/null +++ b/doc/sample_sort/sort_001/cmd.c.txt @@ -0,0 +1,16 @@ +#include <stdio.h> +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +void sort(int array[], int num); + +int main() { + int i, array[] = {11, 7, 5, 3, 2}; + + sort(array, ARRAYSIZE(array)); + for(i = 0; i < ARRAYSIZE(array); i++) { + printf("%d\n", array[i]); + } + return 0; +} diff --git a/doc/sample_sort/sort_001/desc.txt b/doc/sample_sort/sort_001/desc.txt new file mode 100644 index 0000000..c33e7d4 --- /dev/null +++ b/doc/sample_sort/sort_001/desc.txt @@ -0,0 +1 @@ +ãã¹ãé¢æ°1 diff --git a/doc/sample_sort/sort_002/0.txt b/doc/sample_sort/sort_002/0.txt new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/doc/sample_sort/sort_002/0.txt @@ -0,0 +1 @@ +3 diff --git a/doc/sample_sort/sort_002/Makefile b/doc/sample_sort/sort_002/Makefile new file mode 100644 index 0000000..932253b --- /dev/null +++ b/doc/sample_sort/sort_002/Makefile @@ -0,0 +1,13 @@ +include ../Define.mk +include ../Test.mk + +CC := gcc +CFLAGS := -Wall + +.INTERMEDIATE: $(CMD_FILE) + +CMDSRC_FILE := cmd.c +TESTTARGET_FILES := ../../sort.c # Set test target files + +$(CMD_FILE): $(CMDSRC_FILE) $(TESTTARGET_FILES) + $(CC) $(CFLAGS) -o $@ $^ diff --git a/doc/sample_sort/sort_002/cmd.c.txt b/doc/sample_sort/sort_002/cmd.c.txt new file mode 100644 index 0000000..f42eff3 --- /dev/null +++ b/doc/sample_sort/sort_002/cmd.c.txt @@ -0,0 +1,16 @@ +#include <stdio.h> +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +void sort(int array[], int num); + +int main() { + int i, array[] = {3}; + + sort(array, ARRAYSIZE(array)); + for(i = 0; i < ARRAYSIZE(array); i++) { + printf("%d\n", array[i]); + } + return 0; +} diff --git a/doc/sample_sort/sort_002/desc.txt b/doc/sample_sort/sort_002/desc.txt new file mode 100644 index 0000000..b2842f0 --- /dev/null +++ b/doc/sample_sort/sort_002/desc.txt @@ -0,0 +1 @@ +ãã¹ãé¢æ°2 diff --git a/doc/sample_sort/sort_003/0.txt b/doc/sample_sort/sort_003/0.txt new file mode 100644 index 0000000..935d69f --- /dev/null +++ b/doc/sample_sort/sort_003/0.txt @@ -0,0 +1,5 @@ +2 +3 +5 +7 +11 diff --git a/doc/sample_sort/sort_003/Makefile b/doc/sample_sort/sort_003/Makefile new file mode 100644 index 0000000..932253b --- /dev/null +++ b/doc/sample_sort/sort_003/Makefile @@ -0,0 +1,13 @@ +include ../Define.mk +include ../Test.mk + +CC := gcc +CFLAGS := -Wall + +.INTERMEDIATE: $(CMD_FILE) + +CMDSRC_FILE := cmd.c +TESTTARGET_FILES := ../../sort.c # Set test target files + +$(CMD_FILE): $(CMDSRC_FILE) $(TESTTARGET_FILES) + $(CC) $(CFLAGS) -o $@ $^ diff --git a/doc/sample_sort/sort_003/cmd.c.txt b/doc/sample_sort/sort_003/cmd.c.txt new file mode 100644 index 0000000..659a492 --- /dev/null +++ b/doc/sample_sort/sort_003/cmd.c.txt @@ -0,0 +1,16 @@ +#include <stdio.h> +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +void sort(int array[], int num); + +int main() { + int i, array[] = {7, 11, 3, 2, 5}; + + sort(array, ARRAYSIZE(array)); + for(i = 0; i < ARRAYSIZE(array); i++) { + printf("%d\n", array[i]); + } + return 0; +} diff --git a/doc/sample_sort/sort_003/desc.txt b/doc/sample_sort/sort_003/desc.txt new file mode 100644 index 0000000..186832e --- /dev/null +++ b/doc/sample_sort/sort_003/desc.txt @@ -0,0 +1 @@ +ãã¹ãé¢æ°3 diff --git a/doc/sample_sort/sort_004/0.txt b/doc/sample_sort/sort_004/0.txt new file mode 100644 index 0000000..f00c965 --- /dev/null +++ b/doc/sample_sort/sort_004/0.txt @@ -0,0 +1,10 @@ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 diff --git a/doc/sample_sort/sort_004/Makefile b/doc/sample_sort/sort_004/Makefile new file mode 100644 index 0000000..932253b --- /dev/null +++ b/doc/sample_sort/sort_004/Makefile @@ -0,0 +1,13 @@ +include ../Define.mk +include ../Test.mk + +CC := gcc +CFLAGS := -Wall + +.INTERMEDIATE: $(CMD_FILE) + +CMDSRC_FILE := cmd.c +TESTTARGET_FILES := ../../sort.c # Set test target files + +$(CMD_FILE): $(CMDSRC_FILE) $(TESTTARGET_FILES) + $(CC) $(CFLAGS) -o $@ $^ diff --git a/doc/sample_sort/sort_004/cmd.c.txt b/doc/sample_sort/sort_004/cmd.c.txt new file mode 100644 index 0000000..7223648 --- /dev/null +++ b/doc/sample_sort/sort_004/cmd.c.txt @@ -0,0 +1,16 @@ +#include <stdio.h> +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +void sort(int array[], int num); + +int main() { + int i, array[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; + + sort(array, ARRAYSIZE(array)); + for(i = 0; i < ARRAYSIZE(array); i++) { + printf("%d\n", array[i]); + } + return 0; +} diff --git a/doc/sample_sort/sort_004/desc.txt b/doc/sample_sort/sort_004/desc.txt new file mode 100644 index 0000000..5a14692 --- /dev/null +++ b/doc/sample_sort/sort_004/desc.txt @@ -0,0 +1 @@ +ãã¹ãé¢æ°4 diff --git a/doc/sample_sort/sort_005/0.txt b/doc/sample_sort/sort_005/0.txt new file mode 100644 index 0000000..f00c965 --- /dev/null +++ b/doc/sample_sort/sort_005/0.txt @@ -0,0 +1,10 @@ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 diff --git a/doc/sample_sort/sort_005/Makefile b/doc/sample_sort/sort_005/Makefile new file mode 100644 index 0000000..c46a82a --- /dev/null +++ b/doc/sample_sort/sort_005/Makefile @@ -0,0 +1,13 @@ +include ../Define.mk +include ../Test.mk + +CC := gcc +CFLAGS := -Wall + +.INTERMEDIATE: $(CMD_FILE) + +CMDSRC_FILE := cmd.c +TESTTARGET_FILES := ../../sort.c # Set test target files + +$(CMD_FILE): $(CMDSRC_FILE) $(TESTTARGET_FILES) + $(CC) $(CFLAGS) -o $@ $^ >compile.log 2>&1 diff --git a/doc/sample_sort/sort_005/cmd.c.txt b/doc/sample_sort/sort_005/cmd.c.txt new file mode 100644 index 0000000..eb7a76f --- /dev/null +++ b/doc/sample_sort/sort_005/cmd.c.txt @@ -0,0 +1,16 @@ +#include <stdio.h> +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +void sort(int array[], int num); + +int main() { + int i, array[] = {2, 9, 3, 6, 10, 5, 8, 4, 1, 7}; + + sort(array, ARRAYSIZE(array)); + for(i = 0; i < ARRAYSIZE(array); i++) { + printf("%d\n", array[i]); + } + return 0; +} diff --git a/doc/sample_sort/sort_005/desc.txt b/doc/sample_sort/sort_005/desc.txt new file mode 100644 index 0000000..81d48ce --- /dev/null +++ b/doc/sample_sort/sort_005/desc.txt @@ -0,0 +1 @@ +ãã¹ãé¢æ°5 diff --git a/sample/sort/Makefile b/sample/sort/Makefile new file mode 100644 index 0000000..3849fee --- /dev/null +++ b/sample/sort/Makefile @@ -0,0 +1,10 @@ +.PHONY: normal bug clean + +normal: sort_normal.c clean + cp $< sort.c + +bug: sort_bug.c clean + cp $< sort.c + +clean: + rm -f sort.c diff --git a/sample/sort/sort.c b/sample/sort/sort.c new file mode 100644 index 0000000..aedf9ff --- /dev/null +++ b/sample/sort/sort.c @@ -0,0 +1,15 @@ +void sort(int array[], int num) { + int i; + int j; + int val; + + for(i=0; i<(num-1); i++) { + for(j=(num-1); j>i; j--) { + if (array[j-1] > array[j]) { + val = array[j]; + array[j] = array[j-1]; + array[j-1] = val; + } + } + } +} diff --git a/sample/sort/sort_bug.c b/sample/sort/sort_bug.c new file mode 100644 index 0000000..8070d57 --- /dev/null +++ b/sample/sort/sort_bug.c @@ -0,0 +1,15 @@ +void sort(int array[], int num) { + int i; + int j; + int val; + + for(i=0; i<(num-1); i++) { + for(j=(num-1); j>i; j--) { + if (array[j-1] > array[j]) { + val = array[j]; + array[j] = array[j]; // æ¬å½ã¯ array[j] = array[j-1]; + array[j-1] = val; + } + } + } +} diff --git a/sample/sort/sort_normal.c b/sample/sort/sort_normal.c new file mode 100644 index 0000000..aedf9ff --- /dev/null +++ b/sample/sort/sort_normal.c @@ -0,0 +1,15 @@ +void sort(int array[], int num) { + int i; + int j; + int val; + + for(i=0; i<(num-1); i++) { + for(j=(num-1); j>i; j--) { + if (array[j-1] > array[j]) { + val = array[j]; + array[j] = array[j-1]; + array[j-1] = val; + } + } + } +} diff --git a/sample/sort/test/Define.mk b/sample/sort/test/Define.mk new file mode 120000 index 0000000..c382256 --- /dev/null +++ b/sample/sort/test/Define.mk @@ -0,0 +1 @@ +/Users/kazubito/2011_01/autotest_mk/template/Define.mk \ No newline at end of file diff --git a/sample/sort/test/Makefile b/sample/sort/test/Makefile new file mode 120000 index 0000000..6eecfa5 --- /dev/null +++ b/sample/sort/test/Makefile @@ -0,0 +1 @@ +/Users/kazubito/2011_01/autotest_mk/template/Group.mk \ No newline at end of file diff --git a/sample/sort/test/Test.mk b/sample/sort/test/Test.mk new file mode 120000 index 0000000..4983512 --- /dev/null +++ b/sample/sort/test/Test.mk @@ -0,0 +1 @@ +/Users/kazubito/2011_01/autotest_mk/template/Test.mk \ No newline at end of file diff --git a/sample/sort/test/sort_001/0.txt b/sample/sort/test/sort_001/0.txt new file mode 100644 index 0000000..935d69f --- /dev/null +++ b/sample/sort/test/sort_001/0.txt @@ -0,0 +1,5 @@ +2 +3 +5 +7 +11 diff --git a/sample/sort/test/sort_001/Makefile b/sample/sort/test/sort_001/Makefile new file mode 100644 index 0000000..932253b --- /dev/null +++ b/sample/sort/test/sort_001/Makefile @@ -0,0 +1,13 @@ +include ../Define.mk +include ../Test.mk + +CC := gcc +CFLAGS := -Wall + +.INTERMEDIATE: $(CMD_FILE) + +CMDSRC_FILE := cmd.c +TESTTARGET_FILES := ../../sort.c # Set test target files + +$(CMD_FILE): $(CMDSRC_FILE) $(TESTTARGET_FILES) + $(CC) $(CFLAGS) -o $@ $^ diff --git a/sample/sort/test/sort_001/cmd.c b/sample/sort/test/sort_001/cmd.c new file mode 100644 index 0000000..b84237a --- /dev/null +++ b/sample/sort/test/sort_001/cmd.c @@ -0,0 +1,16 @@ +#include <stdio.h> +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +void sort(int array[], int num); + +int main() { + int i, array[] = {11, 7, 5, 3, 2}; + + sort(array, ARRAYSIZE(array)); + for(i = 0; i < ARRAYSIZE(array); i++) { + printf("%d\n", array[i]); + } + return 0; +} diff --git a/sample/sort/test/sort_001/desc.txt b/sample/sort/test/sort_001/desc.txt new file mode 100644 index 0000000..c33e7d4 --- /dev/null +++ b/sample/sort/test/sort_001/desc.txt @@ -0,0 +1 @@ +ãã¹ãé¢æ°1 diff --git a/sample/sort/test/sort_002/0.txt b/sample/sort/test/sort_002/0.txt new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/sample/sort/test/sort_002/0.txt @@ -0,0 +1 @@ +3 diff --git a/sample/sort/test/sort_002/Makefile b/sample/sort/test/sort_002/Makefile new file mode 100644 index 0000000..932253b --- /dev/null +++ b/sample/sort/test/sort_002/Makefile @@ -0,0 +1,13 @@ +include ../Define.mk +include ../Test.mk + +CC := gcc +CFLAGS := -Wall + +.INTERMEDIATE: $(CMD_FILE) + +CMDSRC_FILE := cmd.c +TESTTARGET_FILES := ../../sort.c # Set test target files + +$(CMD_FILE): $(CMDSRC_FILE) $(TESTTARGET_FILES) + $(CC) $(CFLAGS) -o $@ $^ diff --git a/sample/sort/test/sort_002/cmd.c b/sample/sort/test/sort_002/cmd.c new file mode 100644 index 0000000..f42eff3 --- /dev/null +++ b/sample/sort/test/sort_002/cmd.c @@ -0,0 +1,16 @@ +#include <stdio.h> +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +void sort(int array[], int num); + +int main() { + int i, array[] = {3}; + + sort(array, ARRAYSIZE(array)); + for(i = 0; i < ARRAYSIZE(array); i++) { + printf("%d\n", array[i]); + } + return 0; +} diff --git a/sample/sort/test/sort_002/desc.txt b/sample/sort/test/sort_002/desc.txt new file mode 100644 index 0000000..b2842f0 --- /dev/null +++ b/sample/sort/test/sort_002/desc.txt @@ -0,0 +1 @@ +ãã¹ãé¢æ°2 diff --git a/sample/sort/test/sort_003/0.txt b/sample/sort/test/sort_003/0.txt new file mode 100644 index 0000000..935d69f --- /dev/null +++ b/sample/sort/test/sort_003/0.txt @@ -0,0 +1,5 @@ +2 +3 +5 +7 +11 diff --git a/sample/sort/test/sort_003/Makefile b/sample/sort/test/sort_003/Makefile new file mode 100644 index 0000000..932253b --- /dev/null +++ b/sample/sort/test/sort_003/Makefile @@ -0,0 +1,13 @@ +include ../Define.mk +include ../Test.mk + +CC := gcc +CFLAGS := -Wall + +.INTERMEDIATE: $(CMD_FILE) + +CMDSRC_FILE := cmd.c +TESTTARGET_FILES := ../../sort.c # Set test target files + +$(CMD_FILE): $(CMDSRC_FILE) $(TESTTARGET_FILES) + $(CC) $(CFLAGS) -o $@ $^ diff --git a/sample/sort/test/sort_003/cmd.c b/sample/sort/test/sort_003/cmd.c new file mode 100644 index 0000000..659a492 --- /dev/null +++ b/sample/sort/test/sort_003/cmd.c @@ -0,0 +1,16 @@ +#include <stdio.h> +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +void sort(int array[], int num); + +int main() { + int i, array[] = {7, 11, 3, 2, 5}; + + sort(array, ARRAYSIZE(array)); + for(i = 0; i < ARRAYSIZE(array); i++) { + printf("%d\n", array[i]); + } + return 0; +} diff --git a/sample/sort/test/sort_003/desc.txt b/sample/sort/test/sort_003/desc.txt new file mode 100644 index 0000000..186832e --- /dev/null +++ b/sample/sort/test/sort_003/desc.txt @@ -0,0 +1 @@ +ãã¹ãé¢æ°3 diff --git a/sample/sort/test/sort_004/0.txt b/sample/sort/test/sort_004/0.txt new file mode 100644 index 0000000..f00c965 --- /dev/null +++ b/sample/sort/test/sort_004/0.txt @@ -0,0 +1,10 @@ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 diff --git a/sample/sort/test/sort_004/Makefile b/sample/sort/test/sort_004/Makefile new file mode 100644 index 0000000..932253b --- /dev/null +++ b/sample/sort/test/sort_004/Makefile @@ -0,0 +1,13 @@ +include ../Define.mk +include ../Test.mk + +CC := gcc +CFLAGS := -Wall + +.INTERMEDIATE: $(CMD_FILE) + +CMDSRC_FILE := cmd.c +TESTTARGET_FILES := ../../sort.c # Set test target files + +$(CMD_FILE): $(CMDSRC_FILE) $(TESTTARGET_FILES) + $(CC) $(CFLAGS) -o $@ $^ diff --git a/sample/sort/test/sort_004/cmd.c b/sample/sort/test/sort_004/cmd.c new file mode 100644 index 0000000..7223648 --- /dev/null +++ b/sample/sort/test/sort_004/cmd.c @@ -0,0 +1,16 @@ +#include <stdio.h> +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +void sort(int array[], int num); + +int main() { + int i, array[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1}; + + sort(array, ARRAYSIZE(array)); + for(i = 0; i < ARRAYSIZE(array); i++) { + printf("%d\n", array[i]); + } + return 0; +} diff --git a/sample/sort/test/sort_004/desc.txt b/sample/sort/test/sort_004/desc.txt new file mode 100644 index 0000000..5a14692 --- /dev/null +++ b/sample/sort/test/sort_004/desc.txt @@ -0,0 +1 @@ +ãã¹ãé¢æ°4 diff --git a/sample/sort/test/sort_005/0.txt b/sample/sort/test/sort_005/0.txt new file mode 100644 index 0000000..f00c965 --- /dev/null +++ b/sample/sort/test/sort_005/0.txt @@ -0,0 +1,10 @@ +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 diff --git a/sample/sort/test/sort_005/Makefile b/sample/sort/test/sort_005/Makefile new file mode 100644 index 0000000..c46a82a --- /dev/null +++ b/sample/sort/test/sort_005/Makefile @@ -0,0 +1,13 @@ +include ../Define.mk +include ../Test.mk + +CC := gcc +CFLAGS := -Wall + +.INTERMEDIATE: $(CMD_FILE) + +CMDSRC_FILE := cmd.c +TESTTARGET_FILES := ../../sort.c # Set test target files + +$(CMD_FILE): $(CMDSRC_FILE) $(TESTTARGET_FILES) + $(CC) $(CFLAGS) -o $@ $^ >compile.log 2>&1 diff --git a/sample/sort/test/sort_005/cmd.c b/sample/sort/test/sort_005/cmd.c new file mode 100644 index 0000000..eb7a76f --- /dev/null +++ b/sample/sort/test/sort_005/cmd.c @@ -0,0 +1,16 @@ +#include <stdio.h> +#ifndef ARRAYSIZE +#define ARRAYSIZE(array) (sizeof(array)/sizeof(array[0])) +#endif + +void sort(int array[], int num); + +int main() { + int i, array[] = {2, 9, 3, 6, 10, 5, 8, 4, 1, 7}; + + sort(array, ARRAYSIZE(array)); + for(i = 0; i < ARRAYSIZE(array); i++) { + printf("%d\n", array[i]); + } + return 0; +} diff --git a/sample/sort/test/sort_005/desc.txt b/sample/sort/test/sort_005/desc.txt new file mode 100644 index 0000000..81d48ce --- /dev/null +++ b/sample/sort/test/sort_005/desc.txt @@ -0,0 +1 @@ +ãã¹ãé¢æ°5 diff --git a/template/Group.mk b/template/Group.mk index 396352c..c686b5e 100644 --- a/template/Group.mk +++ b/template/Group.mk @@ -77,8 +77,6 @@ define puts_cmd_c $(ECHO) "CMDSRC_FILE := cmd.c" >>$1 $(ECHO) "TESTTARGET_FILES := # Set test target files" >>$1 $(ECHO) >>$1 - $(ECHO) "CCLOG_FILE := compile.log" >>$1 - $(ECHO) >>$1 $(ECHO) "$$""(CMD_FILE):" "$$""(CMDSRC_FILE)" "$$""(TESTTARGET_FILES)" >>$1 $(ECHO) " ""$$""(CC)" "$$""(CFLAGS)" "-o" "$$""@" "$$""^" >>$1 endef