須藤です。

In <[&#x30E1;&#x30FC;&#x30EB;&#x30A2;&#x30C9;&#x30EC;&#x30B9;&#x4FDD;&#x8B77;]>
  "[uim-ja 103] Re: Is test/ used?" on Tue, 28 Oct 2008 11:16:03 +0900,
  "Etsushi Kato" 
<[&#x30E1;&#x30FC;&#x30EB;&#x30A2;&#x30C9;&#x30EC;&#x30B9;&#x4FDD;&#x8B77;]> 
wrote:

> trunk ですが、
> 
>     $ gosh -I. test/run-test.scm
> 
>     Finished in 0 seconds
> 
>     0 test(s), 0 assertion(s), 0 successe(s), 0 pending(s), 0
> failure(s), 0 error(s)
>     0% passed
> 
> と、なにもしてくれません。動かし方が間違っていますか?

すいません。。。
前のパッチの時点でもうすでにGaUnit >= 0.1.6必須になってしまっ
ていました。。。

Index: test/uim-test-utils.scm
===================================================================
--- test/uim-test-utils.scm     (revision 5609)
+++ test/uim-test-utils.scm     (working copy)
@@ -38,8 +38,8 @@
 ;; backtrace following an error.
 (define UIM-SH-MULTILINE-ERROR #t)
 
-(if (version<? *gaunit-version* "0.1.1")
-    (error "GaUnit 0.1.1 is required"))
+(if (version<? *gaunit-version* "0.1.6")
+    (error "GaUnit 0.1.6 is required"))
 
 (sys-putenv "LIBUIM_SYSTEM_SCM_FILES" (uim-test-build-path "sigscheme" "lib"))
 (sys-putenv "LIBUIM_SCM_FILES" (uim-test-build-path "scm"))


>                                                       また、テストを
> ファイルごとに動かそうとすると、
> 
>     $ gosh -I. test/test-action.scm
>     gosh: "error": Compile Error: unbound variable: uim-test-build-path
>     "./test/test-action.scm":36:(require "test/uim-test-utils")
> 
> となってしまいますが、個別でも動くとうれしいと思います。

そのコマンドラインで動くようにするならこれでいけると思います。

Index: test/uim-test-utils.scm
===================================================================
--- test/uim-test-utils.scm     (revision 5609)
+++ test/uim-test-utils.scm     (working copy)
@@ -33,7 +33,13 @@
 (use srfi-1)
 (use srfi-13)
 (use test.unit)
+(use file.util)
 
+(define (uim-test-build-path . components)
+  (let* ((test-dir (sys-dirname *program-name*))
+         (top-dir (sys-realpath (build-path test-dir ".."))))
+    (apply build-path top-dir components)))
+
 ;; Must be #t when LIBUIM_VERBOSE is set to 2. This enables receiving
 ;; backtrace following an error.
 (define UIM-SH-MULTILINE-ERROR #t)

もし、

  % test/run-test.scm test/test-action.scm

でもよいのであれば、これでどうでしょうか。

Index: test/run-test.scm
===================================================================
--- test/run-test.scm   (revision 5609)
+++ test/run-test.scm   (working copy)
@@ -44,8 +44,10 @@
 
 (define gaunit-main main)
 (define (main args)
-  (gaunit-main
-   (append args
-           (if (symbol-bound? 'glob)
-             (glob (uim-test-build-path "test" "**" "test-*.scm"))
-             (sys-glob (uim-test-build-path "test" "test-*.scm"))))))
+  (let ((args (if (null? (cdr args))
+                (append args
+                        (if (symbol-bound? 'glob)
+                          (glob (uim-test-build-path "test" "**" "test-*.scm"))
+                          (sys-glob (uim-test-build-path "test" 
"test-*.scm"))))
+                args)))
+    (gaunit-main args)))

uim-test-build-path相当の機能がrun-test.scm1ヶ所だけにある状
態にできるので、個人的には後者の方が好みです。


> 次に branches/1.5 でも動かしてみました。
> 
>     $ gosh -I. test/run-test.scm
>     
> EE.............................................................................
>     
> ...............................................................................
>     ...............F.....FFFF................................uim/uim-sh:
> fork: Resource temporarily unavailable
>     uim/uim-sh: fork: Resource temporarily unavailable

プロセスを回収し忘れていました。

Index: test/uim-test-utils.scm
===================================================================
--- test/uim-test-utils.scm     (revision 5609)
+++ test/uim-test-utils.scm     (working copy)
@@ -131,6 +131,7 @@
        (uim '(%%set-current-error-port! (current-output-port))))
       (define (*uim-sh-teardown-proc*)
         (close-input-port (process-input *uim-sh-process*))
+        (process-wait *uim-sh-process*)
         (set! *uim-sh-process* #f))
 
       (define-syntax define-uim-test-case


> > というように、ふつうのGaucheプログラムのような書式に変更する
> > パッチを作ろうかと思っているのですが、そのようなパッチは受け
> > 入れられる可能性はありますか?
> >
> > 後者の書式にするとGaUnit >= 0.1.6が必要になってしまいます。
> 
> いずれにせよ GaUnit に依存しているので、GaUnit の勧める書き方で
> よいと思うので、受け入れられると思いますよ。

わかりました。
時間を見つけて少しずつやってみようかと思います。

--~--~---------~--~----~------------~-------~--~----~
Google Groups "uim-ja" group
uim-ja@googlegroups.com
http://groups.google.com/group/uim-ja/about
-~----------~----~----~----~------~----~------~--~---

メールによる返信