Age | Commit message (Collapse) | Author |
|
The Loc argument was use to determine the name of the currently
executing test case, in case that the M and F arguments did not
specify a test case.
Since a previous commit makes sure that the M and F arguments *are*
valied, we can eliminate the Loc argument.
|
|
The code is not actually shorter, but it avoids duplicating the code
for producing an error tuple when theres is no priv_dir tuple in
the config data.
|
|
Keeping all state as separate function arguments does not make it
easy to add more pieces of data to the state. Case in point is the
CurrConf argument where up to three separate items have been
shoehorned in.
Instead of the arguments, introduce a state record to hold all of the
different pieces of state (taking care to separate the former CurrConf
variable into separate fields in the record).
While at it, fix a bug. The name of the currently executing test
case (module and function) used to be stored in a tuple in the CurrConf
variable, and it would only be available after 'set_curr_conf' message
has been received. Depending on timing, it was possible in rare
circumstances for an EXIT signal to arrive before the 'set_curr_conf'
message. Avoid this problem by putting the current test case
name into the record from the beginning. That also means that we
can eliminate the workaround of getting the currently executing test case
from the stack trace using the get_mf/1.
|
|
* bjorn/compiler/test-cases:
Correct typo in test suite name
compiler: Run testcases in parallel
|
|
* bjorn/test_server/test-cases:
test_server tests: Be kind to Windows by using shorter pathnames
|
|
* bjorn/ct/separate-io-server/OTP-10101:
Test ct:capture/start/stop/get
Introduce ct_group_leader_SUITE that does nasty things with group leaders
Eliminate unexpected I/O to the minor log file
Introduce test_server_io and test_server_gl
Clean up initialization of parallel test cases
Introduce is_io_buffered/0 to somewhat improve readability
test_server_ctrl: Consistently use set_io_buffering/1
|
|
If the test suite itself was included in code coverage analysis, then
test_server_ctrl would not manage to set data_dir correctly for the
test, since it relied on the result of code:which(Suite). This has
been corrected.
|
|
The pathnames gets too long for Windows if we use priv_dir as working
directory for the test_server tests in the slave node. Use data_dir
instead. Revert this commit when the run-time system can handle long
pathnames on Windows.
|
|
Conflicts:
erts/etc/common/heart.c
|
|
* egil/ensure-erl_crash.dump/OTP-10422:
test: Relax timeouts for heart_SUITE
erts: Fix crash dump write to port hack
erts: Fix lock check assertion
doc: Document ERL_CRASH_DUMP_SECONDS behaviour
test: Add test for heart restart on crash
test: Add test for heart restart on crash
erts: Change ERL_CRASH_DUMP_SECONDS behaviour
test: Refactor away ?line macros in heart_SUITE
erts: Search for heart in ports that are alive
heart: Refactor heart debugging
erts, heart: Ensure erl_crash.dump is written
|
|
|
|
|
|
|
|
|
|
Timeouts were set too narrow and timedout on slow machines
|
|
|
|
Note that there are some more direct use of:
get(test_server_common_io_handler)
that cannot be replaced with a call to is_io_buffered/0.
|
|
Since we will want to change the implementation of I/O buffering in
a future commit, make sure that all updates of the buffering state
is done by calling set_io_buffering/1.
|
|
It should be beam_except_SUITE, since it tests the beam_except
module (introduced in 726f6e4c7afe8ce37b30eedbebe583e7b9bfc51b).
|
|
Run testcases in parallel will make the test suite run slightly
faster. Another reason for this change is that we want more testing
of parallel testcase support in common_test.
|
|
* ia/ssh/ctify-tests:
ssh: Modernized test suites to use only Common Test
|
|
|
|
* heart reboot behaviour
* erl_crash.dump file write behaviour
|
|
* node_start_soon_after_crash tests that heart restarts
beam upon a crash and only lets beam write its crash
dump for a certain amount of time
|
|
* ar/odbc_nagel:
Under Unix enable TCP_NODELAY to disable Nagel's socket algorithm
OTP-10506
|
|
* nk/jinterface-fix_compressed_binary:
add (de)compress roundtrip tests with larger values
fix reading compressed binary terms from Java
OTP-10505
|
|
* at/binary-depth-printing:
Fix printing the empty binary at depth 1 with ~W
OTP-10504
|
|
* jf/fix_sctp_peeloff_active_true:
Set new peeled off SCTP socket to nonblocking socket
SCTP test case with socket active options once and true
OTP-10491
|
|
* node_start_immediately_after_crash tests that heart restarts
beam upon a crash and will not generate a crash dump
|
|
|
|
When a crash dump is about to be written and we have
heartbeat enabled on a system. We need time to write it
before heart explicitly kills the beam.
|
|
* tp/supervisor-pass-on-errors:
If supervisor:start_link fails to start child, add child id to error reason
Fix documentation about how supervisor handles crash in child's start function
Have supervisor send errors up the chain
OTP-10490
|
|
* egil/add-scalefactor-to-start_node:
test_server: Let start_node/3 utilize scalefactor
test_server: Refactor timetrap_scale_factor/0
|
|
|
|
os:type/0 always returns a two-tuple.
|
|
On Windows, the log files are not placed under priv_dir, so we will
have to retrieve the path using ct_test_support (which works fine
on all platforms).
|
|
|
|
* hb/kernel/spec_fix/OTP-10473:
Fix the contract of erl_ddll:format_error/1
|
|
|
|
* bjorn/compiler/minor-optimization-polishing/OTP-10193: (25 commits)
beam_bsm: Handle calls slightly better
Break apart tail-recursive call instructions
Represent the 'send' instruction as a call_ext/2 instruction
Rewrite select_val and select_tuple_arity to a select instruction
Rewrite binary creation instructions to bs_init instructions
Rewrite bs_add, bs_utf*_size to BIF instructions in optimizations
Rewrite bs_put* instructions to a generic bs_put instruction
Refactor removal of unused labels
Introduce the mandatory beam_a and beam_z passes
compile: Fix bug in selection of passes
beam_receive: Optimize receives using refs created by spawn_monitor/{1,3}
compile: Give a friendler error message if a parse transform cannot be found
beam_jump: Don't move a block which can be entered via a fallthrough
beam_jump: Fix broken optimization
v3_kernel: Fix match code for matched out segment size in multiple clauses
Improve binary matching of literals
v3_codegen: Combine adjacent bs_match_string instructions
beam_bool: Recognize more safe optimizations
beam_utils: Correct usage calculations for GC BIFs in blocks
beam_utils:live_opt/1: Correct liveness calculation for 'try'
...
|
|
We were too conservative when handling a call when there were copies of
the match context in both x and y registers. Don't give up if there
is are copies of the match context in y registers, as long as those
copies are killed by the code that follows the call.
|
|
Somewhat reduce the code bloat by eliminating special cases.
|
|
Somewhat reduce code bloat.
|
|
Eliminate some code bloat.
|
|
* siri/sasl/appup-regexp-fix/OTP-10463:
Fix release_handler:find_script so it can read regexp in appups
|
|
Rewrite the five binary creation instructions to a bs_init
instruction, in order to somewhat reduce code bloat.
|
|
We can remove some code bloat by handling the special instructions
as BIF instructions in the optimization passes. Also note that
bs_utf*_size was not handled by beam_utils:check_liveness/3
(meaning the conservative answer instead of the correct answer
would be returned).
|
|
Seven bs_put_* instructions can be combined into one generic bs_put
instruction to avoid some code bloat. That will also improve some
optimizations (such as beam_trim) that did not handle all bs_put*
variants.
|
|
Since we always want to remove unused labels directly after code
generation (whether we'll run the optimization passes or not),
we can simplify the code by doing it in beam_a.
|
|
Introduce the mandary beam_a pass that will be run directly after code
generation, and the mandatory beam_z pass that will be run just before
beam_asm. Since these passes surround the optimizations, beam_a can
(for example) do instruction renaming to simplify the optimization
passes and beam_z can undo those renamings.
|