aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/test
AgeCommit message (Collapse)Author
2013-11-09Add os:unsetenv/1Martin Hässler
New BIF os:unsetenv/1 which deletes an environment variable and returns 'true'. Does not change any old functionality. Calls the libc function unsetenv(3) on UNIX and SetEnvironmentVariableW(key, NULL) on Windows. The unicode support is the same as for os:getenv and os:putenv.
2013-10-16Merge branch 'sverk/time-consistency-test' into maintSverker Eriksson
* sverk/time-consistency-test: erts: Fix time_SUITE:consistency to work over turn of the month
2013-10-15Merge branch 'rickard-sverker/supercarrier/OTP-11149' into maintSverker Eriksson
* rickard-sverker/supercarrier/OTP-11149: (29 commits) erts: Add test case for erts_mmap erts: Add mutex to init_atoms in erts_mmap.c erts: Fix lock violation for init_atoms in erl_mmap.c erts: Fix misc minor bugs in supercarrier initialization erts: Add erts_mmap stats erts: Add erts_bld_tupleX macros erts: Rename erts_bld_atom_uint_2tup_list to *_uword_* erts: Fix bug in lookup_free_seg erts: Fix race bug in erts_munmap erts: Add HARD_DBG_MSEG erts: Refactor rbt_insert in erl_mmap erts: erts_mmap improved free seg desc management erts: Add documentation for +MMsc* system flags erts: Allow page aligned erts_munmap() erts: Sort tree in super aligned sizes (SA_SZ_ADDR_ORDER) erts: Fix ASSERT bug and void* arithmetics erts: Add mmap argument to erts_debug:get_internal_state erts: Improve erts_mmap out of free descriptor management erts: Cleanup erl_mmap erts: Add __func__ to ERTS_ASSERT macro ...
2013-10-14Merge branch 'fenollp/treewide_remove_unexpected_0xff/OTP-11323' into maintFredrik Gustafsson
* fenollp/treewide_remove_unexpected_0xff/OTP-11323: Remove ^L characters hidden randomly in the code. Not those used in text files as delimiters.
2013-10-10Add bsr test data showing bug when shifting large numbersLars Hesel Christensen
Add test data demonstrating that bsr is broken when shifting a large number a huge number of bits to the right.
2013-10-03erts: Add test case for erts_mmapSverker Eriksson
2013-10-01erts: Fix time_SUITE:consistency to work over turn of the monthSverker Eriksson
2013-09-24add system_info(ets_limit)Steve Vinoski
Add system_info(ets_limit) to provide a way to retrieve the runtime's maximum number of ETS tables. Add tests and documentation for it too. Also repair the alphabetical order of system_info/1 argument descriptions in the documentation and in the erlang.erl clauses. Add new preloaded erlang.erl due to that change. Also ensure all system_info/1 clauses are represented in the erlang.xml source documentation -- a couple had been inadvertently dropped in previous commits when other clauses were added.
2013-09-12Remove ^L characters hidden randomly in the code. Not those used in text ↵Pierre Fenoll
files as delimiters. While working on a tool that processes Erlang code and testing it against this repo, I found out about those little sneaky 0xff. I thought it may be of help to other people build such tools to remove non-conforming-to-standard characters.
2013-09-09Fix incorrect values returned by integer_to_binary/2Juan Jose Comellas
When integer_to_binary/2 receives 0 or a negative number as an argument with a base that is different from 10, it will return incorrect values (<<>> in the case of 0) or it will crash (with negative numbers). This commit fixes these problems and adds tests to cover these cases.
2013-08-29add erl option to set schedulers by percentagesSteve Vinoski
For applications where measurements show enhanced performance from the use of a non-default number of emulator scheduler threads, having to accurately set the right number of scheduler threads across multiple hosts each with different numbers of logical processors is difficult because the erl +S option requires absolute numbers of scheduler threads and scheduler threads online to be specified. To address this issue, add a +SP option to erl, similar to the existing +S option but allowing the number of scheduler threads and scheduler threads online to be set as percentages of logical processors configured and logical processors available, respectively. For example, "+SP 50:25" sets the number of scheduler threads to 50% of the logical processors configured, and the number of scheduler threads online to 25% of the logical processors available. The +SP option also interacts with any settings specified with the +S option, such that the combination of options "+S 4:4 +SP 50:50" (in either order) results in 2 scheduler threads and 2 scheduler threads online. Add documentation for the +SP option. Add tests for the +SP option to scheduler_SUITE. Add tests and documentation for two existing features of the +S option: +S 0:0 resets the scheduler thread count and scheduler threads online count to their defaults, and specifying negative numbers for +S results in those values being subtracted from the default values for the host.
2013-08-23Create better distribution of files over async threadsPatrik Nyblom
The actual port id is used to create a key from the pointer value which is the ErlDrvPort. To do this a new driver api function driver_async_port_key is added and the driver API minor version is updated. The documentation is updated and the faulty description of how to spread ports over async threads is updated to use the new API. Testcase also added.
2013-08-12Merge branch 'lukas/erts/match_spec_test_silent/OTP-11232' into maintLukas Larsson
* lukas/erts/match_spec_test_silent/OTP-11232: erts: Do not enable TRACE_SILENT when testing a ms
2013-08-08erts: Do not enable TRACE_SILENT when testing a msLukas Larsson
2013-08-05Add smoke testsLukas Larsson
Smoke tests are meant to verify that a build of erlang has been successfull.
2013-07-15tests: Relax system_profile_SUITE scheduler testBjörn-Egil Dahlberg
2013-07-15tests: Refactor away ?line macroBjörn-Egil Dahlberg
2013-07-15tests: Relax receive_SUITE time constraintBjörn-Egil Dahlberg
2013-07-12Merge branch 'rickard/test_case_fixes' into maintRickard Green
* rickard/test_case_fixes: Conditionally skip process_SUITE tests that consume large amount of memory
2013-07-11Conditionally skip process_SUITE tests that consume large amount of memoryRickard Green
2013-07-11Merge branch 'jw/fix-float-middle-endian/OTP-11201' into maintFredrik Gustafsson
* jw/fix-float-middle-endian/OTP-11201: Fix binary construction on floating point middle-endian machines Fix binary matching on floating point middle-endian machines Fix erlang:phash2() on floating point middle-endian machines Fix external term format BIFs on floating point middle-endian machines
2013-07-10Merge branch 'rickard/info/OTP-11196' into maintRickard Green
* rickard/info/OTP-11196: Add test cases for native atomics and jump table Refuse to build SMP runtime by default without native atomics Make information about use of jump table available via system_info BIF Make ethread library information available via system_info BIF Make emulator arguments available via the system_info BIF
2013-07-10Add test cases for native atomics and jump tableRickard Green
2013-06-20Merge branch 'sverk/aoffcbf' into maintSverker Eriksson
* sverk/aoffcbf: erts: Make aoffcbf default when migration is enabled erts: Add new allocator strategy aoffcbf OTP-11174
2013-06-19erts: Add new allocator strategy aoffcbfSverker Eriksson
with better performance than aoffcaobf as we don't have to rearrange the search tree when there are blocks of equal size.
2013-06-14Fix binary construction on floating point middle-endian machinesJohannes Weißl
This complements 933e701 (OTP-10209). Without this patch the test cases "in_guard/1" and "coerce_to_float/1" in bs_construct_SUITE fail. The added lines in bs_construct_SUITE cover all branches that were not covered before (small and big numbers if BIT_OFFSET(erts_bin_offset) != 0).
2013-06-14Fix binary matching on floating point middle-endian machinesJohannes Weißl
This complements 933e701 (OTP-10209). Without this patch the test case "bs_match_misc_SUITE:t_float/1" fails. Simple error example: 1> <<_,_,_,_,_,_,_,_>> = <<1.25/float>>. <<63,244,0,0,0,0,0,0>> 2> <<1.25/float>> = <<63,244,0,0,0,0,0,0>>. ** exception error: no match of right hand side value <<63,244,0,0,0,0,0,0>> The additional test case is added because in a former version of this patch the ERTS_FP_ERROR_THOROUGH check for NaN/infinity was mistakenly applied on the still word-switched double.
2013-06-14Fix external term format BIFs on floating point middle-endian machinesJohannes Weißl
This complements 933e701 (OTP-10209). Simple error example: 1> <<131,70,63,240,0,0,0,0,0,0>> = term_to_binary(1.0, [{minor_version,1}]). ** exception error: no match of right hand side value <<131,70,0,0,0,0,63,240,0,0>> 2> 1.0 = binary_to_term(<<131,70,63,240,0,0,0,0,0,0>>). ** exception error: no match of right hand side value 5.299808824e-315 But roundtrip always works: 3> 1.0 = binary_to_term(term_to_binary(1.0, [{minor_version,1}])). 1.0
2013-06-12Update copyright yearsBjörn-Egil Dahlberg
2013-06-11Merge branch 'pan/happi/yield_in_term_to_binary' into maintOTP_R16B01_RC1Patrik Nyblom
* pan/happi/yield_in_term_to_binary: Add testcase to stress extra_root term_to_binary: Remove debug code and set production trap levels Teach erl_gc:offset_rootset about extra_root Teach external.c to handle reallocs before compression Make all steps ofterm_to_binary work in chunks and yield Make term_to_binary yield (trap). OTP-11163
2013-06-11Add testcase to stress extra_rootPatrik Nyblom
2013-06-10Merge branch 'sverk/darwin-unlimited-select' into maintSverker Eriksson
* sverk/darwin-unlimited-select: erts: Fix dynamic select for darwin erts: Refactor unlimited select patch erts: Fix bug in unlimited fd_set patch Use _DARWIN_UNLIMITED_SELECT in erl_poll
2013-06-05Merge branch 'pan/r16b01/system_monitor_long_schedule/OTP-11067' into maintPatrik Nyblom
* pan/r16b01/system_monitor_long_schedule/OTP-11067: Minor spelling correction Add system_monitor of long_schedule
2013-06-04Merge branch 'rickard-sverker/carrier-migration/OTP-10279' into maintRickard Green
* rickard-sverker/carrier-migration/OTP-10279: erts: Document the +M<S>acul command line argument erts: Carrier pool information in allocator information erts: Use carrier pool for migration of carriers erts: Implement test case for carrier pool erts: Implement carrier pool erts: Fix type errors in info functions erts: Use Uint64 for call counts erts: Fix failing testcase alloc_SUITE:rbtree erts: Rename allocator aoffcbf to aoffcaobf erts: Remove unnecessary flag arguments in allocators erts: Remove SBMBC allocator erts: Add test for add_mbc and remove_mbc callbacks erts: Fix deallocation in removed carrier erts: Change naive list to rb-tree of carriers in AOFF allocator erts: Prepare aoff allocator for carrier migration erts: Make carrier header sizes customizable erts: Add "bestfit within carrier" for aoff allocator (aoffcbf)
2013-06-04erts: Implement test case for carrier poolRickard Green
2013-06-03erts: Fix failing testcase alloc_SUITE:rbtreeSverker Eriksson
2013-06-03Merge branch 'lukas/r16b01/testcase-fixes/OTP-11138' into maintLukas Larsson
* lukas/r16b01/testcase-fixes/OTP-11138: Do not fail if there is no variables file Run iter max ports on a seperate vm with smaller port table Set max ports for slave node Decrease sleep timer
2013-06-03erts: Rename allocator aoffcbf to aoffcaobfSverker Eriksson
and add documentation in erts_alloc
2013-06-03erts: Remove SBMBC allocatorSverker Eriksson
2013-06-03erts: Add test for add_mbc and remove_mbc callbacksSverker Eriksson
2013-06-03erts: Prepare aoff allocator for carrier migrationSverker Eriksson
by putting blocks from different carrier into separate search trees. Carriers are currently organized in a naive linked list by address order.
2013-06-03erts: Add "bestfit within carrier" for aoff allocator (aoffcbf)Sverker Eriksson
2013-05-30Merge branch 'rickard/ptab-id-alloc/OTP-11077' into maintRickard Green
* rickard/ptab-id-alloc/OTP-11077: Introduce a better id allocation algorithm for PTabs
2013-05-22Merge branch 'sverk/win64-fixes' into maintSverker Eriksson
* sverk/win64-fixes: erts: Change some more 'long' to pointer sized int (ErlDrvUInt) erts: Fix crash in nif_SUITE for win64 erts: Fix assert in isdigit for negative characters
2013-05-17Introduce a better id allocation algorithm for PTabsRickard Green
2013-05-16Merge branch 'rickard/nosuspend/OTP-11076' into maintRickard Green
* rickard/nosuspend/OTP-11076: Only verify not busy for erlang:send(Port, Msg, [nosuspend]) until scheduled
2013-05-12Use _DARWIN_UNLIMITED_SELECT in erl_pollAnthony Ramine
This allows erl_poll to select() on file descriptors greater than FD_SETSIZE (1024) on Darwin. The fd sets are manually (re)allocated and freed.
2013-05-06Only verify not busy for erlang:send(Port, Msg, [nosuspend]) until scheduledRickard Green
2013-05-06erts: Change some more 'long' to pointer sized int (ErlDrvUInt)Sverker Eriksson
2013-05-03erts: Fix crash in nif_SUITE for win64Sverker Eriksson
'long' is not pointer sized on win64