Commit graph

797 commits

Author SHA1 Message Date
Tuncer Ayaz
e0bc55db33 Use R15B02 EUnit {test,M,F} primitive as suggested by Richard Carlsson 2012-09-06 00:50:46 +02:00
joewilliams
29492dd0e8 Correctly use release_handler:create_RELEASES 2012-09-04 18:43:22 +02:00
Ryan Zezeski
e7be6874d7 Pass compile flags to protobuffs
By default protobuffs doesn't create beams with debug info.  This
causes issues when running dialyzer which requires debug info.  Read
the `erl_opts` config and pass it down to protobuffs compiler.
2012-09-03 12:10:14 +02:00
Tuncer Ayaz
d22a2bb81f rebar_ct: ?DEBUG log ct_run command 2012-09-03 11:40:53 +02:00
Tuncer Ayaz
f460eb14bc rebar_ct: do not export variable from case 2012-09-02 21:30:59 +02:00
Tuncer Ayaz
f0bf3503cb Update port_env for Mountain Lion (Noticed-by: Tony Rogvall) 2012-09-01 11:13:34 +02:00
Tuncer Ayaz
f22337b68f Comment eunit_test:function_wrapper/2 TODO 2012-09-01 11:11:24 +02:00
Tuncer Ayaz
8aadd65a34 rebar_eunit: adapt to R15B02 changes 2012-08-31 22:07:42 +02:00
Tuncer Ayaz
3cc8fb2855 rebar_reltool: remove blank lines 2012-08-30 22:20:02 +02:00
Dmitriy Kargapolov
9c7259d8a2 Add dynamic .script support for overlay vars file 2012-08-30 22:18:09 +02:00
Markus Näsman
2d139ea6c2 Stop cover server between eunit runs for speed
Cover gets slower and slower for each application. This is due to the
cover_server internal state. Stopping the cover server between
eunit+cover runs, emptying the cover_server state, gives a ~5-6x speed
improvement when analyzing many Erlang modules. Stopping the cover
server replaces the earlier practice of doing a cover:reset before each
run. On a project consisting of 62 dependencies with a total of 1866
Erlang modules the running time of rebar eunit decreased from ~20
minutes to ~3 minutes.
2012-08-30 17:27:43 +02:00
Tuncer Ayaz
ff8337f9b0 Fix whitespace error in rebar_eunit 2012-08-22 19:17:17 +02:00
Tuncer Ayaz
f528c397f8 Fix whitespace errors in rebar_ct and rebar_eunit 2012-08-22 19:14:35 +02:00
Tuncer Ayaz
3c0d97bf2c Cleanup and comment 2012-08-20 13:55:55 +02:00
Roberto Ostinelli
60516dc406 Fix tests= option not running generator tests 2012-08-20 12:58:34 +02:00
Roberto Ostinelli
fa6618f2b4 Add experimental tests= filter without eunit suites 2012-08-20 12:58:31 +02:00
Tuncer Ayaz
9dd8e7f2ee Fix #295 (consider *_SUITE.beam in ct skip check) 2012-08-19 15:25:13 +02:00
Tuncer Ayaz
6c1694980c Fix whitespace error 2012-08-18 17:19:42 +02:00
Joe DeVivo
991e2ce8e1 Add erlc override from erl_opts: outdir 2012-08-18 17:19:23 +02:00
Tuncer Ayaz
fc7df16e31 Clarify comments 2012-08-12 14:03:44 +02:00
Tuncer Ayaz
bdee72fae8 rebar_eunit: add tests= TODO item 2012-08-11 23:10:06 +02:00
Roberto Ostinelli
69dc9ec933 Add experimental tests= filter for eunit suites 2012-08-11 23:08:21 +02:00
Tuncer Ayaz
563607bc02 Change escript zip archive creation as suggested by Siri Hansen
1. manually insert directory entries to work around issues fixed in
   R15B02 erl_prim_loader
2. put the escript archive's beams in appname/appname/ebin

Tested with R13B03 and R15B01.
2012-08-11 18:47:25 +02:00
Tuncer Ayaz
795f9345a7 New upstream mustache.erl 2012-08-11 15:04:09 +02:00
Tuncer Ayaz
5d6b82390f rebar_eunit: fix typo 2012-08-10 16:05:00 +02:00
Tuncer Ayaz
8f3873e061 rebar_utils: refactor get_experimental and get_deprecated funs 2012-08-10 14:28:42 +02:00
Tuncer Ayaz
75a6de27e7 rebar_qc: ensure_dir/1 the same way as in rebar_eunit 2012-08-09 18:44:08 +02:00
Tuncer Ayaz
e47d643ea3 Use separate dirs for eunit and qc 2012-08-09 18:37:26 +02:00
Tuncer Ayaz
b5e0d6d5db Fix rebar_core:restore_code_path (Reported-by: Siri Hansen)
Use erl_prim_loader:read_file_info instead of filelib:is_file to make
sure paths inside the escript archive are handled properly.
2012-08-09 16:15:10 +02:00
Tuncer Ayaz
16091f9934 rebar_utils: fix whitespace error 2012-08-09 16:14:42 +02:00
Tuncer Ayaz
99b645e4a3 Separate eunit and qc compile options 2012-08-09 14:04:53 +02:00
Tuncer Ayaz
803f6e8ecd Replace test-compile with compile_only=true option 2012-08-09 14:04:53 +02:00
Motiejus Jakštys
8f01d0de60 Add skip_deps=AppListSeparatedByCommas feature 2012-08-09 09:48:16 +02:00
Tuncer Ayaz
e5569e6862 rebar_qc: use lists:flatmap/2 2012-08-08 23:28:00 +02:00
Tuncer Ayaz
3f2ad54ebc rebar_qc: fix #292 (Reported-by: Brian L. Troutwine) 2012-08-08 23:27:47 +02:00
Lev Walkin
f2f294d812 Do not rewrite .app file if it didn't change 2012-08-08 00:52:54 +02:00
Edwin Fine
ca8d7cc95d Ensure edocs are also built if only overview.edoc changes 2012-08-08 00:52:42 +02:00
DeadZen
f1d35f9d06 Add ct_log_dir option, skip test dir with no SUITE
When rebar ct executes with its default common test directory of "test",
it will generate a hardcoded "logs" directory in every application with
a test directory present, causing an overlap with eunit's test framework
so even test directories with only eunit tests will be processed by ct.
2012-08-07 14:22:59 +02:00
Tuncer Ayaz
888bbc8ee2 Fix whitespace error 2012-08-07 14:03:58 +02:00
Tuncer Ayaz
fdc1425a3b Use rebar_utils:test_dir/0 for coverdata export file 2012-08-07 14:02:13 +02:00
David Åberg
43d5b6257e Enable export of cover data from eunit testrun 2012-08-07 13:44:40 +02:00
Tuncer Ayaz
aec71f93cb Clean up specs 2012-08-06 19:52:09 +02:00
Tuncer Ayaz
1b9f2a5981 rebar_utils: fix whitespace error 2012-08-06 19:35:46 +02:00
Tuncer Ayaz
491d52298e Re-use rebar_utils:ebin_dir() 2012-08-06 19:00:18 +02:00
Tuncer Ayaz
e2492eb37f rebar_utils: call get_cwd/1 locally 2012-08-06 19:00:03 +02:00
Tuncer Ayaz
870f8cfbb4 rebar_utils: clean up specs 2012-08-06 18:52:33 +02:00
Tuncer Ayaz
70c82ba1c1 Fix arg order in rebar_erlc_compiler:compile_mib/3 2012-08-06 17:44:13 +02:00
Tuncer Ayaz
0b18b208e2 Only print absolute filename if not in base_dir 2012-08-05 19:56:27 +02:00
Tuncer Ayaz
4f19572ff9 Remove two comments 2012-08-04 14:04:59 +02:00
Tuncer Ayaz
392adcf967 Refactor setup_env rebar_config funs 2012-08-04 14:04:27 +02:00
Tuncer Ayaz
c9ddb8325a Quote EUnit User's guide about _tests.beam handling 2012-07-31 16:39:25 +02:00
Tuncer Ayaz
ad2e94b96b Add experimental notice to test-compile and shell 2012-07-31 15:39:36 +02:00
Tuncer Ayaz
636c02f0be Fix R13B03 build (Reported-by: Sergey Nartimov) 2012-07-28 19:51:57 +02:00
Joseph Wayne Norton
2d62896de0 Fix -D handling 2012-07-28 19:36:46 +02:00
Tuncer Ayaz
74a82fa104 Fix -c typo (Noticed-by: Joe Norton) 2012-07-28 11:48:54 +02:00
Tuncer Ayaz
64972a0be5 Fix trivial comment typo 2012-07-26 18:36:59 +02:00
Tuncer Ayaz
228f39efa1 Rename old eunit compile options for consistency with test-compile 2012-07-26 17:15:01 +02:00
Steven Gravell
093f160be5 relative libs in RELEASES file 2012-07-26 13:40:36 +02:00
Daniel Luna
d496be2871 rebar_rel_utils: remove two lines of noop 2012-07-24 20:34:02 +02:00
Tuncer Ayaz
70d27c5720 rebar_deps: use xconf for deps_dir 2012-07-23 20:53:43 +02:00
Tuncer Ayaz
f6cfc74dc0 Fix indenting 2012-07-23 20:41:22 +02:00
Tuncer Ayaz
c648af3697 Finalize port_compiler deprecations 2012-07-23 20:41:22 +02:00
Tuncer Ayaz
c0644dc195 Finalize app=, skip_app=, suite= deprecations 2012-07-23 16:48:15 +02:00
Tuncer Ayaz
e75a97ad33 Add 'qc' cmd and rename eunit-compile to test-compile 2012-07-23 16:22:06 +02:00
Tuncer Ayaz
902dcdf3ff Add 'eunit-compile' cmd (Suggested-by: Joe Norton) 2012-07-23 13:28:38 +02:00
Tuncer Ayaz
252757c753 Do not use application:set_env 2012-07-23 13:17:11 +02:00
Tuncer Ayaz
3c56fbab6f Restore old reltool vsn check
reltool is missing an app resource file before R14A.
Therefore, restore the old check and add TODO.
2012-07-22 12:41:55 +02:00
Tuncer Ayaz
86c69bc253 Fix Dialyzer warning 2012-07-21 17:56:53 +02:00
Ulf Wiger
6996cd4fcc Use a more appropriate method to check reltool's vsn
If running e.g. rebar generate using an OTP development build,
rebar will complain that reltool has the version "", which is
less than the required "0.5.2". This is because rebar_reltool
simply checks the path returned by code:which(reltool), which
doesn't yield version information if used in a development build.

