aboutsummaryrefslogtreecommitdiffstats
path: root/test
AgeCommit message (Collapse)Author
2017-05-25Cleanup the relx test suiteLoïc Hoguin
Avoid duplicating everything between Windows and other platforms.
2017-05-25Update relx up to v3.23.0Stanislav Ovchar
2017-05-16Add a test for ErlyDTL with a custom tagLoïc Hoguin
2017-05-15Also test WITHOUT when updating Erlang.mkLoïc Hoguin
2017-05-15Add tweaks and tests for the WITHOUT featureLoï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-15Add dep_fetch_lnderwinlu
2017-05-13Add a test for EDOC_SRC_DIRS and tweak the feature a bitLoïc Hoguin
2017-05-13Convert legacy cover tests and fix a few issuesLoïc Hoguin
There are no more legacy tests. Enjoy!
2017-05-12Fix the test merged in the previous commitLoïc Hoguin
2017-05-12Add test for CT on root app with sub-appsAlexey Lebedeff
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-05-12test/core_deps.mk: Wait for node in core-deps-relJean-Sébastien Pédron
When the test check the running applications in the started release, the node may not be up yet. So loop until the command returns a list of applications (instead of "Node is not running!"). This fixes some transient failures.
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
2017-04-25Fix of handling relx.config release versionKrister Svanlund
2017-04-25Stylistic changes to makedep tests2017.04.25Loïc Hoguin
2017-04-25core/erlc.mk: added src subfolders support in makedep.erlOleksiy Kebkal
2017-04-25Improve the newly added testLoïc Hoguin
2017-04-25Accumulate eunit failures in multi-appsStanislav Ovchar
2017-04-25compile apps in the right order by looking at their LOCAL_DEPSJeffrey Griffin
we also use LOCAL_DEPS at the top-level, if it exists, to determine which local apps to compile, in the interest of saving compile time for projects that have many apps and multiple release configurations
2017-04-25fix removing deps.log at toplevel when in a multi-app layoutJeffrey Griffin
`rm deps.log` was not being executed, because of 1) the ifeq around it, checking for an empty ALL_DEPS_DIRS, which i believe was a logical error; and 2) deps depended on apps, which means apps were compiled before its recipe was executed, and the `rm deps.log` would be executed after it had been written to by recursive make of the apps. the important reason to remove deps.log is so that dependencies get remade when they change. otherwise you'll get mysterious errors about missing dependencies if they need to be rebuilt, or worse, have wrong stale beam files bundled in your release. tests core-deps-apps and core-deps-apps-only now manually clean the cowlib dep and rebuild at the top-level to make sure cowlib gets rebuilt. both tests indeed fail without this fix. this attempts to fix #1 by removing the ifeq, and #2 by having deps and apps depend on deps.log, with deps.log 'built' (but actually removed) by a double-colon rule with no prerequisites (which means its recipe always be run).
2017-04-25Use $(if) instead of ifeq and add a test for RELX_TAR=0Loïc Hoguin
2017-04-10Only makedep and build asn1/xrl/mib files when necessaryLoïc Hoguin
Because we were unconditionally including the makedep file, it would be built even if the target was unrelated (like "make help"), and it would also trigger building of xrl and other files that produce Erlang code. Instead the makedep file is now included as a wildcard: if it exists it gets included, if it doesn't it's not, and if it's created in the middle of execution it gets included only then. More details on the technique can be found at http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/ A test has been added to make sure the behavior does not come back at a later time.
2017-01-12Set ASN.1 compilation options using ERLC_ASN1_OPTS2017.01.12Klas Johansson
`ERLC_ASN1_OPTS` can be used to pass compiler options when compiling ASN.1 files. By default, Erlang.mk will leave this empty, but it can be redefined in a Makefile.
2016-12-19plugins/escript.mk: Remove $(ESCRIPT_FILE) in distclean-escriptJean-Sébastien Pédron
... not $(ESCRIPT_NAME), which can be set to another value. While here, add a testcase for `make distclean`.
2016-11-29Give ebin paths when creating the PLTLoïc Hoguin
Before we had Dialyzer look for BEAM files in every subfolders of every deps. This resulted in the PLT bundling extra files and/or Dialyzer failing because some of them are not built with +debug_info, or because there are duplicates (in test logs for example). Now Dialyzer will only look in ebin/.
2016-11-26Add CT_LOGS_DIRnevar
2016-11-01Test asciidoc with more than one man sectionLoïc Hoguin
2016-10-31Switch asciidoc-manual to using AsciideckLoïc Hoguin
This is a start for moving from Python's Asciidoc to the Erlang implementation. Please report any issue with this change, I will fix everything at lightning speed!
2016-10-30Greatly improve the escript supportLoïc Hoguin
The plugin can now easily generate escripts as complex as relx or rebar/rebar3. It generates a proper structure and allows embedding extra files by extending the escript-zip target. Documentation and tests have been added.
2016-10-29Small tweak to make it easier for me to notice test failuresLoïc Hoguin
2016-10-29Fix broken test on OSXLoïc Hoguin
2016-10-28Make the relx tests work on FreeBSD/OSXLoïc Hoguin
2016-10-28Add "make relup"Loïc Hoguin
The initial documentation is a bit rough. It's getting late and I'd like to have this in sooner rather than later. :-)
2016-10-28Tweak Relx testsLoïc Hoguin
2016-10-28add tests for relx pluginderwinlu
* relx-rel + check that relx gets downloaded when relx.config exists, + check structure of built release + check that _rel directory does not get delete by 'make clean' * relx-run + build a simple release, check if it starts and stops normally * relx-rel-tar + check if RELX_OPTS are respected via supplying the 'tar' target * relx-distclean-relx + check that relx executable gets deleted * relx-distclean-relx-rel + check that _rel directory gets deleted * relx-relup + check if relup generation is possible and generated relup is working add sleeps after calls to async actions of the relx boot script
2016-10-28Use an intermediate timestamp file to know when to touch source filesJean-Sébastien Pédron
The previous approach spawned a shell for every single source files. As we disable parallel make jobs, this is very time consuming. The new approach uses an intermediate timestamp file in $(ERLANG_MK_TMP) to record the last modification of any of $(MAKEFILE_LIST) and touch all source files in one command. Then, the .app file depends on this timestamp file. We test the existence of this timestamp file: if if doesn't exist, don't touch source files, they will be built anyway. $(PROJECT).d now depends directly on $(MAKEFILE_LIST); before, this dependency was indirect through $(ERL_FILES). Also, once $(ERL_FILES) were touched, we do the same with $(PROJECT).d because there is no need to regen it because of this.
2016-10-25core/deps-tools.mk: New targets `fetch-deps` and `list-deps`Jean-Sébastien Pédron
.. to fetch and list deps recurvively. Therefore, they work on direct dependencies, dependencies' dependencies, and so on. Nothing is built with those targets. The following targets are also available to work on other kinds of dependencies: make fetch-doc-deps make fetch-rel-deps make fetch-test-deps make fetch-shell-deps make list-doc-deps make list-rel-deps make list-test-deps make list-shell-deps In all cases, they include "normal" and eg. "test" dependencies of the top-level project, then only "normal" dependencies' dependencies. It's possible to include several kinds in one go: make fetch-deps DEP_TYPES='doc test' make list-deps DEP_TYPES='doc test' As it may be difficult to use the output of `make list-*` because the list could appear after other targets output (like dependencies fetching), the list is available in files pointed by the following variables: $(ERLANG_MK_RECURSIVE_DEPS_LIST) $(ERLANG_MK_RECURSIVE_DOC_DEPS_LIST) $(ERLANG_MK_RECURSIVE_REL_DEPS_LIST) $(ERLANG_MK_RECURSIVE_TEST_DEPS_LIST) $(ERLANG_MK_RECURSIVE_SHELL_DEPS_LIST) Internally, `list-deps` is simply implemented on top of `fetch-deps`: the latter fills a sorted log with all the directories it traversed. `list-deps` finally just prints the log file to stdout. Fixes #560.
2016-10-23Support PROJECT_APP_EXTRA_KEYS to add keys to the .app fileJean-Sébastien Pédron
This allows to add standard keys which do not have a corresponding `PROJECT_` Makefile variable, as well as non-standard keys.
2016-10-21Update Copyright notices2016.10.21Loïc Hoguin
2016-10-20Add a test that included templates are relative to the originalLoïc Hoguin
2016-10-20Fix several problems with the erlydtl plugin:Jared Flatow
DTL_SUFFIX: - make sure it is actually used - add a test for it (and one combined with other options) DTL_PATH: - handle correctly with or without trailing / - don't hard-code the `doc_root` opt - the erlydtl default is better
2016-10-19Escape % in app_file templatenevar
2016-10-19Add PROJECT_ENVnevar
Fix #587
2016-10-19Cosmetic changes to previous mergeLoïc Hoguin
2016-10-19Added test for defining yecc header file.Micah Warren
2016-09-13Merge branch 'fix-dialyzer-ERLC_OPTS-filtering' of ↵Loïc Hoguin
https://github.com/rabbitmq/erlang.mk
2016-09-09Remove an unnecessary step in dialyzer-beam testLoïc Hoguin