aboutsummaryrefslogtreecommitdiffstats
path: root/test/core_app.mk
AgeCommit message (Collapse)Author
2018-05-14Add test with include loopStanislav Ovchar
2018-05-14Add tests include_lib tests for depsStanislav Ovchar
2018-05-14Add tests when .hrl files are in srcStanislav Ovchar
2018-05-14Add core-app-hlr test to verify recursive inculde_lib between appsStanislav Ovchar
2018-05-14Add core-app-hlr test to verify inlude_lib between appsStanislav Ovchar
2018-05-14Add core-app simple test for hlr with -include_libStanislav Ovchar
2017-04-27Use --gpg-no-sign in commits in testsLoï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-10-29Small tweak to make it easier for me to notice test failuresLoïc Hoguin
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-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-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-06-08Add a test case for custom PROJECT_MODJared Flatow
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-22Replace "if $(MAKE) then false" by "! $(MAKE)"Jean-Sébastien Pédron
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-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-18Fix test about auto adding an id key when LEGACY=1Loïc Hoguin
2015-09-18Add a test for the auto generation of id key in .app fileLoïc Hoguin
2015-09-18Test "no .app.src" by default, test legacy with LEGACY=1Loïc Hoguin
Also fixes two bugs with the new "no .app.src" method. All tests now pass with both methods. We can now test specific cases with make check c=$CASE.
2015-09-11Add a test for ERLC_EXCLUDELoïc Hoguin
2015-09-11Add another ERLC_OPTS test where we filter-out +debug_infoLoïc Hoguin
2015-09-11Add tests for ERLC_OPTSLoïc Hoguin
2015-09-10Reorganize the test suiteLoïc Hoguin
Use one file per topic, except for "uncategorizable" tests.