aboutsummaryrefslogtreecommitdiffstats
path: root/test
AgeCommit message (Collapse)Author
2015-12-15Prevent Dialyzer from running concurrently in test suiteLoïc Hoguin
We use the GNU Parallel program to create a mutex around the Dialyzer calls.
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-12-14Fix compilation of NIFs on WindowsLoïc Hoguin
Thanks to two users of the ninenines/esdl2 project, a correct way to build NIFs on Windows has been found. At the moment we require a specific compiler (MingW's gcc). Maybe we can change this in the future and allow Visual Studio and others. Some small changes have been made to the documentation, and the meaning of one configuration variable has changed to not include the extension (which is decided automatically by Erlang.mk; and configurable separately). Enjoy!
2015-12-01Test and document DialyzerLoïc Hoguin
One bug was fixed: now Erlang.mk will properly pass relevant ERLC_OPTS values to Dialyzer. One bug still exists when using multi-application repositories: dependencies are not detected automatically. We need list-deps before this can work.
2015-11-22Remove the Rabbit patches from the test suiteLoïc Hoguin
They're not needed on master anymore.
2015-11-21Merge branch 'late-autopatch' of https://github.com/rabbitmq/erlang.mkLoïc Hoguin
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-11-20Merge branch 'set-x-on-verbose-2' of https://github.com/rabbitmq/erlang.mkLoïc Hoguin
2015-11-20Add tests and document the SP variableLoïc Hoguin
People who prefer spaces instead of tabs are now covered.
2015-11-17make erlang-mk: Copy build.config after switching to $(ERLANG_MK_COMMIT)Jean-Sébastien Pédron
If the local build.config has changes compared to upstream's master branch, and $(ERLANG_MK_COMMIT) also brings changes to this file, copying the local file to the checkout before switching to $(ERLANG_MK_COMMIT) caused git-checkout(1) to abort with: error: Your local changes to the following files would be overwritten by checkout: build.config Please, commit your changes or stash them before you can switch branches. Aborting While here, fix `core-upgrade-custom-repo` test case: without switching back the alternate erlang.mk repository to its master branch, the clone always got the test-copyright branch by default, making the ERLANG_MK_COMMIT check ineffective.
2015-11-17V=2 causes `set -x` to be set on forked shellsJean-Sébastien Pédron
2015-10-27Fix small issue with c-src testsLoïc Hoguin
Main test Makefile expects "c_src" but for convenience I also allow "c-src" and use that one as the prefix for the tests.
2015-10-26Add new-nif target and related testsLoïc Hoguin
Pushing this now so I can figure out Windows.
2015-10-22Add shell chapter and testsLoïc Hoguin
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-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-10-20Rename couch package into opencouchLoïc Hoguin
Per request: https://github.com/ninenines/erlang.mk/issues/300 This commit also fixes issues with packages which have a different name than the application name.
2015-10-19Force rebuilds on Makefile/.app.src changesLoïc Hoguin
Everything will be rebuilt when the Makefile or any included Makefile (like Erlang.mk or plugins) change. Only the .app will be rebuilt when the .app.src file changes.
2015-10-19Fix creating modules from templates when using apps/ onlyLoïc Hoguin
2015-10-12Add test for and fix DTL_FULL_PATHLoïc Hoguin
2015-10-12Cleanup ErlyDTL testLoïc Hoguin
2015-10-12Merge branch 'fix-plugin-erlydtl' of https://github.com/bullno1/erlang.mkLoïc Hoguin
2015-10-12Rework package testingLoïc Hoguin
Better error reporting and can now build everything in parallel. Failed builds are kept; others are deleted. The following command builds everything and then gives a diff of what got fixed/broken since last time ("> " is newly broken, "< " is newly fixed). make packages -j 32 -k; make summary
2015-10-11Ensure that modules generated from erlydtl are listed in .app filebullno1
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-29Improve a few comments and messagesLoï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-27Fix "repetition-operator operand invalid" error in tests on OSXLoïc Hoguin
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-25Fix error messages appearing when using parse transformsLoïc Hoguin
The errors were happening in the rebar.config generation code. In addition to the fix, three tests were added: a project that uses a pt from its own code with -compile directives, a project that uses a pt from a dep with the pt set as ERLC_OPTS, and the inclusion of parse transform options in the generated rebar.config when compatibility is desired.
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