diff options
author | Raimo Niskanen <[email protected]> | 2012-11-26 09:34:05 +0100 |
---|---|---|
committer | Raimo Niskanen <[email protected]> | 2012-11-26 09:34:05 +0100 |
commit | 7c4021a7555112affc7c37dd72f418ccc87ca647 (patch) | |
tree | 221621a561d178f1a8bd6a5ae489de23f8d943e4 /lib/test_server/src/ts.erl | |
parent | c9f679812646bb7e9b4d98752d1ce068237d1e8a (diff) | |
parent | 87b4ec9a0b2e4bbe1180e8a26700072f49303508 (diff) | |
download | otp-7c4021a7555112affc7c37dd72f418ccc87ca647.tar.gz otp-7c4021a7555112affc7c37dd72f418ccc87ca647.tar.bz2 otp-7c4021a7555112affc7c37dd72f418ccc87ca647.zip |
Merge branch 'raimo/daily-build-fixes' into maint
* raimo/daily-build-fixes:
Fix erroneous skipping for jinterface, erl_interface and ic
Diffstat (limited to 'lib/test_server/src/ts.erl')
-rw-r--r-- | lib/test_server/src/ts.erl | 52 |
1 files changed, 37 insertions, 15 deletions
diff --git a/lib/test_server/src/ts.erl b/lib/test_server/src/ts.erl index 42b286ef64..5fbc0ee017 100644 --- a/lib/test_server/src/ts.erl +++ b/lib/test_server/src/ts.erl @@ -290,21 +290,43 @@ run(List, Opts) when is_list(List), is_list(Opts) -> run(Testspec, Config) when is_atom(Testspec), is_list(Config) -> Options=check_test_get_opts(Testspec, Config), File=atom_to_list(Testspec), - Spec = case code:lib_dir(Testspec) of - _ when Testspec == emulator; - Testspec == system; - Testspec == epmd -> - File++".spec"; - {error, bad_name} -> - create_skip_spec(Testspec, tests(Testspec)); - Path -> - case file:read_file_info(filename:join(Path,"ebin")) of - {ok,_} -> - File++".spec"; - _ -> - create_skip_spec(Testspec, tests(Testspec)) - end - end, + WhatToDo = + case Testspec of + %% Known to exist but fails generic tests below + emulator -> test; + system -> test; + erl_interface -> test; + epmd -> test; + _ -> + case code:lib_dir(Testspec) of + {error,bad_name} -> + %% Application does not exist + skip; + Path -> + case file:read_file_info(filename:join(Path,"ebin")) of + {ok,#file_info{type=directory}} -> + %% Erlang application is built + test; + _ -> + case filelib:wildcard( + filename:join([Path,"priv","*.jar"])) of + [] -> + %% The application is not built + skip; + [_|_] -> + %% Java application is built + test + end + end + end + end, + Spec = + case WhatToDo of + skip -> + create_skip_spec(Testspec, tests(Testspec)); + test -> + File++".spec" + end, run_test(File, [{spec,[Spec]}], Options); %% Runs one module in a spec (interactive) run(Testspec, Mod) when is_atom(Testspec), is_atom(Mod) -> |