Age | Commit message (Collapse) | Author |
|
|
|
Needed by escript and tools
|
|
* maint:
reltool: Remove export_all warning in tests
et: Remove export_all warnings in test
mnesia: Remove export_all in tests
wx: Remove export_all in example code
wx: test remove export_all
wx: Update doc, OpenGL external links
wx: Reduce Opengl docs
|
|
|
|
|
|
For applications that are explicitly included in the reltool config,
but that are not included in a 'rel' spec, dependencies in the .app
file are not followed (only xref dependencies are taken care of).
|
|
* henrik/update-copyrightyear:
update copyright-year
|
|
In c3c6182, systools was updated to add more modules to be pre-loaded
along with error_handler. That is a pure optimization.
Because of the extra modules, test cases that compared the start
scripts generated by SASL with the ones generated by Reltool
would fail.
We must implement a more elaborate way to diff the scripts.
|
|
|
|
|
|
* 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]>
|
|
This commit only changes the test. It reverts commit 710a1fa
([reltool] Adapt tests to better quoting of paths on windows) because
the commit that actually changed the quoting behaviour on windows was
moved from the maint branch to master (9633e0e win32: Fix quoting of
paths).
|
|
|
|
|
|
Add the mentioned test suites for *all* library and touched
non-library applications.
|
|
* hawk/reltool_undefined_regexp:
Add missing default value for regexps in reltool It caused a function clause in lists:sort/1:
OTP-11591
OTP-11592
|
|
It caused a function clause in lists:sort/1:
reltool_server_SUITE.erl(2512): <ERROR>
Not matching actual result was:
{error,
{function_clause,
[{lists,sort,
[[{regexp,"^priv",
{re_pattern,0,1,
<<69,82,67,80,64,0,0,0,16,8,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,93,0,12,25,27,112,27,114,27,105,27,118,84,
0,12,0>>}}|
undefined]],
[{file,"lists.erl"},{line,465}]},
{reltool_server,decode,2,[{file,"reltool_server.erl"},{line,1499}]},
{reltool_server,decode,2,[{file,"reltool_server.erl"},{line,1363}]},
{reltool_server,read_config,2,
[{file,"reltool_server.erl"},{line,1335}]},
{reltool_server,parse_options,4,
[{file,"reltool_server.erl"},{line,224}]},
{reltool_server,do_init,1,[{file,"reltool_server.erl"},{line,154}]},
{reltool_server,init,1,[{file,"reltool_server.erl"},{line,133}]},
{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,239}]}]}}
Expected { ok , _ }
|
|
|
|
|
|
|
|
Test nodes are started with erlang:open_port/2, using the -detached
option to erl. -detached causes the port returned from open_port/2 to
be closed automatically. Some test cases failed occasionally with a
badarg when attempting to close the port with erlang:port_close/1. To
avoid this the call to port_close/1 is now removed.
|
|
* siri/cuddle-with-tests:
[reltool] Clean up work dir after test
[observer] Add debug printouts in ttb_SUITE
|
|
This is to save space in daily tests.
Result of failed test cases are still saved.
|
|
|
|
A missing application directory is now classified as a warning if the
application is explicitly excluded.
|
|
The timeout of 5 minutes sometimes expired for test case
use_selected_vsn on some platforms.
|
|
* Make sure test node is terminated between each test
* Wait for expected applications to be started before continuing test
* Use ping instead of nodedown messages to check that node is down (to
avoid failure due to no flush of inbox)
|
|
reltool_server_SUITE:create_standalone and create_multiple_standalone
failed on test hosts running hipe and smp. The reason was that the
escript used in these tests explicitly disabled smp, which in turn
made the emulator spit out warnings like this:
"<HiPE (v 3.10)> Warning: not loading native code for module beam_lib:
it was compiled for an incompatible runtime system; please regenerate
native code for this runtime system"
This was returned from the escript and did not match the expected result.
To overcome this, the escript (reltool/examples/display_args) is
changed and does no longer disable smp.
|
|
|
|
In order to handle paths with space, spawn_executable is now used
instead of spawn when starting nodes with open_port/2 in
reltool_server_SUITE.
|
|
In the first traversal of library directories, reltool used only the
directory names in order to figure out application names. This would
succeed if the directory name was AppName only or AppName-AppVsn and
AppVsn consisted of integers separated by dots only. If the AppVsn has
any other format, then reltool would not find the correct application
name.
With this commit, reltool will first look for a .app file and use the
.app file name as the application name. This will allow different
formats of the version identifier in the directory name. Note that
reltool can still not sort (and select the latest) amongst version
identifiers of other format than integers separated by dots.
|
|
The rel specification now dictates the order in which included and
used applications are loaded/started by the boot file. If the
applications are not specified in the rel spec, then the order from
the .app file is used. This was a bug earlier reported on systools,
and is now also implemented in reltool.
Example:
If a .app file specified
{applications,[x,y]}
{included_applications,[b,c]}
And the reltool.config has
{rel, "myrel", "1.0", [a,y,x,c,b]}
Then the boot file will load/start y before x and c before b. Earlier
x would always be started before y and b always before c due to the
order in the .app file.
|
|
If a 'rel' spec in the reltool config does not contain all
applications that are listed as {applications,Applications} in a .app
file, then these applications are autmatically added when creating the
.rel file.
For 'included_applications', the behaviour was not the same. I.e. if a
'rel' spec in the reltool config did not contain all applications that
are listed as {included_applications,InclApplications} in a .app file,
then reltool would fail with reason "Undefined applications" when
creating the .rel file. This has been corrected, so both
'applications' and 'included_applications' are now automatically added
if not already in the 'rel' spec.
I.e. for an application 'z', if z.app contains
{applications,[stdlib,kernel,x]}
{included_applications,[y]}
then reltool configuration
{rel, "myrel", "1.0", [z]}
will cause the same .rel file as
{rel, "myrel", "1.0", [stdlib,kernel,x,y,z]}
|
|
The erl.ini file generated by reltool:install/2 faulty pointed out
$ROOT/bin as Bindir. This is now changed to $ROOT/erts-Vsn/bin. Also,
backslashes in erl.ini needed to be escaped.
|
|
According to documentation it should be allowed to set
incl_cond=include|exclude|derived, but if set to derived on module
level, reltool_server would crash. This has been corrected.
|
|
With this option reltool will create a target structure with only the
applications found in specified 'lib_dirs' (on system level) or
'lib_dir' (on app level). Erts will not be included, and no
applications found under $OTP_ROOT/lib.
|
|
OTP-10106
OTP-10107
|
|
|
|
This commit adds a normalization of the directory given with the
lib_dir parameter on application level. This will covert the path to
absolute, remove trailing slash and any occurrencies of "xxx/..".
|
|
As a way of specifying one specific version of an application, the
following configuration parameter is added on application level:
{lib_dir,Dir}, Dir = string()
This can be useful if the parent directory of the application
directory is not suitable to use as a lib dir on system level.
|
|
The new warning list did not work on Windows. It could not display
tooltips for each warning and the popup window would always disappear
behind the main system window.
Also, column width did not occur well initially in list controls.
|
|
The stdlib error has been corrected in a previous commit so the
failing test (reltool_server_SUITE:create_script_sort) can be
un-skipped.
|
|
OTP-9792
The following problems have been solved:
* reltool_target:do_merge_apps - in recursive calls to this function,
the accumulator was reverted each time causing the order of
applications listed after kernel and stdlib in the rel specification
in the configuration to sometimes be messed up.
* There are several ways to specify wich applications to include in an
application:
1) in the .app file for the including applications
2a) in the .rel file, when listing applications
2b) in the rel specification in the reltool configuration
2a (systools) and 2b (reltool) should have the same effect and
overwrite 1.
According to the documentation of systools (sasl), the default value
in 2a is an empty list. This should mean that if included
applications are not mentioned in the .rel file, then any included
application listed in the .app file will be disregarded. This is NOT
the way systools actually works. The implementation sets the default
for the .rel file to the same list as in the .app file.
Reltool earlier implemented 2b as described in the systools
documentation. However, after some discussion we decided to change
this so that reltool handles 2b in the same way as systools handles
2a since this seems more intuitive. The sasl documentation will be
altered accordingly (internal ref OTP-9980).
* If the rel specification in the reltool configuration explicitly
specified included applications to be an empty list, and the .app
file had a non-empty list, then the empty list from the rel
specification was discarded. This has been corrected so the rel
specification now, if set, always overwrites the value of
included_applications in the .app file.
* reltool would earlier add load instructions in the script/boot files
for ALL modules in the ebin directory of an application even if
mod_cond was set to app (include only modules listed in the .app
file). This has been corrected - now only modules with
#mod.is_included==true are loaded.
* reltool would earlier add start instructions in the script/boot file
for included applications. This has been corrected - included
applications shall only be loaded since the including application is
responsible for starting them.
|
|
OTP-9792
Earlier this would cause an error with reason
"Module xxx potentially included by two different applications: yyy and yyy."
This is now changed so it will only be a warning saying that the
module is duplicated in the .app file.
|
|
OTP-9967
All active warnings are now displayed in a specific warning list at
the bottom of the sys windows. Warnings do no longer cause popup
dialogs during configuration.
The reason for this is to avoid the same warning to pop up many
times. This would happen since each configuration change now causes a
fresh reading of the file system - and thus each warning would be
detected each time the configuration was changed.
reltool_manual_gui_SUITE is updated to test the new functionality.
|
|
OTP-9794
Remove some unused code from reltool test.
|
|
OTP-9794
Some escript tests in reltool_server_SUITE failed if ERL_FLAGS was set
to enable smp. The reason is that the test expected smp_support to be
false, since the argument "-smp disable" is stated in the %%!-line of
the escript. However, ERL_FLAGS will override the arguments in the
escript so the result could not be truested.
|
|
OTP-9794
Stopping configuration (throw/catch) at first error instead of
continuing through all steps and then returning the error at the
end.
Start of reltool_server will no longer succeed if the configuration
causes an error.
reltool:get_status can only return {error,Reason} in the case where
the reltool_server has terminated. In all other cases it will return
{ok,Warnings}.
Bug fix in this commit:
* warnings are no longer duplicated in pop-up or return from reltool_server
|
|
OTP-9794
Backup old configuration before starting re-configuration so rollback
is possible if configuration fails.
Store last configuration including derivates so undo does no longer
need to refresh and analyse everything from disk.
|