File 0183-stdlib-Fix-tar-unicode-test-to-run-on-zfs.patch of Package erlang
From b7e7d2bb092c34469f8864a27ae8aec2bcbec5c8 Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Wed, 8 Dec 2021 13:48:41 +0100
Subject: [PATCH 05/12] stdlib: Fix tar unicode test to run on zfs
---
lib/stdlib/test/tar_SUITE.erl | 34 +++++++++++++++++++---------------
1 file changed, 19 insertions(+), 15 deletions(-)
diff --git a/lib/stdlib/test/tar_SUITE.erl b/lib/stdlib/test/tar_SUITE.erl
index a8fc030c31..4eac9c8162 100644
--- a/lib/stdlib/test/tar_SUITE.erl
+++ b/lib/stdlib/test/tar_SUITE.erl
@@ -939,21 +939,25 @@ has_transparent_naming() ->
do_unicode(PrivDir) ->
ok = file:set_cwd(PrivDir),
- ok = file:make_dir("unicöde"),
-
- Names = lists:sort(unicode_create_files()),
- Tar = "unicöde.tar",
- ok = erl_tar:create(Tar, ["unicöde"], []),
-
- %% Unicode filenames require PAX format.
- false = is_ustar(Tar),
- {ok,Names0} = erl_tar:table(Tar, []),
- Names = lists:sort(Names0),
- _ = [ok = file:delete(Name) || Name <- Names],
- ok = erl_tar:extract(Tar),
- _ = [{ok,_} = file:read_file(Name) || Name <- Names],
- _ = [ok = file:delete(Name) || Name <- Names],
- ok = file:del_dir("unicöde"),
+ case file:make_dir("unicöde") of
+ ok ->
+ Names = lists:sort(unicode_create_files()),
+ Tar = "unicöde.tar",
+ ok = erl_tar:create(Tar, ["unicöde"], []),
+
+ %% Unicode filenames require PAX format.
+ false = is_ustar(Tar),
+ {ok,Names0} = erl_tar:table(Tar, []),
+ Names = lists:sort(Names0),
+ _ = [ok = file:delete(Name) || Name <- Names],
+ ok = erl_tar:extract(Tar),
+ _ = [{ok,_} = file:read_file(Name) || Name <- Names],
+ _ = [ok = file:delete(Name) || Name <- Names],
+ ok = file:del_dir("unicöde");
+ {error,eilseq} ->
+ %% The FS (eg zfs) does not support transparent naming
+ ok
+ end,
ok.
unicode_create_files() ->
--
2.31.1