Gauche > Archives > 2011/07/27

2011/07/27 02:09:14 UTC(び)
#
速報: 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">
#
とりあえずお知らせまで。
2011/07/27 02:13:29 UTCshiro
#
6726が既に他のプロセス(Gauche自身のテスト含む)によって使われてるとかかな。それともまたタイミングの問題で、サーバが完全に起動する前につなごうとしてるからか…
2011/07/27 02:21:45 UTCshiro
#
関係ないけど、いつもわかんなくなるんでまた調べてた話。単に 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でいいようにも思うんだが。
2011/07/27 02:29:08 UTCenami
#
ひとつまえの host,port のテストは通ってるんですよね。
2011/07/27 23:01:46 UTCenami
#
NetBSD でも同じでした。 make-server-socket-inet が ::1 に bind するから 127.0.0.1 に connect できない。
2011/07/27 23:03:31 UTCshiro
#
あーv6の方が優先されるってこと?
#
正確にはサーバ側はv6で待ち受けてて、クライアント側が明示的にv4でつなぎにゆくからまずいってことか。
2011/07/27 23:05:35 UTCenami
#
優先というか、(make-socaddrs #f port) が v6 と v4 の両方を返すけど、 make-server-socket-inet は最初のしか使わないから。
#
先頭が v6 という意味では優先か。
2011/07/27 23:07:15 UTCshiro
#
run-simple-serverをデュアルスタックで待ち受けるようにするのがいいかと思うが--disable-ipv6のケースも考えると面倒だなあ。v4 addressを明示的に選んで渡すようにしようかな。
2011/07/27 23:08:07 UTCenami
#
一つ前の host,port テストは make-client-socket-inet が全部のアドレスを試すから通っていたんですね。
2011/07/27 23:16:07 UTCshiro
#
make-server-socketsは--disable-ipv6でも動くからrun-simple-serverがソケットのリストを取れるようにすれば--disable-ipv6を考えないでもいいかな。
2011/07/27 23:27:36 UTCshiro
#
これでどうですかね https://gist.github.com/1110586
#
ああそこだけじゃだめだ。
#
直した。
2011/07/27 23:45:32 UTCenami
#
% make check
GAUCHE_TEST_RECORD_FILE=../../test.record ../../src/gosh -ftest -I. test.scm > test.log
Testing net ...                                                  passed.
#
になりました。
2011/07/27 23:49:47 UTCshiro
#
コミットしました。