#速報: HEADをFreeBSD 8.2Rでビルドしたら、ext/netのテストでfailします。
#Testing net ... failed.
discrepancies found. Errors are:
test inet client socket (sockaddr): expects #t => got #<<system-error> "connect failed to #<sockaddr inet \"127.0.0.1:6726\">: Connection refused">
#とりあえずお知らせまで。
#6726が既に他のプロセス(Gauche自身のテスト含む)によって使われてるとかかな。それともまたタイミングの問題で、サーバが完全に起動する前につなごうとしてるからか…
#関係ないけど、いつもわかんなくなるんでまた調べてた話。単に a power of X または powers of X と言った場合はXは底 (X^n) で、 (raised) to the power of X と言った場合はXは指数 (a^X) なんだよな。前者でtheを使わないのは本質的だと思うが (X^n でnの違うものがいろいろある感じ)、後者ではto a power of Xという表記も見るのでややこしい。後者の場合XのpowerはXで確定だからtheでいいようにも思うんだが。
#ひとつまえの host,port のテストは通ってるんですよね。
#NetBSD でも同じでした。 make-server-socket-inet が ::1 に bind するから 127.0.0.1 に connect できない。
#あーv6の方が優先されるってこと?
#正確にはサーバ側はv6で待ち受けてて、クライアント側が明示的にv4でつなぎにゆくからまずいってことか。
#優先というか、(make-socaddrs #f port) が v6 と v4 の両方を返すけど、 make-server-socket-inet は最初のしか使わないから。
#先頭が v6 という意味では優先か。
#run-simple-serverをデュアルスタックで待ち受けるようにするのがいいかと思うが--disable-ipv6のケースも考えると面倒だなあ。v4 addressを明示的に選んで渡すようにしようかな。
#一つ前の host,port テストは make-client-socket-inet が全部のアドレスを試すから通っていたんですね。
#make-server-socketsは--disable-ipv6でも動くからrun-simple-serverがソケットのリストを取れるようにすれば--disable-ipv6を考えないでもいいかな。
##ああそこだけじゃだめだ。
#直した。
#% make check
GAUCHE_TEST_RECORD_FILE=../../test.record ../../src/gosh -ftest -I. test.scm > test.log
Testing net ... passed.
#になりました。
#コミットしました。