history

青木日記 RSS

<前の日 | この月 | 次の日>

2003-12-01

stat(朝食)

今日も食当たりしなくて済んだことを幸運の神様に感謝します。 この調子で年末ジャンボも当ててください。なーむー。

南無は神様じゃありませんが、日本の神様はルーズなのでたぶん大丈夫でしょう。

今日の朝食

  • 米 (期限内)
  • 味噌 (期限内)
  • 大根 (詳細不明なれどもやや危険)
  • 豆腐 (賞味期限 + 1 日)
  • 卵 (賞味期限 + 1 日)
  • 焼肉 (肉: 賞味期限 + 5 日)

すみません、やっぱり年末ジャンボの前に今日を生きのびさせてください。

tdiarytimes 改

ruby-dev summary やってるはずだったのになぜか tdiarytimes を導入するはずだったのになぜか 原形を留めないほど改造したうえ新しい機能を追加してしまった。

改造 tdiarytimes

でも、どう見ても元の直線バーのほうがかっこいいですね。 円だとアンチエイリアスがかかってないからギザギザが見えて汚すぎだわ。 誰が使うやらわかりませんが、物好きな人のために設定を書いときます。

# オリジナルと違って以下の三つは必須
@options['tdiarytimes.shape']     = 'circle'       # 'bar' or 'circle'
@options['tdiarytimes.width']     = 80             # circle のときは 80×80 のみ対応
@options['tdiarytimes.height']    = 80             # (それ以外では文字がずれる)
# ちなみに width != height にするとちゃんと楕円になる
# (けど文字がそれに合わせて変わらないので意味なし)
 
# shape=circle のときは tdiarytimes.text は効果がない
#@options['tdiarytimes.text'] = '無駄無駄無駄'
 
# 以下は省略可
@options['tdiarytimes.day']       = 120
@options['tdiarytimes.textcolor'] = '#000000'
@options['tdiarytimes.linecolor'] = '#bfbfbf'
@options['tdiarytimes.fillcolor'] = '#2f2f7f'
@options['tdiarytimes.fadeout']   = true

それと GD2 が必須です。 Ruby/GD の extconf のときに --enable-gd2_0 を忘れずに付けましょう。

tdiarygrep

ついでに tdiary-grep のリンクも置いとこ。

詳細はソースコードを参照。

fileutils

たまってるバグレポートだけ片付けちまおう。 まずは fileutils だな。fileutils には二つ to do がある。

  • Pathname を src/dest に使えるようにする

これは [ruby-core:01795] で言われたやつ。 RHG 読書会で akr さんに方針を相談したところ 「Pathnameなんか使うなって言えば?」と言われたりしたわけですが、 現実的なとこで to_str だけ付けとくことにします。

  • FreeBSD と OpenBSD でテストが失敗する

うーむ、見事にチェックした環境だけすりぬけたか……。 反省して今日は Linux, FreeBSD, NetBSD, Solaris, Cygwin, mswin32 でチェックするぜ!

ちなみにこれも RHG 読書会で植松さんに聞いたんだけど、 Windows CE にドライブレターはないらしい。 これも修正しとく (いつ役に立つのかわからんけど)。

ぜんぶテスト

そういえば runner.rb 起動すると全部テストするんだよな。 せっかくだから全部やってみるか。とあー!

起動が遅いのはロード後の GC のせいだろうな。 bison を入れておくべきだった。

あ、FreeBSD/Alpha で "F" 出た。

~/src/ruby % ruby --version                                  aamine@as600
ruby 1.8.1 (2003-12-01) [alpha-freebsd4.7]
    :
    :
Finished in 225.274 seconds.
 
  1) Failure:
