<div>Hello,</div>
<div> </div>
<div>I have updated my version of varnish for cygwin. It is based on subversion trunk (<a href="http://varnish-cache.org/trac/changeset/5646">r5646</a>)</div>
<div> </div>
<div>More information about Cygwin modifications are in Ticket 736: <a href="http://varnish-cache.org/trac/ticket/736">http://varnish-cache.org/trac/ticket/736</a></div>
<div> </div>
<div>The new improvements are:</div>
<ul>
<li><strong>Better compilation of VCL archives</strong> (in the past they were compiled using objects from varnish compilation directory) </li>
<li><strong>Fixed regresion tests:</strong> varnishtest program server_thread function in vtc_server.c, after "fd = accept(s->sock, addr, &l);" If socket returned is wrong, it is not used.</li>
<li><strong>Fixed regresion tests:</strong> varnishtest program is blocked in some tests. Test is executed succesfully  but varnishtest program is blocked when it stops server thread, so varnishtest timeouts and FAILS.</li>

<ul>
<li>Server thread is blocked in TCP accept, waiting a request (server_thread function in vtc_server.c file) and main varnishtest is blocked in pthread_join (server_wait function in vtc_server.c file) waiting server thread to end. </li>

<li>In linux, pthread_join unblocks thread from its TCP accept but in Cygwin it does not. </li>
<li>The solution is to send a signal using pthread_kill (only in cygwin). The signal unblocks thread from its TCP accept.</li></ul></ul>
<div><u>I have tested varnish cache in cygwin against one apache server and it works fine. The patch applied in a Solaris and Linux server works properly.</u></div>
<div> </div>
<div>After this changes, the result of regression test are: 9 tests failed, 202 tests passed</div>
<div> </div>
<div> </div>
<div><strong>Failed tests:</strong></div>
<div> </div>
<div><u>c00005.vtc "Test simple ACL"</u></div>
<ul>
<li>error IPv6 [DNS lookup(::): hostname nor servname provided, or not known\n]</li>
<li>CYGWIN does not support IPv6 in Windows XP. Maybe it works in newer versions</li></ul>
<div><u>s00002.vtc "Check grace with sick backends"</u></div>
<ul>
<li>"Write failed: Bad file descriptor"</li>
<li>UNKNOWN ERROR</li></ul>
<p><u>b00015.vtc "Check synthetic error page caching"  and  v00009.vtc "Test round robin director" </u></p>
<ul>
<li>bind(): Address already in use  [Assert error in server_start(), vtc_server.c line 183: Condition(s->sock >= 0) not true.]</li>
<li>UNKNOWN ERROR: test server is started two times, the second time it says that port it is in use</li></ul>
<div><u>VMOD regresion tests:  m00000.vtc, m00001.vtc, m00002.vtc, m00003.vtc and m00004.vtc </u></div>
<ul>
<li>CYGWIN does not find new VMOD shared libraries</li>
<li>A fix is need in order to load shared libraries of VMOD</li></ul>
<div>LIST OF FAILED TESTS:</div>
<div> </div>
<div>#     top  TEST tests/b00015.vtc FAILED (7.039) 
<div>#     top  TEST tests/c00005.vtc FAILED (7.766)</div>
<div>#     top  TEST tests/m00000.vtc FAILED (3.131)</div>
<div>#     top  TEST tests/m00001.vtc FAILED (3.007)</div>
<div>#     top  TEST tests/m00002.vtc FAILED (2.830)</div>
<div>#     top  TEST tests/m00003.vtc FAILED (2.894)</div>
<div>#     top  TEST tests/m00004.vtc FAILED (3.279)</div>
<div>#     top  TEST tests/s00002.vtc FAILED (9.977)</div>
<div>#     top  TEST tests/v00009.vtc FAILED (5.509)</div></div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div class="gmail_quote">2010/7/28 Jorge Díaz <span dir="ltr"><<a href="mailto:jdzstz@gmail.com">jdzstz@gmail.com</a>></span> 
<div> </div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>I have apply all my changes to svn trunk version of varnish.</div>
<div>I attach it to email. Can I commit myself to subversion?</div>
<div> </div>
<div>With varnish trunk version I have executed regression tests and this is the result: 
<div> </div></div>
<div> </div>
<div>8 of 183 tests failed</div>
<div> </div>
<div>They are:</div>
<div> </div>
<div>FAIL: ./tests/b00004.vtc 
<div>FAIL: ./tests/b00015.vtc</div>
<div>FAIL: ./tests/b00030.vtc</div>
<div>FAIL: ./tests/c00005.vtc</div>
<div>FAIL: ./tests/p00002.vtc</div>
<div>FAIL: ./tests/r00558.vtc</div>
<div>FAIL: ./tests/v00009.vtc</div>
<div>FAIL: ./tests/v00027.vtc</div>
<div> </div></div>
<div>I also attach regression test logs to email.</div>
<div> </div>
<div>Some of that error are [ *    top  Test timed out ]  Do you know some issue with timeout in regression tests?</div>
<div>
<div></div>
<div class="h5">
<div> </div>
<div>
<div>  </div></div>
<div class="gmail_quote">2010/7/21 Jorge Díaz <span dir="ltr"><<a href="mailto:jdzstz@gmail.com" target="_blank">jdzstz@gmail.com</a>></span> 
<div> </div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">
<div>After one small change in <a href="http://configure.ac/" target="_blank">configure.ac</a> (I have added file "varnishd-cache_vrt_re.o" to VCC_C command) the VCL compilation problem has disappear and now regression tests problems are only 9:</div>

