diff options
author | Björn Gustavsson <[email protected]> | 2016-11-17 15:31:47 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2016-11-17 15:31:47 +0100 |
commit | 6acf223a1f962da96062bf42a8d5e85446930d99 (patch) | |
tree | 1cb7419d2b7804f1b95ca340faf68f56ffa84a66 | |
parent | 9fa62a9774d1c9145fbc807bdf052573dab40ecb (diff) | |
download | otp-6acf223a1f962da96062bf42a8d5e85446930d99.tar.gz otp-6acf223a1f962da96062bf42a8d5e85446930d99.tar.bz2 otp-6acf223a1f962da96062bf42a8d5e85446930d99.zip |
Correct tar_SUITE:unicode/1
Make sure that we always test the "+fnu" option on all
systems. It seems that it was not tested in our daily
builds, since they are run non-interactively.
Make sure that we sort the list of names in do_unicode/1.
Otherwise the test would only work in "+fnl" mode because
the list would only contain one element.
-rw-r--r-- | lib/stdlib/test/tar_SUITE.erl | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/lib/stdlib/test/tar_SUITE.erl b/lib/stdlib/test/tar_SUITE.erl index 64dd41e75a..6f3979bb77 100644 --- a/lib/stdlib/test/tar_SUITE.erl +++ b/lib/stdlib/test/tar_SUITE.erl @@ -720,20 +720,25 @@ memory(Config) when is_list(Config) -> %% Test filenames with characters outside the US ASCII range. unicode(Config) when is_list(Config) -> - PrivDir = proplists:get_value(priv_dir, Config), - do_unicode(PrivDir), + run_unicode_node(Config, "+fnu"), case has_transparent_naming() of true -> - Pa = filename:dirname(code:which(?MODULE)), - Node = start_node(unicode, "+fnl -pa "++Pa), - ok = rpc:call(Node, erlang, apply, - [fun() -> do_unicode(PrivDir) end,[]]), - true = test_server:stop_node(Node), - ok; + run_unicode_node(Config, "+fnl"); false -> ok end. +run_unicode_node(Config, Option) -> + PrivDir = proplists:get_value(priv_dir, Config), + Pa = filename:dirname(code:which(?MODULE)), + Args = Option ++ " -pa "++Pa, + io:format("~s\n", [Args]), + Node = start_node(unicode, Args), + ok = rpc:call(Node, erlang, apply, + [fun() -> do_unicode(PrivDir) end,[]]), + true = test_server:stop_node(Node), + ok. + has_transparent_naming() -> case os:type() of {unix,darwin} -> false; @@ -745,10 +750,11 @@ do_unicode(PrivDir) -> ok = file:set_cwd(PrivDir), ok = file:make_dir("unicöde"), - Names = unicode_create_files(), + Names = lists:sort(unicode_create_files()), Tar = "unicöde.tar", ok = erl_tar:create(Tar, ["unicöde"], []), - {ok,Names} = erl_tar:table(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], |