commit: ce14d2a533200d2917090e18b324d3bbf914ea18 Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> AuthorDate: Sun Dec 23 13:25:47 2018 +0000 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> CommitDate: Sun Dec 23 13:26:04 2018 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ce14d2a5
dev-lang/crystal: disable broken tests 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 <AT> gentoo.org> dev-lang/crystal/crystal-0.27.0.ebuild | 3 + .../crystal-0.27.0-gentoo-tests-long-unix.patch | 90 ++++++++++++++++++++++ ...ystal-0.27.0-gentoo-tests-network-sandbox.patch | 44 +++++++++++ .../files/crystal-0.27.0-max-age-0-test.patch | 14 ++++ 4 files changed, 151 insertions(+) diff --git a/dev-lang/crystal/crystal-0.27.0.ebuild b/dev-lang/crystal/crystal-0.27.0.ebuild index b7dcd5f70cf..763582835a2 100644 --- a/dev-lang/crystal/crystal-0.27.0.ebuild +++ b/dev-lang/crystal/crystal-0.27.0.ebuild @@ -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 index 00000000000..51b049ee980 --- /dev/null +++ b/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-long-unix.patch @@ -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 index 00000000000..0ba0f18f73d --- /dev/null +++ b/dev-lang/crystal/files/crystal-0.27.0-gentoo-tests-network-sandbox.patch @@ -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 index 00000000000..d78927ab3ee --- /dev/null +++ b/dev-lang/crystal/files/crystal-0.27.0-max-age-0-test.patch @@ -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