Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Many failing tests #45

Closed
jacksonrayhamilton opened this issue Jan 24, 2017 · 7 comments
Closed

Many failing tests #45

jacksonrayhamilton opened this issue Jan 24, 2017 · 7 comments
Labels

Comments

@jacksonrayhamilton
Copy link
Contributor

jacksonrayhamilton commented Jan 24, 2017

Hi, I'm trying to make changes to this library, however a lot of the tests are failing for me on master:

~/projects/prax.cr (master) λ make test
mkdir -p bin
/usr/bin/crystal build /home/jackson/projects/prax.cr/src/prax.cr -o bin/prax-binary
bundle exec rake test --trace --verbose
** Invoke test (first_time)
** Execute test
/home/jackson/.rbenv/versions/2.3.1/bin/ruby -I"lib:test" -I"/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib" "/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/rake_test_loader.rb" "test/failures_test.rb" "test/keepalive_test.rb" "test/port_forwarding_test.rb" "test/praxrc_test.rb" "test/proxy_test.rb" "test/public_file_test.rb" 
Run options: --seed 62911

# Running:

...SF.EE...EESEEEEE

Fabulous run in 25.418010s, 0.7475 runs/s, 0.9049 assertions/s.

  1) Failure:
PortForwardingTest#test_forwards_to_given_port [/home/jackson/projects/prax.cr/test/port_forwarding_test.rb:29]:
--- expected
+++ actual
@@ -1,2 +1,113 @@
-"TCPServer: OK
+"<!DOCTYPE html>
+<html>
+<head>
+  <meta charset=\"utf-8\"/>
+  <title>Proxy Error</title>
+
+  <style type=\"text/css\">
+   body {
+     margin: 0;
+     padding: 0;
+     font: normal normal 16px/1.4 Helvetica, sans-serif;
+     background: #e0e0d8;
+   }
+
+   h1, h2, p, li { font: inherit; }
+   ul { padding: 0; }
+   li { list-style: none; }
+   pre, code { font-family: Menlo, Monaco, monospace; }
+   p code { font-size: 14px; }
+   p, pre { color: #222; }
+   a { color: #776; }
+
+   .page {
+     max-width: 480px;
+     margin: 36px auto;
+     padding: 36px 90px;
+     background: #fff;
+     box-shadow: 0px 2px 7px #999;
+   }
+
+   h1 {
+     margin: 0 0 0 -57px;
+     line-height: 45px;
+     font-size: 36px;
+     font-weight: bold;
+   }
+   h1:before {
+     position: relative;
+     top: 10px;;
+     font-size: 66px;
+     line-height: 42px;
+   }
+   h1.ok {
+     color: #090;
+   }
+   h1.ok:before {
+     content: \"\xE2\x9C\x93\";
+     color: #090;
+   }
+   h1.err {
+     color: #900;
+   }
+   h1.err:before {
+     content: \"\xE2\x9C\x97\";
+     color: #900;
+   }
+
+   //h2 {
+   //  line-height: 27px;
+   //  font-size: 18px;
+   //  font-weight: normal;
+   //  margin: 0;
+   //}
+
+   pre {
+     white-space: pre-wrap;
+     font-size: 14px;
+     background: #2a2a29;
+     color: #eee;
+     padding: 1em;
+   }
+   pre span {
+     color: #aa9;
+   }
+
+   //pre.breakout {
+   //  border-top: 1px solid #ddd;
+   //  border-bottom: 1px solid #ddd;
+   //  background: #fafcf4;
+   //  margin-left: -90px;
+   //  margin-right: -90px;
+   //  padding: 8px 0 8px 90px;
+   //}
+   //pre.small_text {
+   //  font-size: 10px;
+   //}
+   //pre.small_text strong {
+   //  font-size: 13px;
+   //}
+  </style>
+</head>
+
+<body>
+  <div class=\"page\">
+    <h1 class=\"err\">Proxy Error</h1>
+
+<section>
+  <p>Couldn't proxy request to <code>forward.dev:3123</code>.</p>
+
+  <pre>Error connecting to '127.0.0.1:3123': Connection refused</pre>
+</pre>
+</section>
+
+
+    <ul>
+      <li><a href=\"http://github.com/ysbaddaden/prax\">GitHub Page</a></li>
+      <li><a href=\"https://github.com/ysbaddaden/prax/issues\">Issue Tracker</a></li>
+    </ul>
+  </div>
+</body>
+</html>
+
 "



  2) Error:
PraxrcTest#test_praxrc_loaded:
Timeout::Error: execution expired
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `wait_readable'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `rbuf_fill'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:146:in `readline'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:40:in `read_status_line'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:29:in `read_new'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1437:in `block in transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `catch'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1407:in `request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1308:in `request_get'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:481:in `block in get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:853:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:584:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:479:in `get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:456:in `get'
    /home/jackson/projects/prax.cr/test/praxrc_test.rb:5:in `test_praxrc_loaded'


  3) Error:
FailuresTest#test_host_header_is_missing_but_found_in_uri:
Timeout::Error: execution expired
    /home/jackson/projects/prax.cr/test/failures_test.rb:25:in `gets'
    /home/jackson/projects/prax.cr/test/failures_test.rb:25:in `block in test_host_header_is_missing_but_found_in_uri'
    /home/jackson/projects/prax.cr/test/failures_test.rb:23:in `open'
    /home/jackson/projects/prax.cr/test/failures_test.rb:23:in `test_host_header_is_missing_but_found_in_uri'


  4) Error:
ProxyTest#test_returns_multiple_set_cookie_headers:
Timeout::Error: execution expired
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `wait_readable'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `rbuf_fill'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:146:in `readline'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:40:in `read_status_line'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:29:in `read_new'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1437:in `block in transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `catch'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1407:in `request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1308:in `request_get'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:481:in `block in get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:853:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:584:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:479:in `get_response'
    /home/jackson/projects/prax.cr/test/proxy_test.rb:33:in `test_returns_multiple_set_cookie_headers'


  5) Error:
ProxyTest#test_alters_request_headers_and_sets_proxy_headers:
Timeout::Error: execution expired
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `wait_readable'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `rbuf_fill'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:146:in `readline'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:40:in `read_status_line'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:29:in `read_new'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1437:in `block in transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `catch'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1407:in `request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1308:in `request_get'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:481:in `block in get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:853:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:584:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:479:in `get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:456:in `get'
    /home/jackson/projects/prax.cr/test/proxy_test.rb:42:in `test_alters_request_headers_and_sets_proxy_headers'


  6) Error:
