<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/tools/test, branch OTP-18.2</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Add test for "Fix cover output file"</title>
<updated>2015-09-10T08:17:21+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2015-09-09T12:51:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=3a9a34e581494451cc798911477f3b7bc81e3492'/>
<id>3a9a34e581494451cc798911477f3b7bc81e3492</id>
<content type='text'>
If a module includes eunit.hrl, a parse transform adds the function
test/0 on line 0 in the module.  A bug in OTP-18.0 caused
cover:analyse_to_file/1 to fail to insert cover data in the output
file when line 0 existed in the cover data table. The bug is corrected
by the commit "Fix cover output file".

This commit adds a test which checks that the bug is not introduced
again.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If a module includes eunit.hrl, a parse transform adds the function
test/0 on line 0 in the module.  A bug in OTP-18.0 caused
cover:analyse_to_file/1 to fail to insert cover data in the output
file when line 0 existed in the cover data table. The bug is corrected
by the commit "Fix cover output file".

This commit adds a test which checks that the bug is not introduced
again.
</pre>
</div>
</content>
</entry>
<entry>
<title>Change license text to APLv2</title>
<updated>2015-06-18T09:31:02+00:00</updated>
<author>
<name>Bruce Yinhe</name>
<email>bruce@erlang.org</email>
</author>
<published>2015-06-18T09:31:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=738c34d4bb8f1a3811acd00af8c6c12107f8315b'/>
<id>738c34d4bb8f1a3811acd00af8c6c12107f8315b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>cover: handle undefined module when analysing to file</title>
<updated>2015-06-10T09:44:33+00:00</updated>
<author>
<name>Péter Gömöri</name>
<email>gomoripeti@gmail.com</email>
</author>
<published>2015-05-29T17:00:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=b1012c31f38810c6754dcd4cf03f8d2bfb010506'/>
<id>b1012c31f38810c6754dcd4cf03f8d2bfb010506</id>
<content type='text'>
It is possible that not just the source but even the beam of a module
is not available when calling analyse_to_file.

For example when coverdata is imported from an old file and since then
a module was removed.

Before this fix cover:analyse_to_file/3 could possibly never return
because of a helper process crashed with error:undef and never reply
to the caller.

At the same time link the helper process to cover_server so any
further error won't let the caller waiting indefinitely.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It is possible that not just the source but even the beam of a module
is not available when calling analyse_to_file.

For example when coverdata is imported from an old file and since then
a module was removed.

Before this fix cover:analyse_to_file/3 could possibly never return
because of a helper process crashed with error:undef and never reply
to the caller.

At the same time link the helper process to cover_server so any
further error won't let the caller waiting indefinitely.
</pre>
</div>
</content>
</entry>
<entry>
<title>tools: Relax lcnt test time</title>
<updated>2015-05-21T10:24:27+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2015-05-21T10:24:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=95dcd26589bf8e88b7076d679bc253da95a6b4e3'/>
<id>95dcd26589bf8e88b7076d679bc253da95a6b4e3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[cover] Improve performance</title>
<updated>2015-02-20T11:23:16+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2015-02-12T10:41:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=ab435488ab6d90fb03a51f9c899ecaab44aaf35f'/>
<id>ab435488ab6d90fb03a51f9c899ecaab44aaf35f</id>
<content type='text'>
Add functions for cover compilation and analysis on multiple
files. This allows for more parallelisation.

All functions for cover compilation can now take a list of
modules/files.

cover:analyse/analyze and cover:analyse_to_file/analyze_to_file can be
called without the Modules arguement in order to analyse all cover
compiled and imported modules, or with a list of modules.

Also, the number of lookups in ets tables is reduced, which has also
improved the performance when analysing and resetting cover data.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add functions for cover compilation and analysis on multiple
files. This allows for more parallelisation.

All functions for cover compilation can now take a list of
modules/files.

cover:analyse/analyze and cover:analyse_to_file/analyze_to_file can be
called without the Modules arguement in order to analyse all cover
compiled and imported modules, or with a list of modules.