test_cond(TestMonitor)
    [./test/monitor/test_monitor.rb:111:in `test_cond'
     ./test/monitor/test_monitor.rb:107:in `synchronize'
     ./test/monitor/test_monitor.rb:107:in `test_cond']:
<true> expected but was
<false>.
 
  2) Error:
test_wsdl(XSD::TestEmptyCharset):
RuntimeError: uconv or iconv is required for Japanese encoding support.
    /usr/local/lib/ruby/1.8/rexml/encodings/EUC-JP.rb:30
    /usr/local/lib/ruby/1.8/rexml/encoding.rb:26:in `load'
    /usr/local/lib/ruby/1.8/rexml/encoding.rb:26:in `encoding='
    /usr/local/lib/ruby/1.8/rexml/source.rb:41:in `encoding='
    /usr/local/lib/ruby/1.8/rexml/parsers/baseparser.rb:182:in `pull'
    /usr/local/lib/ruby/1.8/rexml/parsers/streamparser.rb:12:in `parse'
    /usr/local/lib/ruby/1.8/rexml/document.rb:166:in `parse_stream'
    /usr/local/lib/ruby/1.8/xsd/xmlparser/rexmlparser.rb:27:in `do_parse'
    /usr/local/lib/ruby/1.8/wsdl/xmlSchema/parser.rb:60:in `parse'
    ./test/xsd/test_noencoding.rb:14:in `test_wsdl'
 
686 tests, 7943 assertions, 1 failures, 1 errors

え? なんだこの Failure は。 お約束のように再現性は皆無であるわけです。

Linux/i686 は見事 all green。

~/src/ruby % ruby --version                                      aamine@harmony
ruby 1.8.1 (2003-12-01) [i686-linux]
    :
    :
Finished in 100.48778 seconds.
 
647 tests, 7850 assertions, 0 failures, 0 errors

NetBSD/Alpha では以下のようになって drb が起動しなかった。

aamine@asv800 % ruby --version                                       ~/src/ruby
ruby 1.8.1 (2003-12-01) [alpha-netbsd]
aamine@asv800 % ruby test/runner.rb                                  ~/src/ruby
Loaded suite test
Started
................................................................./usr/local/lib/ruby/1.8/drb/drb.rb:701:in `open': druby://asv800:49153 - #<Errno::ECONNREFUSED: Connection refused - connect(2)> (DRb::DRbConnError)
        from /usr/local/lib/ruby/1.8/drb/drb.rb:694:in `each'
        from /usr/local/lib/ruby/1.8/drb/drb.rb:694:in `open'
        from /usr/local/lib/ruby/1.8/drb/drb.rb:1080:in `initialize'
        from /usr/local/lib/ruby/1.8/drb/drb.rb:1063:in `new'
        from /usr/local/lib/ruby/1.8/drb/drb.rb:1063:in `open'
        from /usr/local/lib/ruby/1.8/drb/drb.rb:1010:in `method_missing'
        from /usr/local/lib/ruby/1.8/drb/extserv.rb:16:in `initialize'
        from /home/aamine/src/ruby/test/drb/ut_array.rb:12:in `new'
        from /home/aamine/src/ruby/test/drb/ut_array.rb:12

ここでハングしたので ^C で止めて、とりあえず drb だけ除いてテストしてみる。

Finished in 146.312593 seconds.
 
  1) Error:
test_wsdl(XSD::TestEmptyCharset):
RuntimeError: uconv or iconv is required for Japanese encoding support.
    /usr/local/lib/ruby/1.8/rexml/encodings/EUC-JP.rb:30
    /usr/local/lib/ruby/1.8/rexml/encoding.rb:26:in `load'
    /usr/local/lib/ruby/1.8/rexml/encoding.rb:26:in `encoding='
    /usr/local/lib/ruby/1.8/rexml/source.rb:41:in `encoding='
    /usr/local/lib/ruby/1.8/rexml/parsers/baseparser.rb:182:in `pull'
    /usr/local/lib/ruby/1.8/rexml/parsers/streamparser.rb:12:in `parse'
    /usr/local/lib/ruby/1.8/rexml/document.rb:166:in `parse_stream'
    /usr/local/lib/ruby/1.8/xsd/xmlparser/rexmlparser.rb:27:in `do_parse'
    /usr/local/lib/ruby/1.8/wsdl/xmlSchema/parser.rb:60:in `parse'
    ./test/xsd/test_noencoding.rb:14:in `test_wsdl'
 
578 tests, 7499 assertions, 0 failures, 1 errors

あー、なるほど。これはどうしようもないな。

SPARC がなかなか終わんねー。 あ、終わった。rexml のテストがあまりに遅いからハングしたかと思ったよ。

aamine@ultra30 % ruby --version                                      ~/src/ruby
ruby 1.8.1 (2003-12-01) [sparc-solaris2.9]
       :
       :
Finished in 512.859409 seconds.
 
  1) Error:
test_wsdl(XSD::TestEmptyCharset):
Errno::EINVAL: Invalid argument - iconv("euc-jp", "utf-8")
    /usr/local/lib/ruby/1.8/rexml/encodings/EUC-JP.rb:25:in `iconv'
    /usr/local/lib/ruby/1.8/rexml/encodings/EUC-JP.rb:25:in `encode'
    /usr/local/lib/ruby/1.8/rexml/source.rb:42:in `encoding='
    /usr/local/lib/ruby/1.8/rexml/parsers/baseparser.rb:182:in `pull'
    /usr/local/lib/ruby/1.8/rexml/parsers/streamparser.rb:12:in `parse'
    /usr/local/lib/ruby/1.8/rexml/document.rb:166:in `parse_stream'
    /usr/local/lib/ruby/1.8/xsd/xmlparser/rexmlparser.rb:27:in `do_parse'
    /usr/local/lib/ruby/1.8/wsdl/xmlSchema/parser.rb:60:in `parse'
    ./test/xsd/test_noencoding.rb:14:in `test_wsdl'
 
666 tests, 7900 assertions, 0 failures, 1 errors

うわ。

Cygwin / Windows 2000 / NTFS

~/src/ruby % ruby-cygwin --version
ruby 1.8.1 (2003-12-01) [i386-cygwin]
    :
    :
Finished in 199.791 seconds.
 
  1) Failure:
test_ip_v6(ACLEntryTest) [./test/drb/test_acl.rb:56]:
<false> is not true.
 
686 tests, 7944 assertions, 1 failures, 0 errors

mswin32 / Windows 2000 / NTFS はいろいろ出たけど、どれも既知っぽいな。つまらん。

~/src/ruby % ruby-vc6 --version
ruby 1.8.1 (2003-12-01) [i386-mswin32]
    :
    :
Finished in 236.31 seconds.
 
  1) Error:
test_ip(ACLEntryTest):
NameError: uninitialized constant Socket::AF_INET6
    c:/ruby-vc6/lib/ruby/1.8/ipaddr.rb:183:in `ipv6?'
    c:/ruby-vc6/lib/ruby/1.8/drb/acl.rb:47:in `match'
    ./test/drb/test_acl.rb:63:in `test_ip'
 
  2) Failure:
test_ip_v6(ACLEntryTest) [./test/drb/test_acl.rb:56]:
<false> is not true.
 
  3) Error:
test_1(ACLListTest):
NameError: uninitialized constant Socket::AF_INET6
    c:/ruby-vc6/lib/ruby/1.8/ipaddr.rb:183:in `ipv6?'
    c:/ruby-vc6/lib/ruby/1.8/drb/acl.rb:47:in `match'
    c:/ruby-vc6/lib/ruby/1.8/drb/acl.rb:68:in `match'
    c:/ruby-vc6/lib/ruby/1.8/drb/acl.rb:67:in `each'
    c:/ruby-vc6/lib/ruby/1.8/drb/acl.rb:67:in `match'
    ./test/drb/test_acl.rb:137:in `test_1'
 
  4) Error:
test_all_2(ACLListTest):
NameError: uninitialized constant Socket::AF_INET6
    c:/ruby-vc6/lib/ruby/1.8/ipaddr.rb:183:in `ipv6?'
    c:/ruby-vc6/lib/ruby/1.8/drb/acl.rb:47:in `match'
    c:/ruby-vc6/lib/ruby/1.8/drb/acl.rb:68:in `match'
    c:/ruby-vc6/lib/ruby/1.8/drb/acl.rb:67:in `each'
    c:/ruby-vc6/lib/ruby/1.8/drb/acl.rb:67:in `match'
    ./test/drb/test_acl.rb:131:in `test_all_2'
    ./test/drb/test_acl.rb:130:in `each'
    ./test/drb/test_acl.rb:130:in `test_all_2'
 
  5) Error:
test_not_1(ACLTest):
NameError: uninitialized constant Socket::AF_INET6
    c:/ruby-vc6/lib/ruby/1.8/ipaddr.rb:183:in `ipv6?'
    c:/ruby-vc6/lib/ruby/1.8/drb/acl.rb:47:in `match'
    c:/ruby-vc6/lib/ruby/1.8/drb/acl.rb:68:in `match'
    c:/ruby-vc6/lib/ruby/1.8/drb/acl.rb:67:in `each'
    c:/ruby-vc6/lib/ruby/1.8/drb/acl.rb:67:in `match'
    c:/ruby-vc6/lib/ruby/1.8/drb/acl.rb:102:in `allow_addr?'
    ./test/drb/test_acl.rb:189:in `test_not_1'
 
  6) Error:
test_wsdl(XSD::TestEmptyCharset):
RuntimeError: uconv or iconv is required for Japanese encoding support.
    c:/ruby-vc6/lib/ruby/1.8/rexml/encodings/EUC-JP.rb:30
    c:/ruby-vc6/lib/ruby/1.8/rexml/encoding.rb:26:in `load'
    c:/ruby-vc6/lib/ruby/1.8/rexml/encoding.rb:26:in `encoding='
    c:/ruby-vc6/lib/ruby/1.8/rexml/source.rb:41:in `encoding='
    c:/ruby-vc6/lib/ruby/1.8/rexml/parsers/baseparser.rb:182:in `pull'
    c:/ruby-vc6/lib/ruby/1.8/rexml/parsers/streamparser.rb:12:in `parse'
    c:/ruby-vc6/lib/ruby/1.8/rexml/document.rb:166:in `parse_stream'
    c:/ruby-vc6/lib/ruby/1.8/xsd/xmlparser/rexmlparser.rb:27:in `do_parse'
    c:/ruby-vc6/lib/ruby/1.8/wsdl/xmlSchema/parser.rb:60:in `parse'
    ./test/xsd/test_noencoding.rb:14:in `test_wsdl'
 
644 tests, 7797 assertions, 1 failures, 5 errors

ま、fileutils は一個も問題出なかったからいいや。

tdiarytimesをいきなり賑やかにする裏技

http://mput.dip.jp/mput/?date=20031201

tdiarytimesのバーがいきなり入っているのは、 td2 の Last-Modified: を集めて先にログを作っといたからです。 tDiary の Last-Modified: がいつ更新されるのか調べてないのですが、 何もないよりたくさん線が入ってたほうがおもしろい…… というかデータがないとデバッグできないので適当にかきあつめたというのが正解。

本日のツッコミ(全5件) [ツッコミを入れる]
なかだ (2003-12-01 16:02)

やっぱりmethod_defined?って使われてないんだなぁ。

あおき (2003-12-01 16:27)

知りませんでした……。まだ基本ライブラリに
知らないメソッドがあったなんて一生の不覚だ。

あおき (2003-12-01 16:45)

とか言いつつも実はまだまだある悪寒

なかだ (2003-12-01 21:13)

test_cond(TestMonitor)のFailureは、スレッドの実行順序をsleepでコントロールしてるからで、実行時のタイミングによってたまに出ます。

あおき (2003-12-04 14:39)

なるほど。これも既知でしたか。
じゃあ本当に問題になりそうなやつはないんですね。

名前
メールアドレス

<前の日 | この月 | 次の日>
2002|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|04|05|06|09|10|
2009|07|
2010|09|

Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved. LIRS