ProxyTest#test_proxies_to_rack_applications:
Timeout::Error: execution expired
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `wait_readable'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `rbuf_fill'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:146:in `readline'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:40:in `read_status_line'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:29:in `read_new'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1437:in `block in transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `catch'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1407:in `request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1308:in `request_get'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:481:in `block in get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:853:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:584:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:479:in `get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:456:in `get'
    /home/jackson/projects/prax.cr/test/proxy_test.rb:6:in `test_proxies_to_rack_applications'


  7) Error:
ProxyTest#test_supports_xip_io:
Timeout::Error: execution expired
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `wait_readable'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `rbuf_fill'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:146:in `readline'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:40:in `read_status_line'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:29:in `read_new'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1437:in `block in transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `catch'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1407:in `request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1308:in `request_get'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:481:in `block in get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:853:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:584:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:479:in `get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:456:in `get'
    /home/jackson/projects/prax.cr/test/proxy_test.rb:25:in `test_supports_xip_io'


  8) Error:
ProxyTest#test_augments_proxy_headers:
Timeout::Error: execution expired
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `wait_readable'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `rbuf_fill'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:146:in `readline'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:40:in `read_status_line'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:29:in `read_new'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1437:in `block in transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `catch'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1407:in `request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1156:in `get'
    /home/jackson/projects/prax.cr/test/proxy_test.rb:56:in `block in test_augments_proxy_headers'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:853:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:584:in `start'
    /home/jackson/projects/prax.cr/test/proxy_test.rb:55:in `test_augments_proxy_headers'


  9) Error:
ProxyTest#test_empty_header:
Timeout::Error: execution expired
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `wait_readable'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `rbuf_fill'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:146:in `readline'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:40:in `read_status_line'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:29:in `read_new'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1437:in `block in transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `catch'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1407:in `request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1308:in `request_get'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:481:in `block in get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:853:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:584:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:479:in `get_response'
    /home/jackson/projects/prax.cr/test/proxy_test.rb:67:in `test_empty_header'


 10) Error:
ProxyTest#test_populates_env_from_env_file:
Timeout::Error: execution expired
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `wait_readable'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `rbuf_fill'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:146:in `readline'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:40:in `read_status_line'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:29:in `read_new'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1437:in `block in transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `catch'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1407:in `request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1308:in `request_get'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:481:in `block in get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:853:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:584:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:479:in `get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:456:in `get'
    /home/jackson/projects/prax.cr/test/proxy_test.rb:17:in `test_populates_env_from_env_file'

