aboutsummaryrefslogtreecommitdiffstats
path: root/lib/reltool
AgeCommit message (Collapse)Author
2012-03-19[reltool] Improve error handlingSiri Hansen
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
2012-03-19[reltool] Fix rollback and undoSiri Hansen
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.
2012-03-19[reltool] Link together escript with inlined applicationSiri Hansen
OTP-9968 Make sure that inlined applications in an escript is included/excluded as the escript itself, and forbid explicit configuration of the inlined application.
2012-03-19[reltool] Fix badmatch when starting GUISiri Hansen
OTP-9792 Start of reltool GUI sometimes crashes with a badmatch in reltool_sys_win:do_init/1 because the #sys record fetched with reltool_server:get_sys/1 differs from the #sys record returned from reltool_server:start_link/1. This has been corrected. reltool_server:start_link/1 no longer retuns the #sys record.
2012-03-19[reltool] Update state and tables consistently for all types of config changesSiri Hansen
OTP-9794 OTP-9968 The main idea behind the data structure in reltool_server is that the state shall reflect what is explicitly configured, and the tables shall contain this configuration plus everything that is derived. In some cases, however, this was not the complete truth: * the application table was never read * the module table was never updated on undo * the state contained a lot more than what was explicitly configured This commit re-writes major parts of the reltool_server for the sake of unifying the way the state and tables are updated: * The list of applications in the state now only contains those applications and modules for which there are explicit settings in the configuration (given at startup or changed from the GUI) * When changing any bit of the configuration, the tables are always emptied and every part is derived again from the configuration found in the state * All configuration changes now cause a re-read of the file system, meaning that if something has changed in the file system it will be reflected in the result of the configuration change. This is the case even if no file system related configuration is changed (e.g. root dir or lib dirs) (*POSSIBLE INCOMPATIBILITY*) * Requests for applications and modules from the GUI now always read the tables, not the state * When loading a new configuration file via the GUI, the old configuration is completly scratched, and only the new is valid (*POSSIBLE INCOMPATIBILITY*) * The handling of escripts which include archives of applications is changed to always produce one #app record for the escript in addition to one for each inlined application. All modules are listed as parts of the inlined application where it belongs and not as part of the escript's #app record. This is a temporary solution which will be modified and improved. The following bugs are corrected by this commit: * Loading a config which contains an escript via the GUI menu did not produce the same #app record as when loading the same configuration at reltool start. Paths, version and label could differ. * Loading config with same escript (source) twice caused reltool to add same module twice in #app.mods * Loading config with same escript (inlined beam) twice caused reltool to fail saying module is included by two different applications * Loading config which in addition to an existing escript also adds another escript for which the name sorts before the existing one would cause reltool to fail saying "Application name clash"
2012-03-19[reltool] Add test cases for handling of escriptsSiri Hansen
OTP-9794 OTP-9968 The following test cases are added: * create_standalone_beam * create_standalone_app * create_multiple_standalone * load_config_escript_path * load_config_same_escript_source * load_config_same_escript_beam * load_config_add_escript Most of them are temporarily skipped since they re-produce known problems that will be corrected in a later commit.
2012-03-19[reltool] Add tests for sorting of applications in .rel and .script filesSiri Hansen
OTP-9794 Test cases create_release_sort and create_script_sort are added. The test are temporarily skipped since they detected quite a few bugs that will be corrected with OTP-9792. The following bug is corrected in this commit:' reltool_server did not recognize {App,InclApps} inside a 'rel' specification in the reltool config, e.g. {rel, "myrel", "1.0", [{myapp,[app2]}]}.
2012-03-19[reltool] Add more GUI testsSiri Hansen
OTP-9794 This commit adds a test suite for manual testing of the reltool GUI. By use of test_server:break/1 function, it guides the user through a set of tests in the GUI. Some minor checks are also added to the automatic GUI test, reltool_wx_SUITE.
2012-03-19[reltool] Add more testsSiri Hansen
OTP-9794 Test cases are added for the following functions: * reltool_server:get_sys * reltool_server:set_sys * reltool_server:get_status * reltool_server:gen_rel_files * reltool:eval_target_spec * reltool:get_server
2012-03-19[reltool] Add test case for reltool_server:get_modSiri Hansen
OTP-9794 This test case revealed a bug that occurs when calling reltool_server:get_mod after reltool_server:undo_config. get_mod reads from the module table (ets) and not from the reltool_server state, while undo_config only changes the state. This bug has been corrected, so undo_config now updates both state and tables (it does the same as set_sys).
2012-03-19[reltool] Ensure that tests do not try to start node if target was not createdSiri Hansen
OTP-9794 Some test cases in reltool_server_SUITE tried to create a target system and then start a node running this system. If creation of the target system failed, an attempt would still be made to start the node. This has been corrected so the test is immediately terminated if the target system could not be created.
2012-03-19[reltool] Add test of dependencies derived through calls to external appsSiri Hansen
OTP-9794 This is a test of the mechanism with which reltool_server decides which applications to include and not, based on function calls between applications. This is also the mechanism which forms the base for the application- and module dependency graphs.
2012-03-19[reltool] Add more test cases and fix bugsSiri Hansen
OTP-9794 The following test cases are added for the inteface from GUI to reltool_server: * get_config * get_apps * set_app_and_undo * set_apps_and_undo * load_config_and_undo * reset_config_and_undo * save_config The following bugs were found and corrected: * If set_apps failed, then the state of reltool_server would not be reset to how it was before the failing operation - and every operation done afterwards would also (seem to) fail. * undo_config did not work after reset_config - since faulty #sys record was stored as old_sys. * undo_config did not work after set_app (used when changing the content of an application from the GUI) - since old_sys was not set. Also old_status was not set causing possible warnings to disappear. * undo_config did not work after set_apps (used e.g. when excluding or including an application from the GUI) - since old_sys was not set. Also old_status was not set causing possible warnings to disappear.
2012-01-13Avoid creating an undefined start_phases entry when generating a releaseJuan Jose Comellas
When a release is generated and the applications in the release do not define a value for the start_phases entry of their .app files, reltool will generate the following entry in the .app files of the release: {start_phases, undefined} If this happens, when trying to create a release upgrade systools will fail because it doesn't allow the start_phases entry to be set to undefined. This patch avoids this situation by not generating a start_phases entry when it is set to undefined.
2011-12-12Prepare releaseErlang/OTP
2011-12-07Merge branch 'siri/reltool/doc-rootdir-recommendataion/OTP-9742'Siri Hansen
* siri/reltool/doc-rootdir-recommendataion/OTP-9742: Add recommendation about RootDir parameter to reltool:eval_target_spec/3
2011-12-05Fix typo in reltool(3)Tuncer Ayaz
2011-12-05Add recommendation about RootDir parameter to reltool:eval_target_spec/3Siri Hansen
2011-11-22Revert "Update version numbers for pre-release of R15"Björn-Egil Dahlberg
This reverts commit e21ff9b0b69219ab3853be7e80813156113152b7.
2011-11-22Update version numbers for pre-release of R15OTP_R15ABjörn Gustavsson
2011-10-27Remove unused */doc/src/make.dep filesBjörn Gustavsson
These dependency files was once used when building the documentation, but are no longer needed.
2011-10-04Prepare releaseOTP_R14B04Erlang/OTP
2011-07-01Merge branch 'siri/reltool/empty-radiobox/OTP-9384' into devSiri Hansen
* siri/reltool/empty-radiobox/OTP-9384: Do not add an empty radio box on the releases tab for the start_clean release
2011-06-30Do not add an empty radio box on the releases tab for the start_clean releaseSiri Hansen
First, the radiobox is changed to a listbox, since this will allow multiple selections. This is however for future use - for now a selection will only cause a printout in the erlang shell. Second, add kernel and stdlib to the list of applications in order to make the picture complete and avoid an empty list (radio) box for the start_clean release.
2011-06-22Offer to set safe configuration if reltool:start failsSiri Hansen
If a module is duplicated in the library directories visible to reltool, and the configuration does not point out which file to use, then reltool:start will fail. This commit adds a pop-up which asks if it should continue with a "safe" configuration: [{incl_cond,exclude}, {app,kernel,[{incl_cond,include}]}, {app,stdlib,[{incl_cond,include}]}, {app,sasl,[{incl_cond,include}]}]
2011-05-24Prepare releaseOTP_R14B03Erlang/OTP
2011-05-17Allow same module name in multiple applications if explicitely excludedSiri Hansen
Earlier, reltool expected all module names detected under the lib directories to have unique names. If this was not the case, the result was undefined - i.e. the beam file of the duplicated module might be included in multiple applications in the target area, or it might even be excluded from all applications. This commit adds awareness in reltool that a module might occur in multiple applications, and it is allowed as long as the module or it's application is explicitely excluded in all but one of the containing applications.
2011-03-30Merge branch 'hw/call-chmod-without-f' into devHenrik Nord
* hw/call-chmod-without-f: Call chmod without the "-f" flag Conflicts: erts/emulator/test/Makefile lib/asn1/test/Makefile lib/crypto/test/Makefile lib/debugger/test/Makefile lib/docbuilder/test/Makefile lib/edoc/test/Makefile lib/erl_interface/test/Makefile lib/inviso/test/Makefile lib/parsetools/test/Makefile lib/percept/test/Makefile lib/ssl/test/Makefile lib/syntax_tools/test/Makefile lib/test_server/test/Makefile lib/tools/test/Makefile OTP-9170
2011-03-24Merge branch 'siri/reltool/skip-xref-test-when-debug/OTP-9133' into devSiri Hansen
* siri/reltool/skip-xref-test-when-debug/OTP-9133: Skip reltool_app_SUITE:undef_funcs on debug compiled emulator
2011-03-21Allow app_file option to be keep | strip | all, as documentedSiri Hansen
This is the correction of the bug not allowing the values 'strip' or 'all' for the app_file option in reltool.
2011-03-14Prepare releaseOTP_R14B02Erlang/OTP
2011-03-14Skip reltool_app_SUITE:undef_funcs on debug compiled emulatorSiri Hansen
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-03-07Fix erroneous typesKostis Sagonas
2011-03-07Eliminate two dialyzer warningsKostis Sagonas
2011-03-06Code cleanups and simplificationsKostis Sagonas
2011-03-06Fix a bug in the calculation of circular dependenciesKostis Sagonas
While at it, applied some cleanups and code modernizations suggested by tidier.
2011-03-06Use lists:foreach/2 when the return is not neededKostis Sagonas
2011-03-06Put files alphabeticallyKostis Sagonas
2011-03-06Fix two erroneous specs of reltool.erlKostis Sagonas
The reltool module contained two seriously erroneous specs which caused bogus warnings when dialyzing reltool and some correct code of users. These were fixed (specs for start_link/1 and eval_server/3). While at it, did some tidier cleanups and some cosmetic changes.
2011-02-17Rename Suite Callback to Common Test HookLukas Larsson
2011-02-17Update and add cover spec files to work with common_testLukas Larsson
2011-02-17Update all test specsLukas Larsson
2011-02-17Fix formatting for reltoolLukas Larsson
2011-02-17Add ts_install_scb to suite/0Lukas Larsson
2011-02-17Update reltool tests to conform with common_test standardLukas Larsson
2011-02-17Remove extra end_per_testcaseLukas Larsson
2011-02-17Update all fin_per_testcase to end_per_testcase.Lukas Larsson
2011-02-17Update tests to work with ts -> ct migrations script.Lukas Larsson
2010-11-15Call chmod without the "-f" flagHolger Weiß
"-f" is a non-standard chmod option which at least SGI IRIX and HP UX do not support. As the only effect of the "-f" flag is to suppress warning messages, it can be safely omitted.