Age | Commit message (Collapse) | Author |
|
|
|
As a first step to removing the test_server application as
as its own separate application, change the inclusion of
test_server.hrl to an inclusion of ct.hrl and remove the
inclusion of test_server_line.hrl.
|
|
This is a regression of 4390e43558 in the OtpOutputStream class.
We can not call java.util.zip.DeflaterOutputStream.close() in the finally
block of the OtpOutputStream.write_compressed(OtpErlangObject, int) method.
This leads to a NullPointerException when encoding "{}" which is caused by
the DeflaterOutputStream trying to write bytes to the deflater which was
"destroyed" by calling java.util.zip.Deflater.end().
Further possibilities to call close() in the finally block are not suitable
either (see the comment in the source). This leaves no choice but to revert
the change from 4390e43558 in this class (and add an appropriate test case).
|
|
|
|
* x0id/jinterface_generic_match:
jinterface: match/bind added to OtpErlangObject
fix typo error from recent merge
OTP-12691
|
|
Adding these two methods to the OtpErlangObject abstract class makes possible
implementing of pattern matching and variable binding for all types of Erlang
terms. Particular implementations may vary and include additional classes to
define Variable placeholder objects and Bindings objects. Also Parser class
may be added to facilitate creating complex patterns and terms.
The purpose of this commit is to provide low level interface base methods
sufficient for variety of higher level pattern matching/variable binding
implementations.
OtpErlangMap class is re-designed for efficiency (it is based on HashMap now).
All changes are backward-compatible. Detailed test cases implemented.
|
|
Transport factory basic implementation added. This makes possible
creating connections between nodes using ssh channels for example.
Default transport factory based on standart Socket/ServerSocket
classes is provided. Modifications are backward compatible.
|
|
|
|
|
|
* lemenkov/use_os_getenv_2:
fix missing include
Start using os:getenv/2 fun
Introduce os:getenv/2
|
|
See #535
Signed-off-by: Peter Lemenkov <[email protected]>
|
|
For other IDEs, use these as reference. In short, the formatting
style is:
- indentation uses only spaces; each level is 4 positions
- no trailing whitespace
- mostly default Java style formatting (any difference is minor)
- always use {}
- use 'final' as much as possible
|
|
OtpInputStream and OtoOutputStream don't need closing (they are
ByteArray*Streams)
|
|
|
|
|
|
|
|
|
|
|
|
Arrays (here: md5 and freeVars) must not be compared with equals, which
is broken.
|
|
to be: 116,Arity, K1,V1,K2,V2,...,Kn,Vn
instead of: 116,Arity, K1,K2,...,Kn, V1,V2,....,Vn
We think this will be better for future internal map structures
like HAMT. Would be bad if we need to iterate twice over HAMT
in term_to_binary, one for keys and one for values.
|
|
Let Maps be tested in the suite.
|
|
The API and implementation are simplistic, like for lists and tuples,
using arrays and without any connection to java.util.Map.
|
|
|
|
* maint:
Add smoke tests
|
|
Smoke tests are meant to verify that a build of erlang has been successfull.
|
|
|
|
|
|
The test cases nc_SUITE:decompress_roundtrip and
nc_SUITE:compress_roundtrip fails on some machines with
OutOfMemoryException. This commit sets the max heap size for the jvm
to 256M in nc_SUITE in order to get around this.
|
|
|
|
|
|
In some cases when a test case fails, the erl_link_server process
(which is spawned by many test cases in jinterface_SUITE) does not
terminate. This causes the next test case to fail with a badarg as it
tries to register a new process with the same name. To avoid this,
erl_link_server, if it exists, is now killed in end_per_testcase.
Also, some compiler warnings are removed from jitu.erl.
|
|
Add quotes around classpath on windows.
|
|
* nk/jinterface_dont_compress_if_size_increased/OTP-10822:
jinterface, OtpOutputStream: add a write_compressed(object, level) method
jinterface: fix a memory leak
jinterface: new limited OutputStream implementation without the need to resize
jinterface: don't return compressed external term if bigger than uncompressed
jinterface: don't compress small erlang terms < 5 bytes
jinterface, OtpOutputStream: properly override the three write() methods to ensure our growth strategy
jinterface: fix typo in error message if encoding fails
jinterface: don't need another FilterOutputStream wrapper
|
|
Now, OtpOutputStream#write_compressed() uses the same mechanism as erts_term_to_binary() in external.c: it tries to compress the given term into a buffer of the size of the uncompressed term and if this is not possible, i.e. the compression plus headers is bigger, it uses the uncompressed external term format instead.
|
|
|
|
* sverk/r16/utf8-atoms:
erl_interface: Fix bug when transcoding atoms from and to UTF8
erl_interface: Changed erlang_char_encoding interface
erts: Testcase doing unicode atom printout with ~w
erl_interface: even more utf8 atom stuff
erts: Fix bug in analyze_utf8 causing faulty latin1 detection
Add UTF-8 node name support for epmd
workaround...
Fix merge conflict with hasse
UTF-8 atom documentation
test case
erl_interface: utf8 atoms continued
Add utf8 atom distribution test cases
atom fixes for NIFs and atom_to_binary
UTF-8 support for distribution
Implement UTF-8 atom support for jinterface
erl_interface: Enable decode of unicode atoms
stdlib: Fix printing of unicode atoms
erts: Change internal representation of atoms to utf8
erts: Refactor rename DFLAG(S)_INTERNAL_TAGS for conformity
Conflicts:
erts/emulator/beam/io.c
OTP-10753
|
|
|
|
|
|
|
|
|
|
* nk/jinterface-fix_compressed_binary:
add (de)compress roundtrip tests with larger values
fix reading compressed binary terms from Java
OTP-10505
|
|
|
|
|
|
|
|
OTP-10106
OTP-10107
|
|
|
|
|
|
|
|
|
|
|