19 runs, 23 assertions, 1 failures, 9 errors, 2 skips

You have skipped tests. Run with --verbose for details.
rake aborted!
Command failed with status (1): [ruby -I"lib:test" -I"/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib" "/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/rake_test_loader.rb" "test/failures_test.rb" "test/keepalive_test.rb" "test/port_forwarding_test.rb" "test/praxrc_test.rb" "test/proxy_test.rb" "test/public_file_test.rb" ]
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/testtask.rb:108:in `block (3 levels) in define'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/file_utils.rb:57:in `sh'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb:37:in `sh'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/file_utils.rb:96:in `ruby'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb:37:in `ruby'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/testtask.rb:104:in `block (2 levels) in define'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb:58:in `verbose'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/testtask.rb:100:in `block in define'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/task.rb:240:in `block in execute'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `each'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `execute'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/task.rb:165:in `invoke'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:150:in `invoke_task'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `each'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block in top_level'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:115:in `run_with_threads'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:100:in `top_level'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:78:in `block in run'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:176:in `standard_exception_handling'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:75:in `run'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/bin/rake:33:in `<top (required)>'
/home/jackson/.rbenv/versions/2.3.1/bin/rake:23:in `load'
/home/jackson/.rbenv/versions/2.3.1/bin/rake:23:in `<top (required)>'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/cli/exec.rb:74:in `load'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/cli/exec.rb:74:in `kernel_load'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/cli/exec.rb:27:in `run'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/cli.rb:332:in `exec'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/cli.rb:20:in `dispatch'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/cli.rb:11:in `start'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/exe/bundle:34:in `block in <top (required)>'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/friendly_errors.rb:100:in `with_friendly_errors'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/exe/bundle:26:in `<top (required)>'
/home/jackson/.rbenv/versions/2.3.1/bin/bundle:23:in `load'
/home/jackson/.rbenv/versions/2.3.1/bin/bundle:23:in `<main>'
Tasks: TOP => test
Makefile:77: recipe for target 'test' failed
make: *** [test] Error 1

Note that, for the above output, I added "--trace --verbose" to "bundle exec rake test --trace --verbose" in the Makefile before running make test.

I was wondering if you are seeing this too. If so, can we work to fix the tests? Or if not, any idea what's wrong on my end?

System is Debian 8 GNU Linux. Ruby is 2.3.1. Crystal is 0.20.5. Rackup is "Rack 1.3 (Release: 2.0.1)". Rake is "rake, version 10.4.2".

@ysbaddaden
Copy link
Owner

