aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2013-10-07Merge branch 'sv-socket-active-n'Lukas Larsson
OTP-11368 * sv-socket-active-n: Update preloaded add {active,N} socket option for TCP, UDP, and SCTP
2013-09-30Merge branch 'maint'Fredrik Gustafsson
2013-09-30Merge branch 'maint-r16' into maintFredrik Gustafsson
Conflicts: erts/vsn.mk
2013-09-30Merge branch 'maint'Fredrik Gustafsson
2013-09-30Merge branch 'msassak/empty-pattern-badarg/OTP-11350' into maintFredrik Gustafsson
* msassak/empty-pattern-badarg/OTP-11350: stdlib: extended binary_module_SUITE to assure badarg for OTP-11350 Check all pattern arguments passed to binary:matches/2
2013-09-30Merge branch 'maint'Lukas Larsson
* maint: Update preloaded add system_info(ets_limit) Conflicts: erts/preloaded/ebin/erlang.beam
2013-09-30Merge branch 'sv/system_info_max_ets' into maintLukas Larsson
OTP-11362 * sv/system_info_max_ets: Update preloaded add system_info(ets_limit)
2013-09-30Merge branch 'maint'Björn Gustavsson
* maint: Teach the ASN.1 compiler the no_ok_wrapper option Optimize the generated decode/2 function
2013-09-27Prepare releaseErlang/OTP
2013-09-27Merge branch 'rickard/aligned-sys_alloc-carriers_maint/OTP-11318' into maint-r16Erlang/OTP
* rickard/aligned-sys_alloc-carriers_maint/OTP-11318: Implement platform specific aligned sys_alloc and use when supported
2013-09-27Teach the ASN.1 compiler the no_ok_wrapper optionBjörn Gustavsson
Add the no_ok_wrapper option so that the generated M:encode/2 and M:decode/2 functions will not wrap a successful return value in an {ok,...} tuple. Errors will cause exceptions. Eliminating the wrapping tuple allows simpler nesting of calls.
2013-09-27Optimize the generated decode/2 functionBjörn Gustavsson
Use 'try' instead of 'catch', and don't match anything that cannot actually be returned from the generated encoding code.
2013-09-27Merge branch 'maint'Björn Gustavsson
* maint: (24 commits) No longer compile the X420 specs for plain BER Combine the testSeqIndefinite/1 and testSetIndefinite/1 test cases Remove asn1_wrapper Eliminate the use of asn1_wrapper Simplify tests of CHOICE with OPTIONAL asn1_test_lib: Add roundtrip functions and use them everywhere Makefile: Release Emakefile to ensure warnings are treated as errors Don't allow unused exported functions in test case helpers Move out specific tests from asn1_test_lib testMegaco: Remove unused exported function msg11/0 ASN.1 tests: Don't export functions that are only locally called Remove unused pem_performance.erl file asn1_SUITE: Reinstate test of sub-constraint ASN.1 tests: Remove unused choice_extension.erl Remove unused compile() functions asn1_test_lib: Remove unnecessary loading of a compiled ASN.1 spec Slightly clean up testX420 asn1_SUITE: Combine most tests that use External.asn1 asn1ct_gen: Clean up process dictionary after generating asn1ct_parser2: Clean the process dictionary after parsing ...
2013-09-27Merge branch 'bjorn/asn1/clean-up-tests' into maintBjörn Gustavsson
* bjorn/asn1/clean-up-tests: (24 commits) No longer compile the X420 specs for plain BER Combine the testSeqIndefinite/1 and testSetIndefinite/1 test cases Remove asn1_wrapper Eliminate the use of asn1_wrapper Simplify tests of CHOICE with OPTIONAL asn1_test_lib: Add roundtrip functions and use them everywhere Makefile: Release Emakefile to ensure warnings are treated as errors Don't allow unused exported functions in test case helpers Move out specific tests from asn1_test_lib testMegaco: Remove unused exported function msg11/0 ASN.1 tests: Don't export functions that are only locally called Remove unused pem_performance.erl file asn1_SUITE: Reinstate test of sub-constraint ASN.1 tests: Remove unused choice_extension.erl Remove unused compile() functions asn1_test_lib: Remove unnecessary loading of a compiled ASN.1 spec Slightly clean up testX420 asn1_SUITE: Combine most tests that use External.asn1 asn1ct_gen: Clean up process dictionary after generating asn1ct_parser2: Clean the process dictionary after parsing ...
2013-09-25Merge branch 'rickard/aligned-sys_alloc-carriers/OTP-11318' into ↵Rickard Green
rickard/aligned-sys_alloc-carriers_maint/OTP-11318 Conflicts: erts/emulator/beam/erl_alloc.c erts/emulator/beam/erl_alloc_util.c erts/emulator/beam/erl_alloc_util.h
2013-09-25Implement platform specific aligned sys_alloc and use when supportedRickard Green
erts_sys_aligned_alloc() is currently implemented using posix_memalign if it exist, or using _aligned_malloc on Windows. If erts_sys_aligned_alloc() exist allocators will create sys_alloc carriers similar to how this was done pre-R16.
2013-09-25Update primary bootstrapFredrik Gustafsson
2013-09-25Merge branch 'nox/lift-after/OTP-11267'Fredrik Gustafsson
* nox/lift-after/OTP-11267: Lift 'after' blocks to zeroary functions
2013-09-25stdlib: extended binary_module_SUITE to assure badarg for OTP-11350Fredrik Gustafsson
2013-09-24Merge branch 'maint'Fredrik Gustafsson
2013-09-24Merge branch 'fredrik/update_versions_R16B03' into maintFredrik Gustafsson
* fredrik/update_versions_R16B03: Update version numbers for R16B03 development
2013-09-24Update version numbers for R16B03 developmentFredrik Gustafsson
2013-09-24Update preloadedLukas Larsson
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-24Merge branch 'maint'Fredrik Gustafsson
2013-09-24Merge branch 'lewellyn/nosyslog/OTP-11349' into maintFredrik Gustafsson
* lewellyn/nosyslog/OTP-11349: Define LOG_ERR for systems without syslog.h Fix syslog defines
2013-09-23Update preloadedLukas Larsson
2013-09-23add {active,N} socket option for TCP, UDP, and SCTPSteve Vinoski
Add the {active,N} socket option, where N is an integer in the range -32768..32767, to allow a caller to specify the number of data messages to be delivered to the controlling process. Once the socket's delivered message count either reaches 0 or is explicitly set to 0 with inet:setopts/2 or by including {active,0} as an option when the socket is created, the socket transitions to passive ({active, false}) mode and the socket's controlling process receives a message to inform it of the transition. TCP sockets receive {tcp_passive,Socket}, UDP sockets receive {udp_passive,Socket} and SCTP sockets receive {sctp_passive,Socket}. The socket's delivered message counter defaults to 0, but it can be set using {active,N} via any gen_tcp, gen_udp, or gen_sctp function that takes socket options as arguments, or via inet:setopts/2. New N values are added to the socket's current counter value, and negative numbers can be used to reduce the counter value. Specifying a number that would cause the socket's counter value to go above 32767 causes an einval error. If a negative number is specified such that the counter value would become negative, the socket's counter value is set to 0 and the socket transitions to passive mode. If the counter value is already 0 and inet:setopts(Socket, [{active,0}]) is specified, the counter value remains at 0 but the appropriate passive mode transition message is generated for the socket. This commit contains a modified preloaded prim_inet.beam due to changes in prim_inet.erl. Add tests for {active,N} mode for TCP, UDP, and SCTP sockets. Add documentation for {active,N} mode for inet, gen_tcp, gen_udp, and gen_sctp.
2013-09-20Check all pattern arguments passed to binary:matches/2Mike Sassak
Including an empty binary as one of multiple patterns passed to binary:matches/2 would crash BEAM with: "Cannot reallocate 1342177280 bytes of memory (of type "tmp")". This ensures each pattern is valid before trying to match.
2013-09-20Merge branch 'bjorn/erts/erlc-rewrite/OTP-11248'Björn Gustavsson
* bjorn/erts/erlc-rewrite/OTP-11248: Teach erlc to handle UTF-8 file names
2013-09-19Teach erlc to handle UTF-8 file namesBjörn Gustavsson
The 'erlc' program passes options to the 'erl' program using the '-s' option. The '-s' option causes all options to be converted to atoms, which implies that UTF-8 file names may not be given on the command line. We could solve just the UTF-8 problem by using '-run' and change the erl_compile module to expect strings instead of atoms, but since that is an incompatible change, we should take the opportunity to make more incompatible changes while we are at it. Specifically, when 'erlc' was first written, there was no way to pass command line arguments starting with '-' to Erlang, so 'erlc' did all parsing of arguments and translated options to atoms starting with a '@' character (for example, -I was translated to @i). Since then, the '-extra' option has been introduced which allows us to pass anything to Erlang at the end of the command line. Therefore, while at it, do the minimum of necessary command line parsing in the 'erlc' program (e.g. the '-smp' option), passing the command line essentially unchanged to 'erl' using the '-extra' option, and rewrite the option parsing in Erlang.
2013-09-18No longer compile the X420 specs for plain BERBjörn Gustavsson
We used to compile the X420 specs for both DER and PER, but 9ec0a0ba changed that to compile for DER and plain BER (probably accidentally). Since the X420 suite contains 99 source files and compilations takes more than 40 seconds on my computer for one backend, we only want to do compilations that are likely to find bugs. Compiling with the BER backend after having compiled for the DER backend is very unlikely to detect any bugs. Compiling for PER (as well as DER) is slightly more likely to expose bugs, but I don't think it is worth the extra running time for the test suite.
2013-09-18Combine the testSeqIndefinite/1 and testSetIndefinite/1 test casesBjörn Gustavsson
They use the same ASN.1 spec.
2013-09-18Remove asn1_wrapperBjörn Gustavsson
2013-09-18Eliminate the use of asn1_wrapperBjörn Gustavsson
The asn1_wrapper made some sense when encode functions could either produce a list or a binary, depending on the backend. Now encode functions always produce a binary. To improve readbility of the test suites, eliminate the asn1_wrapper functions by replacing them with calls to one of the roundtrip functions in asn1_test_lib. When it is not possible to use the roundtrip functions, call the module in question directly. While at it, also remove ?line macros that are near to the touched code and use asn1_test_lib:hex_to_bin/1 instead of home-brewn hex conversion routines.
2013-09-18Simplify tests of CHOICE with OPTIONALBjörn Gustavsson
Test ChoOptional and ChoOptionalImplicitTag with the same test code and data.
2013-09-18asn1_test_lib: Add roundtrip functions and use them everywhereBjörn Gustavsson
Even if the roundtrip functions are very simply, putting them here makes it possible to change its behavior in one place (e.g. if we are to change encode and decode not to wrap the result in a ok tuple in some future release).
2013-09-18Makefile: Release Emakefile to ensure warnings are treated as errorsBjörn Gustavsson
The generated Emakefile was not copied when releasing the test suites, which meant that the suites were compiled with default options (without the 'warnings_as_errors' option in the generated Emakefile). While at it, eliminate left-over dependecies.
2013-09-18Don't allow unused exported functions in test case helpersBjörn Gustavsson
To keep the test case clean, add an xref test case to ensure that there are no unused functions in the any of the test case helper modules. Eliminate 4 functions that were exported just so that timer:tc/3 could be used (use timer:tc/1 with a fun instead).
2013-09-18Move out specific tests from asn1_test_libBjörn Gustavsson
asn1_test_lib is supposed to be a general-purpose helper module for test cases. Move all specific test cases into asn1_SUITE.
2013-09-18testMegaco: Remove unused exported function msg11/0Björn Gustavsson
Also remove records, defines, and request/4 that were only used by msg11/0.
2013-09-18ASN.1 tests: Don't export functions that are only locally calledBjörn Gustavsson
2013-09-18Remove unused pem_performance.erl fileBjörn Gustavsson
The module tests the performance of the OTP-PUB-KEY module in the public_key application, so it is off-topic and should not be reinstated.
2013-09-18asn1_SUITE: Reinstate test of sub-constraintBjörn Gustavsson
A test of sub-constraints for PER/UPER was lost in commit 9ec0a0babace.
2013-09-18ASN.1 tests: Remove unused choice_extension.erlBjörn Gustavsson
The testChoExtension module tests the same thing (and more) as choice_extension.erl.
2013-09-18Remove unused compile() functionsBjörn Gustavsson
2013-09-18asn1_test_lib: Remove unnecessary loading of a compiled ASN.1 specBjörn Gustavsson
asn1ct:compile/2 calls c:c/2 to invoke the compiler and to load the compiled code. That means that there is no need load the module after having invoked the ASN.1 compiler. To make sure that we'll notice if that behavior changes in the future, extend the rtUI/1 test case to verify that the loaded module has the correct encoding rule (if asn1ct:compile/2 would fail to reload the module, the previous encoding rule would be returned). While at it, it also makes sense to test calling M:bit_string_format/0 to ensure that it continues working.
2013-09-18Slightly clean up testX420Björn Gustavsson
2013-09-18asn1_SUITE: Combine most tests that use External.asn1Björn Gustavsson
By combining most tests that use External.asn, we will only need to compile that spec once instead of 11 times. While combining the test cases, make sure to remove the redundant code in testPrimExternal/1 that tests primitive strings in exactly the same way as testPrimString/1. Removing the redundant code shaves off a few seconds of testing time. Keep testSeqExtension/1 as a separate test case, since it is a complicated test case that does hairy stuff to the source files.
2013-09-18asn1ct_gen: Clean up process dictionary after generatingBjörn Gustavsson
Cleanliness.