aboutsummaryrefslogtreecommitdiffstats
path: root/test/core_plugins.mk
AgeCommit message (Collapse)Author
2024-11-22Move templates outside the source .mk filestemplatesLoïc Hoguin
Templates now no longer use Make variables for substitution but instead replace strings with their equivalent: template_name: Corresponds to n=template_name project_name: Corresponds to $(PROJECT) or in=project_name This allows defining templates outside of Makefiles. For example an external plugin could define their templates in templates/my_template.erl and then have the following in the included Makefile: tpl_my_template = $(file < $(THIS)/templates/my_template.erl) By default the created file will be in src/template_name.erl. This can be overriden with the tplp_* variable: tplp_my_template = src/model/my_template.erl Substitution is applied both to the template contents and to its path. In addition, attempting to overwrite an existing file when creating a template will result in failure.
2024-11-13Greatly speed up test speed with -jLoïc Hoguin
The tests were waiting for the test group to finish before they could continue with the next test group. Now "core" and "all" targets directly depend on individual test cases, allowing parallel Make to get to the next tests quicker and removing 1/3rd of the total run time. make check -j8 -k 5790,16s user 1207,08s system 627% cpu 18:35,49 total make check -j8 -k 6250,13s user 1326,77s system 972% cpu 12:59,16 total
2018-12-07Autopatch: allow configuring REBAR_GIT and REBAR_COMMITLoïc Hoguin
And use this in the tests to fetch Rebar only once and then clone from the local repository. This should speed up tests a little.
2018-11-30Add test for plugins that include the word rebarLoïc Hoguin
Seems that was fixed a while ago.
2018-11-29Add the target help-plugins to document external pluginsLoïc Hoguin
It's better than extending help:: because this gets printed at the end instead of before Erlang.mk's own help.
2018-11-26Remove some non-portable "echo -e" from a couple testsLoïc Hoguin
2018-11-26Tweak a few tests so they run on all platformsLoïc Hoguin
2018-05-14Don't list test cases manually anymoreLoïc Hoguin
2018-05-14Fix use of templates from plugins in apps layoutLoïc Hoguin
2017-05-15Support plugins local to the applicationJean-Sébastien Pédron
If the application's Makefile specify either: DEP_PLUGINS = $(PROJECT) or e.g.: DEP_PLUGINS = $(PROJECT)/mk/dist.mk then load the plugin from the application instead of a dependency. This helps when you have an application with common Erlang modules and Erlang.mk plugins: your common application can load Erlang.mk plugins exactly like other applications depending on the common application.
2017-05-12Support early-stage plugins through `$(DEP_EARLY_PLUGINS)`Jean-Sébastien Pédron
Regular plugins (`$(DEP_PLUGINS)`) are loaded near the end of Erlang.mk. This is fine when you want to modify variables initialized earlier in Erlang.mk or add new targets and variables. However, it doesn't allow you to declare more dependencies because they are loaded too late for that. This commit introduces a new variable, `$(DEP_EARLY_PLUGINS)`, which can be used to list plugins meant to be loaded near the beginning of Erlang.mk. Those allow to append to the list of dependencies. They work exactly like regular plugins otherwise. The default filename loaded is `early-plugins.mk`.
2017-04-27Use --gpg-no-sign in commits in testsLoïc Hoguin
2017-04-27Add a test for plugin templates and fix an issue with themLoïc Hoguin
2017-04-25Add test for plugins test buildsDaniel Goertzen
2015-12-24Simplify cleaning in the test suiteLoïc Hoguin
Not only simpler but also faster, especially on Windows.
2015-12-15Make some rm -rf commands saferLoïc Hoguin
This way if for some unknown reason $(APP_TO_CLEAN) isn't defined, we don't delete the entire world.
2015-10-22Do not try to execute an empty shell script in core-plugins-one testJean-Sébastien Pédron
The previous code did: if `<code that prints nothing on stdout>`; then ... So the test failed but not for the good reason. The forked shell printed: /bin/sh: gmake[2]:: not found Now, both "Run 'make ...'" tests are simplified and do not rely on backticks and test(1) anymore. Either the output is inspected or the exit code is checked.
2015-09-27Replace sed -i with perl -ni in testsLoïc Hoguin
This fixes an issue on OSX where the OSX make 3.81 has a bug with multilines single quoted arguments to commands: it strips the backslash and newlines entirely. This makes it impossible to use sed -i properly. Since this is the test suite, we can instead use perl -ni, which can do the same and is available and work fine on all tested platforms.
2015-09-11Fix plugin tests under CILoïc Hoguin
Also make git commands quiet.
2015-09-11Add tests for external pluginsLoïc Hoguin