It looks like the problem originates when trying to specify a port; Prax returns a 404 Not Found with a 0 body.

@ysbaddaden
Copy link
Owner

A breaking change in Crystal: IO#gets now chomps the result. It broke the proxy for chunked encoding responses.

@jacksonrayhamilton
Copy link
Contributor Author

Sorry, but even after pulling e9cd772 I am still getting a whole bunch of errors:

~/projects/prax.cr (master) λ make test
mkdir -p bin
/usr/bin/crystal build /home/jackson/projects/prax.cr/src/prax.cr -o bin/prax-binary
bundle exec rake test --trace --verbose
** Invoke test (first_time)
** Execute test
/home/jackson/.rbenv/versions/2.3.1/bin/ruby -I"lib:test" -I"/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib" "/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/rake_test_loader.rb" "test/failures_test.rb" "test/keepalive_test.rb" "test/port_forwarding_test.rb" "test/praxrc_test.rb" "test/proxy_test.rb" "test/public_file_test.rb" 
Run options: --seed 13049

# Running:

F..E.EES.EESEE...SE

Fabulous run in 20.962367s, 0.9064 runs/s, 1.0972 assertions/s.

  1) Failure:
PortForwardingTest#test_forwards_to_given_port [/home/jackson/projects/prax.cr/test/port_forwarding_test.rb:29]:
--- expected
+++ actual
@@ -1,2 +1,114 @@
-"TCPServer: OK
+"<!DOCTYPE html>
+<html>
+<head>
+  <meta charset=\"utf-8\"/>
+  <title>Proxy Error</title>
+
+  <style type=\"text/css\">
+   body {
+     margin: 0;
+     padding: 0;
+     font: normal normal 16px/1.4 Helvetica, sans-serif;
+     background: #e0e0d8;
+   }
+
+   h1, h2, p, li { font: inherit; }
+   ul { padding: 0; }
+   li { list-style: none; }
+   pre, code { font-family: Menlo, Monaco, monospace; }
+   p code { font-size: 14px; }
+   p, pre { color: #222; }
+   a { color: #776; }
+
+   .page {
+     max-width: 68em;
+     margin: 36px auto;
+     padding: 36px 90px;
+     background: #fff;
+     box-shadow: 0px 2px 7px #999;
+   }
+
+   h1 {
+     margin: 0 0 0 -57px;
+     line-height: 45px;
+     font-size: 36px;
+     font-weight: bold;
+   }
+   h1:before {
+     position: relative;
+     top: 10px;;
+     font-size: 66px;
+     line-height: 42px;
+   }
+   h1.ok {
+     color: #090;
+   }
+   h1.ok:before {
+     content: \"\xE2\x9C\x93\";
+     color: #090;
+   }
+   h1.err {
+     color: #900;
+   }
+   h1.err:before {
+     content: \"\xE2\x9C\x97\";
+     color: #900;
+   }
+
+   //h2 {
+   //  line-height: 27px;
+   //  font-size: 18px;
+   //  font-weight: normal;
+   //  margin: 0;
+   //}
+
+   pre {
+     white-space: pre-wrap;
+     font-size: 14px;
+     background: #2a2a29;
+     color: #eee;
+     padding: 1em;
+     overflow-x: auto;
+   }
+   pre span {
+     color: #aa9;
+   }
+
+   //pre.breakout {
+   //  border-top: 1px solid #ddd;
+   //  border-bottom: 1px solid #ddd;
+   //  background: #fafcf4;
+   //  margin-left: -90px;
+   //  margin-right: -90px;
+   //  padding: 8px 0 8px 90px;
+   //}
+   //pre.small_text {
+   //  font-size: 10px;
+   //}
+   //pre.small_text strong {
+   //  font-size: 13px;
+   //}
+  </style>
+</head>
+
+<body>
+  <div class=\"page\">
+    <h1 class=\"err\">Proxy Error</h1>
+
+<section>
+  <p>Couldn't proxy request to <code>forward.dev:3123</code>.</p>
+
+  <pre>Error connecting to '127.0.0.1:3123': Connection refused</pre>
+</pre>
+</section>
+
+
+    <ul>
+      <li><a href=\"http://github.com/ysbaddaden/prax\">GitHub Page</a></li>
+      <li><a href=\"https://github.com/ysbaddaden/prax/issues\">Issue Tracker</a></li>
+    </ul>
+  </div>
+</body>
+</html>
+
 "



  2) Error:
PraxrcTest#test_praxrc_loaded:
Timeout::Error: execution expired
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `wait_readable'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `rbuf_fill'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:146:in `readline'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:40:in `read_status_line'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:29:in `read_new'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1437:in `block in transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `catch'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1407:in `request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1308:in `request_get'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:481:in `block in get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:853:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:584:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:479:in `get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:456:in `get'
    /home/jackson/projects/prax.cr/test/praxrc_test.rb:5:in `test_praxrc_loaded'


  3) Error:
FailuresTest#test_host_header_is_missing_but_found_in_uri:
Timeout::Error: execution expired
    /home/jackson/projects/prax.cr/test/failures_test.rb:25:in `gets'
    /home/jackson/projects/prax.cr/test/failures_test.rb:25:in `block in test_host_header_is_missing_but_found_in_uri'
    /home/jackson/projects/prax.cr/test/failures_test.rb:23:in `open'
    /home/jackson/projects/prax.cr/test/failures_test.rb:23:in `test_host_header_is_missing_but_found_in_uri'


  4) Error:
ProxyTest#test_proxies_to_rack_applications:
Timeout::Error: execution expired
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `wait_readable'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `rbuf_fill'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:146:in `readline'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:40:in `read_status_line'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:29:in `read_new'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1437:in `block in transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `catch'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1407:in `request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1308:in `request_get'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:481:in `block in get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:853:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:584:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:479:in `get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:456:in `get'
    /home/jackson/projects/prax.cr/test/proxy_test.rb:6:in `test_proxies_to_rack_applications'


  5) Error:
ProxyTest#test_populates_env_from_env_file:
Timeout::Error: execution expired
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `wait_readable'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `rbuf_fill'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:146:in `readline'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:40:in `read_status_line'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:29:in `read_new'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1437:in `block in transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `catch'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1407:in `request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1308:in `request_get'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:481:in `block in get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:853:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:584:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:479:in `get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:456:in `get'
    /home/jackson/projects/prax.cr/test/proxy_test.rb:17:in `test_populates_env_from_env_file'


  6) Error:
ProxyTest#test_returns_multiple_set_cookie_headers:
Timeout::Error: execution expired
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `wait_readable'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `rbuf_fill'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:146:in `readline'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:40:in `read_status_line'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:29:in `read_new'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1437:in `block in transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `catch'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1407:in `request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1308:in `request_get'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:481:in `block in get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:853:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:584:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:479:in `get_response'
    /home/jackson/projects/prax.cr/test/proxy_test.rb:33:in `test_returns_multiple_set_cookie_headers'


  7) Error:
ProxyTest#test_alters_request_headers_and_sets_proxy_headers:
Timeout::Error: execution expired
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `wait_readable'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `rbuf_fill'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:146:in `readline'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:40:in `read_status_line'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:29:in `read_new'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1437:in `block in transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `catch'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1407:in `request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1308:in `request_get'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:481:in `block in get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:853:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:584:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:479:in `get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:456:in `get'
    /home/jackson/projects/prax.cr/test/proxy_test.rb:42:in `test_alters_request_headers_and_sets_proxy_headers'


  8) Error:
ProxyTest#test_supports_xip_io:
Timeout::Error: execution expired
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `wait_readable'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `rbuf_fill'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:146:in `readline'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:40:in `read_status_line'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:29:in `read_new'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1437:in `block in transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `catch'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1407:in `request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1308:in `request_get'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:481:in `block in get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:853:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:584:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:479:in `get_response'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:456:in `get'
    /home/jackson/projects/prax.cr/test/proxy_test.rb:25:in `test_supports_xip_io'


  9) Error:
ProxyTest#test_augments_proxy_headers:
Timeout::Error: execution expired
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `wait_readable'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:158:in `rbuf_fill'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:136:in `readuntil'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/protocol.rb:146:in `readline'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:40:in `read_status_line'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http/response.rb:29:in `read_new'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1437:in `block in transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `catch'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1434:in `transport_request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1407:in `request'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:1156:in `get'
    /home/jackson/projects/prax.cr/test/proxy_test.rb:56:in `block in test_augments_proxy_headers'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:853:in `start'
    /home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/net/http.rb:584:in `start'
    /home/jackson/projects/prax.cr/test/proxy_test.rb:55:in `test_augments_proxy_headers'

19 runs, 23 assertions, 1 failures, 8 errors, 3 skips

You have skipped tests. Run with --verbose for details.
rake aborted!
Command failed with status (1): [ruby -I"lib:test" -I"/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib" "/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/rake_test_loader.rb" "test/failures_test.rb" "test/keepalive_test.rb" "test/port_forwarding_test.rb" "test/praxrc_test.rb" "test/proxy_test.rb" "test/public_file_test.rb" ]
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/testtask.rb:108:in `block (3 levels) in define'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/file_utils.rb:57:in `sh'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb:37:in `sh'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/file_utils.rb:96:in `ruby'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb:37:in `ruby'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/testtask.rb:104:in `block (2 levels) in define'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/file_utils_ext.rb:58:in `verbose'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/testtask.rb:100:in `block in define'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/task.rb:240:in `block in execute'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `each'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `execute'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/task.rb:165:in `invoke'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:150:in `invoke_task'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `each'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block in top_level'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:115:in `run_with_threads'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:100:in `top_level'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:78:in `block in run'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:176:in `standard_exception_handling'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/lib/rake/application.rb:75:in `run'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rake-10.4.2/bin/rake:33:in `<top (required)>'
/home/jackson/.rbenv/versions/2.3.1/bin/rake:23:in `load'
/home/jackson/.rbenv/versions/2.3.1/bin/rake:23:in `<top (required)>'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/cli/exec.rb:74:in `load'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/cli/exec.rb:74:in `kernel_load'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/cli/exec.rb:27:in `run'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/cli.rb:332:in `exec'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/cli.rb:20:in `dispatch'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/cli.rb:11:in `start'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/exe/bundle:34:in `block in <top (required)>'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/lib/bundler/friendly_errors.rb:100:in `with_friendly_errors'
/home/jackson/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.13.6/exe/bundle:26:in `<top (required)>'
/home/jackson/.rbenv/versions/2.3.1/bin/bundle:23:in `load'
/home/jackson/.rbenv/versions/2.3.1/bin/bundle:23:in `<main>'
Tasks: TOP => test
Makefile:77: recipe for target 'test' failed
make: *** [test] Error 1

Do I need to wait for the next version of Crystal?

@ysbaddaden
Copy link
Owner

No, only Crystal 0.20.5.

I have no idea why it fails so badly for you. Does the built binary work normally? If so, then maybe the Ruby tests are at fault?

@jacksonrayhamilton
Copy link
Contributor Author

Yeah, the binary has worked fine. Are there any dependencies for the tests that I might not have installed?

@ysbaddaden
Copy link
Owner

Bundler should have you set. I think I'm running Ruby 2.1, maybe that's the difference.

@jacksonrayhamilton
Copy link
Contributor Author

Still getting all these errors on 2.1.0. :/

I guess if I want to make a contribution, I'll have to either request that you run the tests, or that we set up Travis to run them for me. Sorry about that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants