aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/test
AgeCommit message (Collapse)Author
2019-04-15Merge branch 'bjorn/cuddle-with-tests'Björn Gustavsson
* bjorn/cuddle-with-tests: crash dump: Fix printing of "OldBinVHeap unused" crash dump: Include correct IP for a garbing process fun_SUITE: Make refc/1 test more reliable Remove redundant rule from Emakefile Turn off more optimizations for no_opt modules test_server_node: Bump compiler compatibility version to OTP 20 erts_test_utils: Bump compiler compatibility version to OTP 20 distribution_SUITE: Remove irrelevant test atom_roundtrip_r16b bs_construct_SUITE: Rename bs_add_overflow/1 to bs_append_overflow/1 bs_construct_SUITE: Remove troublesome test huge_binary/1 bs_construct_SUITE: Remove incorrect purpose line
2019-04-12fun_SUITE: Make refc/1 test more reliableBjörn Gustavsson
Wait a little after to make sure that fun holding process to complete its termination.
2019-04-12Remove redundant rule from EmakefileBjörn Gustavsson
According to the comment, this rule was only needed when communication with R7B nodes was supported.
2019-04-12Turn off more optimizations for no_opt modulesBjörn Gustavsson
With the new compiler in OTP 22, we have to use more options to turn off optimizations. This commit also skips the match_huge_int/1 test case in the unoptimized clone of the bs_match_int module because it could crash on memory-constrained computers.
2019-04-12Merge branch 'bjorn/erts/measure-process_main/OTP-15620'Björn Gustavsson
* bjorn/erts/measure-process_main/OTP-15620: Add benchmark Add erts_debug:interpreter_size/0
2019-04-11erts_test_utils: Bump compiler compatibility version to OTP 20Björn Gustavsson
2019-04-11distribution_SUITE: Remove irrelevant test atom_roundtrip_r16bBjörn Gustavsson
Communication with OTP R16b has not been supported for a while.
2019-04-11bs_construct_SUITE: Rename bs_add_overflow/1 to bs_append_overflow/1Björn Gustavsson
The test case tests that the bs_append instruction tests for overflow. Make that clear by renaming the test case. While at it, also add a few explicit garbage_collection/0 calls to make it more likeley to run successfully in tight memory situations.
2019-04-11bs_construct_SUITE: Remove troublesome test huge_binary/1Björn Gustavsson
This test case can fail for the wrong reason (swapping followed by a timetrap timeout). It is unlikely to fail because of a real bug.
2019-04-11bs_construct_SUITE: Remove incorrect purpose lineBjörn Gustavsson
2019-04-11Add benchmarkBjörn Gustavsson
2019-04-10Merge pull request #2204 from jhogberg/john/erts/optimize-arith-ops/OTP-15740John Högberg
erts: Optimize arithmetic ops using overflow intrinsics
2019-04-09erts: Fix driver_SUITE:use_fallback_pollsetLukas Larsson
We don't check for io errors as the pollset will be unstable.
2019-04-09erts: Skip large dist testcases on machines with little memoryLukas Larsson
2019-04-08Merge branch 'bjorn/erts/cuddle-with-tests'Björn Gustavsson
* bjorn/erts/cuddle-with-tests: statistics_SUITE: Make wall_clock_update/1 more tolerant
2019-04-08erts: Optimize arithmetic ops using overflow intrinsicsJohn Högberg
2019-04-03lcnt_SUITE: Ignore socket-NIF locks in toggle testsJohn Högberg
2019-04-01efile_SUITE: Fix proc_zero_sized_files on systems with empty /procJohn Högberg
This test would fail on some versions of FreeBSD because /proc was present but empty. This commit makes the test fail if and only if a known zero-sized file is found and turns out to be empty empty.
2019-03-29Merge branch 'maint'Sverker Eriksson
2019-03-29Merge branch 'sverker/process_info-reductions-fix/OTP-15709' into maintSverker Eriksson
* sverker/process_info-reductions-fix/OTP-15709: erts: Fix bug in process_info(reductions) erts: Use ptr_val for pointer in gc msg copy
2019-03-29Fix out of memory bug in the implementation of mapsKjell Winblad
This commit fixes a bug that could cause a crash or memory usage to grow until the machine ran out of memory when adding a key-value pair to a map. This could happen when inserting a new key-value pair with a key K1 containing a binary B1 into a map M having a key K2 with a binary B2 if the following conditions were met: * size(B1) >= 4294967296 * size(B2) >= 4294967296 * size(M) >= 32 * (size(B1) rem 4294967296) == (size(B2) rem 4294967296) * the first (size(B1) rem 4294967296) bytes are the same both in B1 and B2 * substituting B1 in K1 with B2 would result in a term with the same value as K2 The root cause of the bug is that the map implementation only hashed the first (X modulo 4294967296) bytes of binaries so that different binaries could get hashed to the same hash value independently of the hash seed.
2019-03-28erts: Fix bug in process_info(reductions)Sverker Eriksson
returning incorrect result as * current process might not be RUNNING in which case REDS_IN is actually used as def_arg_reg[5] * FCALLS might not have been swapped out * the SAVED_CALLS case was wrong and returned number of reds left
2019-03-28Merge branch 'john/erts/remove-destructive-bs_get_binary2/ERL-901'John Högberg
* john/erts/remove-destructive-bs_get_binary2/ERL-901: erts: Remove unsafe bs_get_binary2 optimization from loader
2019-03-27erts: Remove unsafe bs_get_binary2 optimization from loaderJohn Högberg
A load-time optimization assumed that match contexts had no further uses when a bs_get_binary2 overwrote the match context's register, and figured it would be safe to reuse the match context's memory for the resulting binary. This is no longer safe as of OTP 22, as a match context may be reused after being passed to another function.
2019-03-25Merge branch 'sverker/bug-fixing'Sverker Eriksson
* sverker/bug-fixing: erts: Fix erts_debug:set_internal_state(reds_left) erts: Fix binary_SUITE:cmp_old_impl
2019-03-25erts: Fix binary_SUITE:cmp_old_implSverker Eriksson
since DFLAG_BIG_CREATION became mandatory in 321dc6ee0241f802c940def174c0a77262e11f21.
2019-03-25erts: Yield when exiting/free process is suspended by deLukas Larsson
2019-03-25Fix tests to work better in debug emulatorLukas Larsson
2019-03-25erts: Skip heavy process tab tests in debug emuLukas Larsson
2019-03-25Revert "erts: Always run fds check after each testcase"Lukas Larsson
This reverts commit 1eb0a2c47edd036731ee1e4e4f7b5bdfc7d576fa.
2019-03-25erts: Always run fds check after each testcaseLukas Larsson
2019-03-25erts: Always stop any testnodes before testcase exitsLukas Larsson
This needs to be done in order for automatic fd leak checking to work properly.
2019-03-25erts: Add crash dumping of EXITING and FREE processesLukas Larsson
2019-03-25erts: Fix verify_nc in distribution suiteLukas Larsson
When the calling process is trapping exits a stray message will end up in the mailbox which is problematic. This change uses a monitor instead.
2019-03-25erts: Fix atom16 testcase after dist frag implLukas Larsson
2019-03-25statistics_SUITE: Make wall_clock_update/1 more tolerantBjörn Gustavsson
Be more tolerant of time deviations, to avoid that this test case fails on slow computers.
2019-03-22Merge branch 'john/erts/fix-badarg-fixed_apply'John Högberg
* john/erts/fix-badarg-fixed_apply: erts: Include argument list on badarg in fixed_apply
2019-03-21Merge 'sverker/master/enif_whereis_pid-dirty-dtor/OTP-15694'Sverker Eriksson
* sverker/master/enif_whereis_pid-dirty-dtor: erts: Add test of enif_whereis* from resource destructor erts: Simplify nif_SUITE:nif_whereis* tests erts: Schedule resource destructors always
2019-03-21Merge branch 'maint'Rickard Green
* maint: Fix reception of resume signal on process executing dirty
2019-03-21erts: Include argument list on badarg in fixed_applyJohn Högberg
2019-03-21Merge branch 'bmk/20190320/esock/test_case_adjustements'Micael Karlberg
2019-03-20Fix reception of resume signal on process executing dirtyRickard Green
If a suspend/resume signal pair was sent to a process while it was executing dirty the resume counter on the process got into an inconsistent state. This in turn could cause the process to enter a suspended state indefinitely.
2019-03-20[socket|test] Improve test case preconditionMicael Karlberg
Added a fun for precondition check run before each test case is actually run. The primary reason for this is the api_to_connect test case, which does not work for a number of platforms. Also, moved the IPv6 check into this fun (instead of an explicit skip in the test case fun) for the IPv6 test cases.
2019-03-20Merge branch 'sverker/nif-test-cuddle'Sverker Eriksson
2019-03-19Merge branch 'sverker/enif_whereis_pid-dirty-dtor'Sverker Eriksson
into sverker/master/enif_whereis_pid-dirty-dtor
2019-03-19erts: Add test of enif_whereis* from resource destructorSverker Eriksson
2019-03-19erts: Simplify nif_SUITE:nif_whereis* testsSverker Eriksson
and change some argc checks from badarg to assert.
2019-03-19erts: Schedule resource destructors alwaysSverker Eriksson
to run user NIF code in a more known execution context. Fixes problems like user calling enif_whereis_pid() in destructor which may need to release process main lock in order to lock reg_tab.
2019-03-18Merge branch 'bmk/20190312/linked_test_procs'Micael Karlberg
2019-03-15erts: Fix some racy testsSverker Eriksson
Wait for resource-holding processes to garbage collect before exiting to know destructors have been called.