summaryrefslogtreecommitdiff
path: root/inttest
Commit message (Collapse)AuthorAgeFilesLines
* inttest/*: do not export_allTuncer Ayaz2017-08-1951-56/+60
|
* port_compiler: generate clang compilation dbTuncer Ayaz2016-08-191-0/+1
| | | | | | In order for newer clang tools to work, they require the presence of a compilation database in the form of compile_commands.json. Therefore, we adapt port_compiler to write such a file.
* Add raw to VsnRegex-Free depJesse Gumm2016-03-203-2/+10
|
* Support rebar3-style depsJesse Gumm2016-03-204-0/+69
| | | | | | | | Example: {git, {appname, "git://something/something", {branch, master}}} ^ | |---- Notice the lack of a version Regex
* Merge pull request #588 from lrascao/fix/look_for_ct_spec_files_only_in_test_dirLuis Rascão2016-03-185-0/+59
|\ | | | | Look for ct .spec files in the ct_dir that was specified
| * Optionally look for ct .spec files in the ct_dir that was specifiedLuis Rascão2016-03-145-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | Allow to change existing behaviour which is to find all .spec files recursively in the current working directory through a new rebar.config option: {ct_search_specs_from_test_dir, true} This is confusing since the user explicitly stated the location for his spec files and negates the possibility to have different spec'ed suites for different environment. Also fix the node name generation on the ct test run, append a random number that will reduce chances of name collisions on epmd.
* | Introduce REBAR_VSN_CACHE_FILE env variable to load/save vsn cacheMatwey V. Kornilov2016-03-182-0/+103
| | | | | | | | | | | | | | | | | | | | | | | | When REBAR_VSN_CACHE_FILE is set, then vsn cache is loaded from this file on rebar start and updated when new data. Under specific circumstances (i.e. in build environments), full git tree may not be available, but only its snapshot. We need a way to use preheat vsn cache instead of invocing git command. Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
* | Introduce REBAR_DEPS_PREFER_LIBS env variable to alter search behaviourMatwey V. Kornilov2016-03-146-0/+79
| | | | | | | | | | | | | | | | | | | | | | When REBAR_DEPS_PREFER_LIBS is set, dependencies with defined sources are allowed to be searched for in system lib directory. Under specific circumstances (i.e. in build environments without networking) it is impossible to fetch deps locally. So, user needs a way to ask rebar to search in system lib directory as well. Signed-off-by: Matwey V. Kornilov <matwey.kornilov@gmail.com>
* | Fix bug when running gcc in cross_sizeofFrank Hunleth2016-03-133-0/+67
|/ | | | | | | The test program used to determine the word size of a crosscompiler is crafted to return an error, so this changes the logic to expect an error exit. If the crosscompiler actually compiles the test program successfully, that would be remarkable and worthy of investigation.
* Merge pull request #590 from lrascao/feature/allow_port_env_flags_redefinitionLuis Rascão2016-02-234-0/+97
|\ | | | | Treat port env vars as expandable only if they self reference
| * Treat port env vars as expandable only if they self referenceLuis Rascão2016-02-194-0/+97
| | | | | | | | | | Provide additional port test case. Also, update newest OS X versions build flags.
* | Merge pull request #591 from lrascao/fix/eunit-tests-surefire-crash-and-testLuis Rascão2016-02-234-0/+63
|\ \ | | | | | | Fix/eunit tests surefire crash
| * | Provide additional test coverage for surefire enabled eunit testingLuis Rascão2016-02-194-0/+63
| |/
* | Additional Common Test regression testsLuis Rascão2016-02-1910-0/+120
|/ | | | | | | | One test that checks for a failed make, another that detects a failed test run when only one of several suites fails. The ct test fails is only applicable to OTP versions older than R16 (inclusive), this is related to the way older versions handle the test .spec files.
* Add neotoma regression testLuis Rascão2016-02-138-0/+1166
| | | | Integration regression test that checks for correct generation of .erl files from .peg ones and that they are cleaned up.
* Add support for Windows integration testingLuis Rascão2016-01-1536-151/+341
| | | | | | | | | | | | | | Use retest feature/rebar-windows-ci branch that adds Windows tests support, test setup callback and additional touch command. For all tests copy rebar and rebar.cmd using retest setup callback. Port OS specific commands used in tests to Erlang (eg. touch, rm, cp, stat..). rebar_ct: do away with grep command line invocation (which doesn't exist in Windows) and use instead plain Erlang parsing. Increase timeout for rgen1 test to 4 minutes, Windows Appveyor can take longer than the previous 2 minutes.
* Merge pull request #530 from paulo-ferraz-oliveira/fix/code_path_for_behaviorsFred Hebert2015-08-214-0/+57
|\ | | | | Allow behaviors defined inside xref_extra_path
| * Allow behaviors defined inside xref_extra_pathPaulo Oliveira2015-08-214-0/+57
| | | | | | | | | | | | Use case: xref'ing a module that defined behavior ranch_protocol was exiting with {'EXIT',{undef,[{ranch_protocol,behaviour_info, [callbacks],[]}
* | Merge pull request #535 from lrascao/feature/add_regression_test_covered_ctFred Hebert2015-08-1910-0/+91
|\ \ | |/ |/| Add regression test for covered common test
| * Add regression test for covered common testLuis Rascão2015-08-1810-0/+91
| | | | | | | | Project has dependency that also contains a covered common test suite
* | Fix up colored log supportTuncer Ayaz2015-07-031-17/+9
| | | | | | | | | | | | | | | | | | | | | | * do not use pdict * do not enable color support by default. once we have the new getopt version, we can add a new type of command line flag for that. * fix Dialyzer warnings * use atom instead of boolean * use better name for internal function * do not try (and fail) to access rebar's app env in retest test
* | Add colored logsAndrey Teplyashin2015-07-033-10/+28
|/ | | | | | Fix verbose level in global rebar config Replace application:set_env on erlang:put
* Generate reserved file for erlc regression testLuis Rascao2015-06-252-4/+4
| | | | | | | Reserved files such as ._do_not_compile.erl should be generated automatically when running the regression test and not added to the repo. .tar.gz source releases are not correctly generated when handling such files.
* Comment typosFred Hebert2015-05-091-4/+4
|
* Add proto gpb error test caseLuis Rascao2015-05-089-4/+161
| | | | | A specific bad.proto file will cause the mock gpb compiler to fail thus improving rebar's coverage of error scenarios
* Fix parse_transform option in rebar.configDavid Kubecka2015-04-202-1/+11
| | | | | | | | | | | Currently this option doesn't work very well because given parse_transform is applied globally to all modules, even to parse transform module itself which is not possible because the module is not yet compiled. So we just ensure that local parse transformations are not applied to themselves and probably also to erl_first_files since they are explicitly stated as to be compiled before anything else.
* Fix error when processing non-existent include_lib fileDavid Kubecka2015-04-061-0/+3
| | | | | | | | | Since process_attr/3 searches source code for attributes, it can happen that it finds an attribute which is eventually not needed by the compilation, e.g. hidden by ifdef macro - see enclosed test. Such attribute can reference a file which is not in the path or which even doesn't exist at all, and current code doesn't expect such a situation. We fix things by simply ignoring such files.
* Store also max modified times in erlcinfoDavid Kubecka2015-04-063-0/+15
| | | | | | | | | These times already contain max modified info of their dependencies. Therefore we no longer have to check in internal_erl_compile whether the file really needs recompiling, which simplifies the flow somewhat, because the work with dependency graph is now localized to much smaller space then before.
* Delete existing out-edges before adding new ones in modify_erlcinfoDavid Kubecka2015-04-062-3/+26
| | | | | | | When the source file changes it could happen that some of its dependecies get removed. In that case we should remove these former dependencies from the graph, so that they don't influence recompilation of the source file anymore.
* Assemble Dirs passed to update_erlcinfo in one placeDavid Kubecka2015-04-055-5/+37
| | | | | | | | | | | | Current separation of part of the logic into include_path obscures the purpose of Dirs (see expand_file_names). Moreover for each particular Erl its source file was included twice in Dirs, which is now corrected. Also InclDirs (specified in erl_opts) as part of erlcinfo since they can affect resulting graph, which needs to be therefore regenerated when InclDirs change. See added test as an example.
* Basic test for erlc (re)compiling and erlcinfoDavid Kubecka2015-04-053-0/+101
|
* Fix whitespace errorsTuncer Ayaz2015-04-021-6/+6
|
* Add 'cover_export_json' optionBrian H. Ward2015-03-113-0/+96
|
* Fix OTP .appup.src processing on empty listsLuis Rascao2015-03-027-10/+313
| | | | | | | Expand test cases to handle .appup.src with empty upgrade from and downgrade to lists, lift larger .appup.src file from OTP's lib/dialyzer/test/r9c_SUITE_data/src/asn1/asn1.appup.src
* Merge pull request #449 from lrascao/feature/support_appup_src_filesFred Hebert2015-02-059-0/+177
|\ | | | | Support .appup.src files
| * Support .appup.src[.script] filesLuis Rascao2015-02-049-0/+177
| | | | | | | | | | | | | | | | | | | | Similar to how .app.src are being handled, all files in directory .src ending with .appup.src are processed, checked for correctness and copied to ebin without the .src extension. By way of using rebar_config:consult_file/1, .appup.src.script files are automatically supported in exactly the same manner as in .app.src.script.
* | Merge pull request #445 from norton/norton-erlc-orderFred Hebert2015-02-024-5/+21
|\ \ | | | | | | rebar doesn't respect the order of erl_first_files given in the rebar.conf file
| * | Test order for erl_first_filesJoseph Wayne Norton2015-01-264-5/+21
| |/
* | Support custom protobuf directoryLuis Rascao2015-01-318-9/+152
|/ | | | | | | | | | | proto_opts config option contains the compiler directive that defines which proto compiler to use, also contains a src_dirs entry that defines a list of locations for the .proto files to be processed. Add integration test that compiles .proto files from src and from proto directory specified in separate rebar config files
* Merge pull request #424 from tomas-abrahamsson/gpb-recompilation-detection-2Fred Hebert2015-01-261-0/+56
|\ | | | | Gpb recompilation detection (using base compiler)
| * gpb: add inttest for recompilation with no changesLuis Rascao2015-01-241-0/+6
| |
| * Recompile .proto files with gpb also with prefix/suffixTomas Abrahamsson2015-01-241-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | For protocol buffer files, when there were gpb options to alter the module name with prefix or suffix, recompilation was not properly detected. This is now fixed. (Issue #384). Use the rebar_base_compiler's ability to specify both source and target file names, to be able to also support prefixes. This also introduces a call to gpb_compile:format_error, so the xref recipe needs to be updated to ignore it, to avoid false errors.
* | Fix .app.src.script bug introduced in b44b4f4Vlad Dumitrescu2015-01-204-5/+156
|/ | | | | Handle the case when both .app.src and .app.src.script exist; the script takes precedence.
* inttest/ct3: fix overlong lineTuncer Ayaz2015-01-141-1/+2
|
* Remove a git url in gpb and protobuffs inttest configsTomas Abrahamsson2015-01-132-8/+4
| | | | | | | | In the rebar.config files for the gpb and protobuffs inttests, use the {Name, Version} dependency form instead of {Name, Version, Source}, since the Source is not really applicable; the mocks are copied into place by the proto_gpb_rt:files/0 and proto_protobuffs_rt:files/0. Idea and suggestion by Tuncer Ayaz.
* Copy instead of rsync gpb and protobuffs inttest mocksTomas Abrahamsson2015-01-104-4/+16
| | | | | | | | | | | | | | | Installation of the gpb and protobuffs mocks, in inttest, is now done using copy in proto_{gpb,protobuffs}_rt:files/0. Previously, rebar prepare-deps was used, the dependencies had an rsync source with a relative path back to the inttest directory. This eliminates a dependency in inttest to rsync, instead relying on retest's functionality to copy files and directories. Also, it eliminates hidden knowledge about the directory layout that retest chooses. Idea and suggestion by Tuncer Ayaz. Since the dependency sources in the inttest rebar.config files are no longer used, they are now changed back from rsync paths to git urls, to serve as examples.
* Replace inttest external dep to protobuffs with a mockTomas Abrahamsson2015-01-074-3/+83
| | | | | | | | In inttest/proto_protobuffs, replace the external dependency to erlang_protobuffs, a protocol buffer compiler, with a simple mock. The mock provides enough of what is needed for inttest only, which is to generate some dummy content, but with proper file names.
* Bugfix comment in inttest/proto_protobuffs/rebar.configTomas Abrahamsson2015-01-071-1/+1
|
* Replace inttest external dependency to gpb with a mockTomas Abrahamsson2015-01-075-8/+87
| | | | | | | | | | | | | In inttest/proto_gpb, replace the external dependency to gpb, a protocol buffer compiler, with a simple mock. The mock provides enough of what is needed for inttest only, which is to generate some dummy content, but with proper file names. As a result, the increased timeout for the proto_gpb inttest should no longer be needed (inttest/proto_gpb/retest.config), both since the mock is now much faster to compile, and since any network bandwidth or connectivity issues have now been eliminated.
* Merge pull request #413 from tomas-abrahamsson/undo-386-mergeFred Hebert2014-12-301-50/+0
|\ | | | | Revert "Merge pull request #386 ... gpb-recompilation...detection"