aboutsummaryrefslogtreecommitdiffstats
path: root/test/core_deps.mk
AgeCommit message (Collapse)Author
2018-11-27Fix jobserver unavailable warningsLoïc Hoguin
When the $(MAKE) is inside an $(eval $(call ...)) then it needs to be escaped as $$(MAKE). When the $(MAKE) is inside a $(call ...) then I did not figure out a way other than passing it as an argument. When the $(MAKE) is inside many levels of $(call $(call ...)) it's easier to avoid it if at all possible, so I replaced the rebar $(MAKE) call with ./bootstrap. I confirmed it works fine on Windows as well.
2018-11-26Add test for autopatch with two Rebar projectsLoïc Hoguin
2018-11-24Add the git-subfolder fetch methodLoïc Hoguin
It clones and checkouts like the git fetch method, but does so in the Erlang.mk temporary directory. It then creates a symbolic link to the subfolder for the dependency.
2018-11-24Fix a test that used invalid application namesLoïc Hoguin
2018-11-24Move apps tests in their own file and fix a test caseLoïc Hoguin
2018-11-23Ensure apps have APPS_DIR and DEPS_DIR definedLoïc Hoguin
So they can use include files and other from other apps when they're built directly, and that they use the same deps directory.
2018-05-14Replace the imagejs test with lz4Loïc Hoguin
2018-05-14Don't list test cases manually anymoreLoïc Hoguin
2017-05-15Add dep_fetch_lnderwinlu
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-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).
2016-10-29Fix broken test on OSXLoïc Hoguin
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-07-14Build apps/* only onceKrister Svanlund
Replicating the behavior for deps/*. With refactoring from Loïc.
2016-05-17Add test case demonstrating issue 447.Daniel Goertzen
Erlc will not include_lib() apps that do not have an ebin/ directory. This test case demonstrates that.
2016-01-22Use "make edoc" in the edoc testLoïc Hoguin
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-11-21deps.mk: In dep_target, call dep_autopatch during the second evalJean-Sébastien Pédron
... not the first. dep_autopatch can be an expensive macro, in particular because it executes Erlang. So if NO_AUTOPATCH is set, it's best to avoid calling dep_autopatch as the result will be unused anyway. While here, add a test for autopatched rebar-based dependencies.
2015-10-22Add git-submodule fetch methodLoïc Hoguin
Initially submitted by Daniel White.
2015-10-22Merge branch 'fix-test-core-plugins-one' of ↵Loïc Hoguin
https://github.com/rabbitmq/erlang.mk
2015-10-22Use relative path to erlang.mk file in autopatched depsLoïc Hoguin
2015-10-22Replace "if $(MAKE) then false" by "! $(MAKE)"Jean-Sébastien Pédron
2015-10-19Fix creating modules from templates when using apps/ onlyLoïc Hoguin
2015-09-29Use ?= in APPS_DIR test, just like DEPS_DIRLoïc Hoguin
2015-09-29Add a test for SKIP_DEPSLoïc Hoguin
Also don't delete DEPS_DIR if SKIP_DEPS is set.
2015-09-29Add a test for NO_AUTOPATCH_ERLANG_MKLoïc Hoguin
2015-09-29Add tests for and fix NO_AUTOPATCHLoïc Hoguin
2015-09-29Use a deeper directory for core-deps-dir testLoïc Hoguin
2015-09-29Add support for APPS_DIRLoïc Hoguin
This changes adds Rebar-like "apps/" functionality. From this commit onward, Erlang.mk supports 4 types of repositories: - Repo with an Erlang app at root level + deps/ - Repo with an Erlang app at root level + apps/ deps/ - Repo with no app at root level + deps/ - Repo with no app at root level + apps/ deps/ Example usage: - make new-app in=webchat - make new t=gen_server n=my_chat in=webchat - make Replace new-app with new-lib to create an OTP library instead of an OTP application.
2015-09-27Improve tests' platform detectionLoïc Hoguin
Fixes a small warning printed on OSX, and don't run a specific test on FreeBSD (compiles a C library not compatible with FreeBSD).
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-26Make tests work on more systemsLoïc Hoguin
Some systems do not have subsecond file modification detection capabilities. This is the case in OSX because the HFS+ file system has 1 second resolution. This is also the case in other OSes with particular file systems or even shells. For example, the "test" command in Bash does not support subsecond file times, while the ZSH one and the /usr/bin/test on my machine does. On those systems, with Bash, find -newer will work, but not test -nt. Tests were updated to reflect this. The test Makefile runs a series of commands to determine if subsecond resolution is available. When it is not, a sleep command will be executed before relevant operations in the tests. Because the Bash shell is often the default shell for Make, and because users of ZSH may want to avoid sleeping for no reasons, a new variable was introduced: ZSH=1. When provided when running tests, the shell will be switched to ZSH, and subsecond resolution will work as expected. Tests have been fixed to work with ZSH as well. All this only applies to tests, Erlang.mk itself is so far not affected by this issue.
2015-09-24Add a test for DEPS_DIRLoïc Hoguin
2015-09-24Add tests for IGNORE_DEPSLoïc Hoguin
Fix IGNORE_DEPS not being propagated downward. Fix IGNORE_DEPS handling with autopatched Rebar projects, where the user defined value was overriden with the one from autopatching.
2015-09-24Add tests for dependency fetching orderLoïc Hoguin
2015-09-24Add tests for custom, fail (bad and unknown) and legacy fetch methodsLoïc Hoguin
Also improves the handling of the legacy fetch method. It is now enabled only for dependencies, and not for the top-level application. This should force Erlang.mk users to update their definitions.
2015-09-24Add test for the hex fetch methodLoïc Hoguin
2015-09-24Add test for the cp fetch methodLoïc Hoguin
2015-09-23Add tests for git, hg, svn fetch methodsLoïc Hoguin
Renamed dep-full to fetch-git to avoid having duplicate tests.
2015-09-23Add a test for dep_$(DEP) variablesLoïc Hoguin
2015-09-23Implement, add test for dep_$(DEP)_commit variablesLoïc Hoguin
2015-09-22Add tests for TEST_DEPSLoïc Hoguin
2015-09-22Add a test for SHELL_DEPSLoïc Hoguin
2015-09-22Disable last check of core-deps-rel under WindowsLoïc Hoguin
Releases are barely usable on Windows at this point, so this will get revisited later on when I have time to improve the extended start script. Currently it requires root rights, and it doesn't have useful commands like rpcterms.
2015-09-22Add REL_DEPS along with its testLoïc Hoguin
2015-09-22Add test for OTP_DEPSLoïc Hoguin
2015-09-21Add a test for DOC_DEPSLoïc Hoguin