This patch substitutes a more robust method (load reltool and
fetch the info from application:loaded_applications()).

As it happens, this will not be enough to make things work,
but now Reltool will explain that it cannot generate a spec
from a system that is not installed, giving a better hint
as to what needs to be done.
2012-07-21 17:52:01 +02:00
Tuncer Ayaz
5a4ddd5524 Do not keep eunit config 2012-07-13 22:48:20 +02:00
Tuncer Ayaz
e1c9d69d1d Do not use rebar_config:set_global in rebar_templater 2012-07-13 21:43:30 +02:00
Tuncer Ayaz
d9e6cc3d90 Do not use process dict in rebar_templater 2012-07-13 21:43:14 +02:00
Tuncer Ayaz
4fe3306d99 Document rebar_config TODOs 2012-07-13 15:22:01 +02:00
Tuncer Ayaz
db78956295 Make sure cached setup_envs are reset 2012-07-13 15:22:01 +02:00
Tuncer Ayaz
e185e86bff Remove shared state 2012-07-13 15:21:56 +02:00
Tuncer Ayaz
1948eb4a47 Re-word comment 2012-07-12 00:39:30 +02:00
Tuncer Ayaz
94958d05d5 Add missing comment in rebar_erlc_compiler 2012-07-12 00:37:10 +02:00
Tuncer Ayaz
e4fb80799b Remove debug log 2012-07-11 23:40:28 +02:00
Tuncer Ayaz
015858b2d3 Simplify eunit 2012-07-11 20:36:41 +02:00
Tuncer Ayaz
990e60f120 Use filename:join 2012-07-11 18:44:48 +02:00
Dave Smith
ce39b1d8bd Merge pull request #157 from dch/dch-windows-msvc-support
add native Windows compiler support
2012-07-11 07:58:51 -07:00
Kresten Krab Thorup
4541f8f5db Fix crazy indentation :-) 2012-07-11 08:42:48 -06:00
Kresten Krab Thorup
b890421cae Allow crypto to already be loaded when starting rebar 2012-07-11 08:42:48 -06:00
Kresten Krab Thorup
c71bbf6a0d untabify and add some comments 2012-07-11 08:42:48 -06:00
Kresten Krab Thorup
5b765e028f Initial version of "rebar shell" command
For now, this is just a proof of concept; would make sense to add a lot
of things, such as quick access to invoking rebar itself (with approproate 
code reloading), as well as an eunit-aware version so that tests could be 
run interactively.
2012-07-11 08:42:47 -06:00
Fred Hebert
57fc7f6474 Change escriptize archive permissions to a+x
By default, executables in paths such as /bin and /usr/local/bin have
the mode saying they can be executed by all.

