diff options
author | Rickard Green <[email protected]> | 2015-05-08 17:45:01 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2015-05-08 17:45:01 +0200 |
commit | 207346e0543143bf1aea11a93bcb24de170fc0ac (patch) | |
tree | 6792897b3d88f175605f216edc4780c54fe98edb /erts/emulator/test/after_SUITE.erl | |
parent | fad4130bd8844097b6406ddc587b2185de1937fe (diff) | |
parent | 6b5905e49c74c4034b55824ce4d1a62455f670bc (diff) | |
download | otp-207346e0543143bf1aea11a93bcb24de170fc0ac.tar.gz otp-207346e0543143bf1aea11a93bcb24de170fc0ac.tar.bz2 otp-207346e0543143bf1aea11a93bcb24de170fc0ac.zip |
Merge branch 'rickard/time-improvement/OTP-11997'
* rickard/time-improvement/OTP-11997:
Allow execution of estone suite on pre OTP-18 systems
Add parallel time monotonicity test-case
Replace usage of erlang:now() in line-tracing
Replace erlang:now() usage in emulator suite
Replace erlang:now() usage in system suite
Misc time improvements
Diffstat (limited to 'erts/emulator/test/after_SUITE.erl')
-rw-r--r-- | erts/emulator/test/after_SUITE.erl | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/erts/emulator/test/after_SUITE.erl b/erts/emulator/test/after_SUITE.erl index 7cc329cc69..699a1436ce 100644 --- a/erts/emulator/test/after_SUITE.erl +++ b/erts/emulator/test/after_SUITE.erl @@ -70,30 +70,23 @@ end_per_testcase(_Func, Config) -> t_after(Config) when is_list(Config) -> ?line spawn(fun frequent_process/0), ?line Period = test_server:minutes(1), - ?line Before = erlang:now(), + ?line Before = erlang:monotonic_time(), receive after Period -> - ?line After = erlang:now(), + ?line After = erlang:monotonic_time(), ?line report(Period, Before, After) end. - report(Period, Before, After) -> - ?line Elapsed = (element(1, After)*1000000000 - +element(2, After)*1000 - +element(3, After) div 1000) - - (element(1,Before)*1000000000 - + element(2,Before)*1000 + element(3,Before) div 1000), - ?line case Elapsed*100 / Period of - Percent when Percent > 100.10 -> - ?line test_server:fail({too_inaccurate, Percent}); - Percent when Percent < 100.0 -> - ?line test_server:fail({too_early, Percent}); - Percent -> - ?line Comment = io_lib:format("Elapsed/expected: ~.2f %", - [Percent]), - {comment, lists:flatten(Comment)} - end. + case erlang:convert_time_unit(After - Before, native, 100*1000) / Period of + Percent when Percent > 100.10 -> + test_server:fail({too_inaccurate, Percent}); + Percent when Percent < 100.0 -> + test_server:fail({too_early, Percent}); + Percent -> + Comment = io_lib:format("Elapsed/expected: ~.2f %", [Percent]), + {comment, lists:flatten(Comment)} + end. frequent_process() -> receive |