おまぬけ活動日誌

最近のツッコまれどころ

この日誌から Google してもらう


2008年08月25日(Mon) 変な天気 [同日]

飛行機が斜め滑走路に降りていった

机に座る時に水のボトルを持っていたら、コーヒーを飲まずに済んでいる。これはいいかも。

…と思ったけどMicrosoft Projectシゴトはじめる景気づけにコーヒー飲んじゃったよ。

[Ruby] 久しぶりにrubyのtrunkを作ってみた

ヒープソートについて本で読んで感動しつつ。

$ svn co http://svn.ruby-lang.org/repos/ruby/trunk ruby-trunk/
$ cd ruby-trunk/
$ autoreconf
$ ./configure --prefix=$HOME/local/ruby-trunk
$ make -j4
$ make install
$ PATH=$HOME/local/ruby-trunk/bin ruby -v
ruby 1.9.0 (2008-08-26 revision 18866) [x86_64-linux]
$ PATH=$HOME/local/ruby-trunk/bin:$PATH /usr/bin/make test-all 2>&1 | tee test-all.log 
<中略>
  1) Failure:
test_has_expires_eh(TestTupleBag) [.../local/src/ruby-trunk/test/rinda/test_tuplebag.rb:137]:
<false> expected but was
<nil>.

  2) Failure:
test_strftime(TestTime) [.../local/src/ruby-trunk/test/ruby/test_time.rb:381]:
<"Sat"> expected but was
<"Fri">.

5009 tests, 1988882 assertions, 2 failures, 0 errors
make: *** [test-all] エラー 1

簡単そうな方は直してみよう。きっとタイムゾーンの違いだろう。

Index: test/ruby/test_time.rb
===================================================================
--- test/ruby/test_time.rb	(リビジョン 18866)
+++ test/ruby/test_time.rb	(作業コピー)
@@ -378,7 +378,10 @@
     assert_equal("foo\0bar\x0000\x0000\x0000", T2000.strftime("foo\0bar\0%H\0%M\0%S"))
     assert_equal("foo" * 1000, T2000.strftime("foo" * 1000))
 
+		orig_tz = ENV['TZ']
+		ENV['TZ'] = 'Japan'
     assert_equal("Sat", Time.at(946684800).strftime("%a"))
+		ENV['TZ'] = orig_tz
 
     t = Time.at(946684800, 123456.789)
     assert_equal("123", t.strftime("%3N"))

個別のテストスクリプトってどうやって走らせるんだっけ、と思いつつ、

$ date +%Z
HST
$ PATH=$HOME/local/ruby-trunk/bin:$PATH /usr/bin/make test-all
  :
5009 tests, 1988880 assertions, 13 failures, 0 errors

へっ?…うーん。ごめん。寝なくちゃ(こら逃げるな)

(追記) 整理してご報告しなくちゃなあ、と思っていたら、西山さんに報告していただいてしまいました。ありがとうございます。

(もう1つ追記) 昨日詳しく見なかった方のFailureはFailure: test_has_expires_eh(TestTupleBag)ですね。

よく見たらパッチのインデントの付け方まちがってるし。すまぬーおやすみー。

(追記) タイムゾーンの件は、前田さんによるTZによらない時刻のテストでClosed。


作り手とその取り巻きだけが楽しんでる間は本物じゃない。その中身が理解できない人々の生活を変えてこそ本物だ


zunda <zunda at freeshell.org>