-
Jérome Perrin authored
Shared parts speed up compilation time and is becoming the standard in SlapOS software installations, so it makes sense to use it in our test nodes, as it also gives one more opportunity to test this feature. erp5testnode configuration file supports a new shared_part_list option, that can be set to a \n separated list of paths to use for shared parts, following the same rules as slapos.core and slapos.recipe.cmmi (ie. the first ones are read-only and the last one is read-write). This shared_part_list option will be set in slapos.cfg used to compile both the "software for testnode" (ie. selenium-runner) and later the softwares under tests. The software under tests will also use a local directory for each test suite to install shared suite. The directory structure is now: srv/ shared/ (shared parts to install selenium runner) slapos/ soft/ (selenium-runner software) testnode/ foo/ # test suite with reference foo inst/ (partitions of tested software) shared/ (shared parts to install tested software) soft/ (tested software) and in the configuration srv/shared will be set as initial shared_part_list. When installing selenium-runner, srv/shared/ is used to write shared parts. These shared parts are never removed. When installing software under test, srv/shared/ and srv/testnode/foo/shared/ are used. If parts are found in srv/shared they are used, if they are not found, they are installed in srv/testnode/foo/shared/. In practice, this should mean that the shared parts installed by selenium-runner will be reused for all tested softwares and this should speed up initial installation of these softwares. Currently, nothing is implemented regarding removal of unused shared parts, but in our case: - srv/testnode/foo/shared/ will be removed when "foo" is removed. - srv/shared/ should be used only when installing selenium-runner. If this starts to use too much disk space, one quick and dirty workaround could be to destroy the test node instance and re-create it.
316f23c0