<div>
<div>
<div><strong>9 of 174 tests failed</strong></div>
<div> </div>
<div> </div></div>I attach the new version.</div>
<div> </div>
<div>I continue having problems of "bind(): Address already in use" </div>
<div>
<div> </div>
<div><strong>Which ports does regression tests need to be free?? perhaps I have to stop some software of my machine </strong>
<div> </div></div></div>
<div><font face="courier new,monospace">
<div>Assert error in server_start(), vtc_server.c line 181: 
<div>  Condition(s->sock >= 0) not true.</div>
<div>  errno = 112 (Address already in use)</div>
<div> </div></div>/bin/sh: line 5:  3376 Aborted                 (core dumped) ./varnishtest ${dir}$tst 
<div>FAIL: ./tests/v00014.vtc</div></font></div></blockquote></div>
<div> </div>
<div><strong>I also need somebody to test script modifications in Linux. I have tested in my Solaris enviroment and it is ok.</strong></div>
<div> </div>
<div>Thank you. 
<div>  </div></div>
<div class="gmail_quote">
<div>2010/7/21 Jorge Díaz <span dir="ltr"><<a href="mailto:jdzstz@gmail.com" target="_blank">jdzstz@gmail.com</a>></span> 
<div> </div></div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hello, 
<div>
<div></div>
<div>
<div> </div>
<div>After some problems launching regression tests, I have changed VCC_CC definition in <a href="http://configure.ac/" target="_blank">configure.ac</a> for Cygwin platform, and now cc_command parameter is not needed for varnishd. </div>

<div> </div>
<div>Now, I am able to execute all regression tests, with some errors.</div>
<div> </div>
<div> </div>
<p>I have executed the tests and this is the result: </p><pre><b><font size="4">14 of 174 tests failed</font></b><div> </div></pre>I have some problems with in-use ports: 
<div> </div><pre>bind(): Address already in use<div>Assert error in server_start(), vtc_server.c line 181:</div><div>Condition(s->sock >= 0) not true.</div><div>errno = 112 (Address already in use)</div><div>/bin/sh: line 5: 5836 Aborted (core dumped) ./varnishtest</div>
</pre>
<div><b>Which ports does regression tests need to be free?? perhaps I have to stop some software of my machine </b></div>
<div> </div>
<div> </div>
<p>I have also detected some problems with VCL compilation for complex configuration files: </p><pre>#### v1   CLI RX| /tmp/ccA54nFN.o:vcl.hfK6_VaS.c:(.text+0x59): undefined reference to `_VRT_re_match'\n<div>#### v1 CLI RX| /tmp/ccA54nFN.o:vcl.hfK6_VaS.c:(.text+0xc0): undefined reference to `_VRT_re_match'\n</div>
<div>#### v1 CLI RX| /tmp/ccA54nFN.o:vcl.hfK6_VaS.c:(.text+0x628): undefined reference to `_VRT_re_init'\n</div><div>#### v1 CLI RX| /tmp/ccA54nFN.o:vcl.hfK6_VaS.c:(.text+0x63c): undefined reference to `_VRT_re_init'\n</div>
<div>#### v1 CLI RX| /tmp/ccA54nFN.o:vcl.hfK6_VaS.c:(.text+0x667): undefined reference to `_VRT_re_fini'\n</div><div>#### v1 CLI RX| /tmp/ccA54nFN.o:vcl.hfK6_VaS.c:(.text+0x674): undefined reference to `_VRT_re_fini'\n</div>
<div> </div></pre>
<div>I think I have to add some dependencies to VCC_CC.</div>
<div> </div>
<div>The final results are:</div>
<div> </div>
<ul>
<div>
<li>Solaris - Varnish 2.1.2 release : 20 of 174 tests failed 
<div> </div></li>
<li>Solaris - Varnish 2.1.2 + conditional cygwin modifications : 20 of 174 tests failed 
<div> </div></li></div>
<li>Cygwin - Varnish 2.1.2 + conditional cygwin modifications : 14 of 174 tests failed</li></ul>
<div>I attach to the email and Trac ticket last version of my modifications.</div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div> </div>
<div class="gmail_quote">
<div>2010/7/21 Poul-Henning Kamp <span dir="ltr"><<a href="mailto:phk@phk.freebsd.dk" target="_blank">phk@phk.freebsd.dk</a>></span> 
<div> </div></div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">In message <<a href="mailto:AANLkTinVE1zQvFBRIcTCEyNz-SKg5J2GFq1SK0cgr6hU@mail.gmail.com" target="_blank">AANLkTinVE1zQvFBRIcTCEyNz-SKg5J2GFq1SK0cgr6hU@mail.gmail.com</a>>, =?IS 
<div>
<div></div>
<div>
<div> </div>
<div>O-8859-1?Q?Jorge_D=EDaz?= writes: 
<div> </div>
<div> </div></div>
<div>>But I have to change it and recompile all Varnish, or is there any parameter 
<div>>for regression tests like varnishd?</div>
<div> </div>
<div> </div></div>You have to compile it in from the start. 
<div> </div>
<div>The regression test assume that you have a functioning varnishd binary.</div>
<div><font color="#888888"> </font></div><font color="#888888">
<div>--</div>
<div></div></font> </div>
<div>
<div></div>
<div>Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20 
<div>phk@FreeBSD.ORG         | TCP/IP since RFC 956</div>
<div>FreeBSD committer       | BSD since 4.3-tahoe</div>
<div>Never attribute to malice what can adequately be explained by incompetence.</div>
<div> </div></div></div></div></blockquote></div></div></div></blockquote></div>
<div> </div></div></div></blockquote></div>
<div> </div>
<div> </div>
<div> </div>