Also, the number of lookups in ets tables is reduced, which has also
improved the performance when analysing and resetting cover data.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix cover bug on last expressions with empty clauses</title>
<updated>2014-11-08T20:07:26+00:00</updated>
<author>
<name>José Valim</name>
<email>jose.valim@plataformatec.com.br</email>
</author>
<published>2014-10-23T11:59:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=b7740a6fe01d254d79291bbcbbc853e874eb41ef'/>
<id>b7740a6fe01d254d79291bbcbbc853e874eb41ef</id>
<content type='text'>
OTP-8188 introduced a fix for handling last expressions in
expressions like case, try and friends. However the fix did
not account that some of those expressions like receive may
have no clauses (only an after clause), leading to a function
clause error when cover compiling code with such expressions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OTP-8188 introduced a fix for handling last expressions in
expressions like case, try and friends. However the fix did
not account that some of those expressions like receive may
have no clauses (only an after clause), leading to a function
clause error when cover compiling code with such expressions.
</pre>
</div>
</content>
</entry>
<entry>
<title>tools: Add lcnt tests for new serializing</title>
<updated>2014-07-14T14:06:30+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2014-07-14T14:06:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=7a644113c11fec383365fe7a37a8a2d633afb386'/>
<id>7a644113c11fec383365fe7a37a8a2d633afb386</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace erlang:binary_to_term() Erlang wrappers</title>
<updated>2014-06-05T12:38:12+00:00</updated>
<author>
<name>Rickard Green</name>
<email>rickard@erlang.org</email>
</author>
<published>2014-05-19T16:09:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=82c048745efcb5d811ec0489858b821ef39ea387'/>
<id>82c048745efcb5d811ec0489858b821ef39ea387</id>
<content type='text'>
Replace the 'erlang:binary_to_term/1' and 'erlang:binary_to_term/2'
Erlang wrappers taking care of failure after yield with management
of this in the hidden yield BIF.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace the 'erlang:binary_to_term/1' and 'erlang:binary_to_term/2'
Erlang wrappers taking care of failure after yield with management
of this in the hidden yield BIF.
</pre>
</div>
</content>
</entry>
<entry>
<title>tools: Refactor testcase</title>
<updated>2014-04-01T15:17:31+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2014-04-01T15:10:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=b8be5e68c8c7015c97a2f62fc3830b86e7a7bc5b'/>
<id>b8be5e68c8c7015c97a2f62fc3830b86e7a7bc5b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>cover_SUITE:reconnect/1: Let the other side initiate the disconnect</title>
<updated>2014-03-06T11:06:23+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2014-03-04T11:20:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=651d8b9ab88b4bad73d37f3696b8d3cf0970a80d'/>
<id>651d8b9ab88b4bad73d37f3696b8d3cf0970a80d</id>
<content type='text'>
The reconnect/1 test starts another node and takes down the connection
to it for a while. However, it has been in observed in our daily builds
that sometimes a "spontaneous" re-connection occurs.

I think that it because of the call to rpc:cast/3 which internally
will set the group leader for the remote process to a process on
the test_server node. It seems that sometimes the group_leader/2
call will re-establish the connection. Unfortunately, I have not
been able to force this to happen by inserting delays in the rpc
module, so it it still just an hypothesis.

However, letting the other node do the disconnection does seem to fix
the problem and intuitively that should be safer way to do it because
the group_leader/2 call and the disconnection will be executed
sequentially on the same node instead of concurrently from two
different nodes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The reconnect/1 test starts another node and takes down the connection
to it for a while. However, it has been in observed in our daily builds
that sometimes a "spontaneous" re-connection occurs.

I think that it because of the call to rpc:cast/3 which internally
will set the group leader for the remote process to a process on
the test_server node. It seems that sometimes the group_leader/2
call will re-establish the connection. Unfortunately, I have not
been able to force this to happen by inserting delays in the rpc
module, so it it still just an hypothesis.

However, letting the other node do the disconnection does seem to fix
the problem and intuitively that should be safer way to do it because
the group_leader/2 call and the disconnection will be executed
sequentially on the same node instead of concurrently from two
different nodes.
</pre>
</div>
</content>
</entry>
</feed>