The current version of escriptize only sets u+x, which creates problems
when copied directly in repositories and requiring other programs to
interact with them.

This change makes rebar follow the standard of linuxes and unixes by
setting the permission flag to a+x, allowing users, the group and others
to execute it.
2012-07-10 10:42:41 +02:00
Eric B Merritt
ec3927f9b0 Fix eunit testing of apps that have no erl files
'Erlang' projects that do not contain any erlang files (Joxa, LFE,
Elixir, etc) break the eunit task. It attempts to copy an empty list
of source files to the .eunit directory. This change makes copying an
empty list a simple no-op.
2012-07-03 15:18:09 +02:00
Tuncer Ayaz
f5af9d6c21 Fix rebar_eunit whitespace issues 2012-07-02 19:23:25 +02:00
Tuncer Ayaz
9521d3fd86 Clean up rebar_utils exports 2012-07-02 19:13:11 +02:00
Tuncer Ayaz
df9b77633a Move erl_opts/1 and src_dirs/1 to proper place 2012-07-02 18:47:06 +02:00
Motiejus Jakštys
ad2f30ccb9 Fix cover crash if src_dirs is not default
Make sure files from erl_opts->src_dirs are copied to .eunit for cover
inspection.

Without this patch cover failed to find source files which were in
src_dirs, and threw the following exception:

ERROR: eunit failed while processing
/path/to/project:
{'EXIT',{{badmatch,{error,no_source_code_found}},
         [{rebar_eunit,'-cover_analyze/3-fun-0-',1,
                       [{file,"src/rebar_eunit.erl"},{line,280}]},
          {lists,foreach,2,[{file,"lists.erl"},{line,1262}]},
          {rebar_eunit,cover_analyze,3,
                       [{file,"src/rebar_eunit.erl"},{line,279}]},
          {rebar_eunit,eunit,2,[{file,"src/rebar_eunit.erl"},{line,140}]},
          {rebar_core,run_modules,4,[{file,"src/rebar_core.erl"},{line,425}]},
          {rebar_core,execute,5,[{file,"src/rebar_core.erl"},{line,359}]},
          {rebar_core,process_dir0,6,[{file,"src/rebar_core.erl"},{line,223}]},
          {rebar_core,process_dir,4,
                      [{file,"src/rebar_core.erl"},{line,130}]}]}}

Now all source files are copied to .eunit.
2012-07-02 18:46:00 +02:00
Motiejus Jakštys
394c0f43f8 Move erl_opts/1 and src_dirs/1 to rebar_utils.erl
These functions will be necessary in rebar_eunit.erl, too.
2012-07-02 18:46:00 +02:00
Tuncer Ayaz
fd0697239d Use lists:foreach because result is ignored 2012-06-30 23:17:22 +02:00
Tuncer Ayaz
385e3f09ba Decrease indentation in list-templates printout 2012-06-30 22:28:30 +02:00
Tuncer Ayaz
49f3cc4108 Fix crash introduced in 4414f65 via pull/245 2012-06-30 22:14:08 +02:00
Tuncer Ayaz
0c27fd4f7f rebar_templater: fix comment 2012-06-30 22:13:26 +02:00
Daniel Luna
d560ccda0d Use ~p for file:consult/1 {error, Reason} printout 2012-06-29 21:39:20 +02:00
Tuncer Ayaz
4e9e89bd0d Append os family to arch string 2012-06-23 22:05:43 +02:00
Tuncer Ayaz
c41fda6a2f rebar_utils: move internal fun to proper place 2012-06-23 22:00:38 +02:00
Evan Vigil-McClanahan
a78e6cd740 Add support for minimum OTP versions.
Since you can't really do math with regexps and it's a pain to
repeatedly update the config for each new version or erlang, I wanted
to add support for minium OTP versions.  This is a fix for
https://github.com/basho/riaknostic/issues/38
2012-06-21 14:44:51 -07:00