dev-lang/crystal: disable broken tests
authorSergei Trofimovich <slyfox@gentoo.org>
Sun, 23 Dec 2018 13:25:47 +0000 (13:25 +0000)
committerSergei Trofimovich <slyfox@gentoo.org>
Sun, 23 Dec 2018 13:26:04 +0000 (13:26 +0000)
networking tests don't work with FEATURES=network-sandbox
unix tests don't work on paths more than 107 bytes (crystal limitation)

Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
dev-lang/crystal/crystal-0.27.0.ebuild
dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix.patch [new file with mode: 0644]
dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-network-sandbox.patch [new file with mode: 0644]
dev-lang/crystal/files/crystal-0.27.0-max-age-0-test.patch [new file with mode: 0644]

index b7dcd5f70cfef5de0fa4c08e592a7b476676787b..763582835a2d3673228b687e07945dc312a4b95a 100644 (file)
@@ -44,6 +44,9 @@ PATCHES=(
        "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-sandbox.patch
        "${FILESDIR}"/${PN}-0.26.1-gentoo-tests-network-sandbox-3.patch
        "${FILESDIR}"/${PN}-0.27.0-extra-spec-flags.patch
+       "${FILESDIR}"/${PN}-0.27.0-max-age-0-test.patch
+       "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-network-sandbox.patch
+       "${FILESDIR}"/${PN}-0.27.0-gentoo-tests-long-unix.patch
 )
 
 src_prepare() {
diff --git a/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix.patch b/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix.patch
new file mode 100644 (file)
index 0000000..51b049e
--- /dev/null
@@ -0,0 +1,90 @@
+--- a/spec/std/socket/unix_server_spec.cr
++++ b/spec/std/socket/unix_server_spec.cr
+@@ -14,7 +14,9 @@ describe UNIXServer do
+       end
+     end
+ 
+-    it "creates the socket file" do
++    # On large non-standard temp paths the test fails as:
++    #    Path size exceeds the maximum size of 107 bytes
++    pending "creates the socket file" do
+       with_tempfile("unix_server.sock") do |path|
+         UNIXServer.open(path) do
+           File.exists?(path).should be_true
+@@ -24,7 +26,9 @@ describe UNIXServer do
+       end
+     end
+ 
+-    it "deletes socket file on close" do
++    # On large non-standard temp paths the test fails as:
++    #    Path size exceeds the maximum size of 107 bytes
++    pending "deletes socket file on close" do
+       with_tempfile("unix_server-close.sock") do |path|
+         server = UNIXServer.new(path)
+         server.close
+@@ -33,7 +37,9 @@ describe UNIXServer do
+       end
+     end
+ 
+-    it "raises when socket file already exists" do
++    # On large non-standard temp paths the test fails as:
++    #    Path size exceeds the maximum size of 107 bytes
++    pending "raises when socket file already exists" do
+       with_tempfile("unix_server-twice.sock") do |path|
+         server = UNIXServer.new(path)
+ 
+@@ -45,7 +51,9 @@ describe UNIXServer do
+       end
+     end
+ 
+-    it "won't delete existing file on bind failure" do
++    # On large non-standard temp paths the test fails as:
++    #    Path size exceeds the maximum size of 107 bytes
++    pending "won't delete existing file on bind failure" do
+       with_tempfile("unix_server-exist.sock") do |path|
+         File.write(path, "")
+         File.exists?(path).should be_true
+@@ -60,7 +68,9 @@ describe UNIXServer do
+   end
+ 
+   describe "accept" do
+-    it "returns the client UNIXSocket" do
++    # On large non-standard temp paths the test fails as:
++    #    Path size exceeds the maximum size of 107 bytes
++    pending "returns the client UNIXSocket" do
+       with_tempfile("unix_server-accept.sock") do |path|
+         UNIXServer.open(path) do |server|
+           UNIXSocket.open(path) do |_|
+@@ -72,7 +82,9 @@ describe UNIXServer do
+       end
+     end
+ 
+-    it "raises when server is closed" do
++    # On large non-standard temp paths the test fails as:
++    #    Path size exceeds the maximum size of 107 bytes
++    pending "raises when server is closed" do
+       with_tempfile("unix_server-closed.sock") do |path|
+         server = UNIXServer.new(path)
+         exception = nil
+@@ -97,7 +109,9 @@ describe UNIXServer do
+   end
+ 
+   describe "accept?" do
+-    it "returns the client UNIXSocket" do
++    # On large non-standard temp paths the test fails as:
++    #    Path size exceeds the maximum size of 107 bytes
++    pending "returns the client UNIXSocket" do
+       with_tempfile("unix_server-accept_.sock") do |path|
+         UNIXServer.open(path) do |server|
+           UNIXSocket.open(path) do |_|
+@@ -109,7 +123,9 @@ describe UNIXServer do
+       end
+     end
+ 
+-    it "returns nil when server is closed" do
++    # On large non-standard temp paths the test fails as:
++    #    Path size exceeds the maximum size of 107 bytes
++    pending "returns nil when server is closed" do
+       with_tempfile("unix_server-accept2.sock") do |path|
+         server = UNIXServer.new(path)
+         ret = :initial
diff --git a/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-network-sandbox.patch b/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-network-sandbox.patch
new file mode 100644 (file)
index 0000000..0ba0f18
--- /dev/null
@@ -0,0 +1,44 @@
+--- a/spec/std/socket/tcp_server_spec.cr
++++ b/spec/std/socket/tcp_server_spec.cr
+@@ -76,13 +76,17 @@ describe TCPServer do
+         TCPServer.new("localhost", unused_local_port)
+       end
+ 
+-      it "raises when host doesn't exist" do
++      # gentoo's FEATURES=network-sandbox blocks external network:
++      #   Socket::Error: getaddrinfo: Temporary failure in name resolution
++      pending "raises when host doesn't exist" do
+         expect_raises(Socket::Error, "No address") do
+           TCPServer.new("doesnotexist.example.org.", 12345)
+         end
+       end
+ 
+-      it "raises (rather than segfault on darwin) when host doesn't exist and port is 0" do
++      # gentoo's FEATURES=network-sandbox blocks external network:
++      #   Socket::Error: getaddrinfo: Temporary failure in name resolution
++      pending "raises (rather than segfault on darwin) when host doesn't exist and port is 0" do
+         expect_raises(Socket::Error, "No address") do
+           TCPServer.new("doesnotexist.example.org.", 0)
+         end
+--- a/spec/std/socket/tcp_socket_spec.cr
++++ b/spec/std/socket/tcp_socket_spec.cr
+@@ -56,13 +56,17 @@ describe TCPSocket do
+         end
+       end
+ 
+-      it "raises when host doesn't exist" do
++      # gentoo's FEATURES=network-sandbox blocks external network:
++      #   Socket::Error: getaddrinfo: Temporary failure in name resolution
++      pending "raises when host doesn't exist" do
+         expect_raises(Socket::Error, "No address") do
+           TCPSocket.new("doesnotexist.example.org.", 12345)
+         end
+       end
+ 
+-      it "raises (rather than segfault on darwin) when host doesn't exist and port is 0" do
++      # gentoo's FEATURES=network-sandbox blocks external network:
++      #   Socket::Error: getaddrinfo: Temporary failure in name resolution
++      pending "raises (rather than segfault on darwin) when host doesn't exist and port is 0" do
+         expect_raises(Socket::Error, "No address") do
+           TCPSocket.new("doesnotexist.example.org.", 0)
+         end
diff --git a/dev-lang/crystal/files/crystal-0.27.0-max-age-0-test.patch b/dev-lang/crystal/files/crystal-0.27.0-max-age-0-test.patch
new file mode 100644 (file)
index 0000000..d78927a
--- /dev/null
@@ -0,0 +1,14 @@
+--- a/spec/std/http/cookie_spec.cr
++++ b/spec/std/http/cookie_spec.cr
+@@ -150,7 +150,10 @@ module HTTP
+         parse_set_cookie("a=1; domain=127.0.0.1; path=/; HttpOnly").domain.should eq "127.0.0.1"
+       end
+ 
+-      it "parse max-age as seconds from Time.now" do
++      # unstable test: sometimes 'now - max-age=0' == 0.0:
++      #    Failure/Error: delta.should be > 0.seconds
++      #    Expected 00:00:00 to be > 00:00:00
++      pending "parse max-age as seconds from Time.now" do
+         cookie = parse_set_cookie("a=1; max-age=10")
+         delta = cookie.expires.not_nil! - Time.now
+         delta.should be > 9.seconds