d09c4ea27f
Upgrade to Elixir 1.16.1 OBS-URL: https://build.opensuse.org/request/show/1150121 OBS-URL: https://build.opensuse.org/package/show/devel:languages:erlang/elixir?expand=0&rev=92
90 lines
3.2 KiB
Diff
90 lines
3.2 KiB
Diff
From c50863615c0e8ac957e22ae01a6f9af23978c3f9 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Jos=C3=A9=20Valim?= <jose.valim@dashbit.co>
|
|
Date: Thu, 8 Feb 2024 08:08:03 +0100
|
|
Subject: [PATCH] Skip tests if Erlang was compiled without docs, closes #13322
|
|
|
|
---
|
|
lib/iex/test/iex/helpers_test.exs | 12 +++++++++---
|
|
lib/iex/test/test_helper.exs | 10 +++++++++-
|
|
2 files changed, 18 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/lib/iex/test/iex/helpers_test.exs b/lib/iex/test/iex/helpers_test.exs
|
|
index 54f946516ce..171acc72abc 100644
|
|
--- a/lib/iex/test/iex/helpers_test.exs
|
|
+++ b/lib/iex/test/iex/helpers_test.exs
|
|
@@ -332,17 +332,20 @@ defmodule IEx.HelpersTest do
|
|
assert help =~ "Welcome to Interactive Elixir"
|
|
end
|
|
|
|
+ @tag :erlang_doc
|
|
test "prints Erlang module documentation" do
|
|
captured = capture_io(fn -> h(:timer) end)
|
|
assert captured =~ "This module provides useful functions related to time."
|
|
end
|
|
|
|
+ @tag :erlang_doc
|
|
test "prints Erlang module function specs" do
|
|
captured = capture_io(fn -> h(:timer.sleep() / 1) end)
|
|
assert captured =~ ":timer.sleep/1"
|
|
assert captured =~ "-spec sleep(Time) -> ok when Time :: timeout()."
|
|
end
|
|
|
|
+ @tag :erlang_doc
|
|
test "handles non-existing Erlang module function" do
|
|
captured = capture_io(fn -> h(:timer.baz() / 1) end)
|
|
assert captured =~ "No documentation for :timer.baz was found"
|
|
@@ -1008,13 +1011,15 @@ defmodule IEx.HelpersTest do
|
|
cleanup_modules([TypeSample])
|
|
end
|
|
|
|
- test "prints all types in erlang module" do
|
|
+ @tag :erlang_doc
|
|
+ test "prints all types in Erlang module" do
|
|
captured = capture_io(fn -> t(:queue) end)
|
|
assert captured =~ "-type queue() :: queue(_)"
|
|
assert captured =~ "-opaque queue(Item)"
|
|
end
|
|
|
|
- test "prints single type from erlang module" do
|
|
+ @tag :erlang_doc
|
|
+ test "prints single type from Erlang module" do
|
|
captured = capture_io(fn -> t(:erlang.iovec()) end)
|
|
assert captured =~ "-type iovec() :: [binary()]"
|
|
assert captured =~ "A list of binaries."
|
|
@@ -1024,7 +1029,8 @@ defmodule IEx.HelpersTest do
|
|
assert captured =~ "A list of binaries."
|
|
end
|
|
|
|
- test "handles non-existing types from erlang module" do
|
|
+ @tag :erlang_doc
|
|
+ test "handles non-existing types from Erlang module" do
|
|
captured = capture_io(fn -> t(:erlang.foo()) end)
|
|
assert captured =~ "No type information for :erlang.foo was found or :erlang.foo is private"
|
|
|
|
diff --git a/lib/iex/test/test_helper.exs b/lib/iex/test/test_helper.exs
|
|
index f5a55f0aa80..b32c8be4e91 100644
|
|
--- a/lib/iex/test/test_helper.exs
|
|
+++ b/lib/iex/test/test_helper.exs
|
|
@@ -7,11 +7,19 @@ IEx.configure(colors: [enabled: false])
|
|
{line_exclude, line_include} =
|
|
if line = System.get_env("LINE"), do: {[:test], [line: line]}, else: {[], []}
|
|
|
|
+erlang_doc_exclude =
|
|
+ if match?({:docs_v1, _, _, _, _, _, _}, Code.fetch_docs(:array)) do
|
|
+ []
|
|
+ else
|
|
+ IO.puts("Erlang/OTP compiled without docs, some tests are excluded...")
|
|
+ [:erlang_doc]
|
|
+ end
|
|
+
|
|
ExUnit.start(
|
|
assert_receive_timeout: assert_timeout,
|
|
trace: !!System.get_env("TRACE"),
|
|
include: line_include,
|
|
- exclude: line_exclude
|
|
+ exclude: line_exclude ++ erlang_doc_exclude
|
|
)
|
|
|
|
defmodule IEx.Case do
|
|
|