summaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* Update Makefile stripping remaining direct make refsAlessio Biancalana2021-03-031-4/+4
|
* Add a development container for VS Code (#3343)Adam Kocoloski2021-01-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add a development container config for VS Code This creates a development environment with a FoundationDB server and a CouchDB layer in two containers, sharing a network through Docker Compose. It uses the FDB image published to Docker Hub for the FDB container, and downloads the FDB client packages from foundationdb.org to provide the development headers and libraries. www.foundationdb.org is actually not trusted in Debian Buster by default, so we have to download the GeoTrust_Global_CA.pem. The following link has more details: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=962596 Once the Docker Compose setup is running, VS Code executes the create_cluster_file.bash script to write down a cluster file containing the IP address in the compose network where the FDB service can be found. This cluster file is used both for a user-driven invocation of `./dev/run`, as well as for unit tests that require a running CouchDB. Additionally, I've got a small fix to the way we run explicitly specified eunit tests: * Run eunit tests for each app separately The `eunit` target executes a for loop that appears intended to use a separate invocation of rebar for each Erlang application's unit tests. When running `make eunit` without any arguments this works correctly, as the for loop processes the output of `ls src`. But if you specify a comma-delimited list of applications the for loop will treat that as a single argument and pass it down to rebar. This asymmetry is surprising, but also seems to cause some issues with environment variables not being inherited by the environment used to execute the tests for the 2..N applications in the list. I didn't bother digging into the rebar source code to figure out what was happening there. This patch just parses the incoming comma-delimited list with `sed` to create a whitespace-delimited list for the loop, so we get the same behavior regardless of whether we are specifying applications explicitly or not.
* Simplify and speedup dev node startup (main branch) (#3338)Adam Kocoloski2021-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | * Simplify and speedup dev node startup This patch introduces an escript that generates an Erlang .boot script to start CouchDB using the in-place .beam files produced by the compile phase of the build. This allows us to radically simplify the boot process as Erlang computes the optimal order for loading the necessary modules. In addition to the simplification this approach offers a significant speedup when working inside a container environment. In my test with the stock .devcontainer it reduces startup time from about 75 seconds down to under 5 seconds. * Rename boot_node to monitor_parent * Add formatting suggestions from python-black Co-authored-by: Paul J. Davis <paul.joseph.davis@gmail.com>
* Use elixir-suiteILYA Khlopotov2020-12-021-1/+1
|
* Add ability to control which Elixir integration tests to runILYA Khlopotov2020-12-021-0/+11
| | | | | | | | | | | | | | | | New `elixir-suite` Makefile target is added. It runs a predefined set of elixir integration tests. The feature is controlled by two files: - test/elixir/test/config/suite.elixir - contains list of all available tests - test/elixir/test/config/skip.elixir - contains list of tests to skip In order to update the `test/elixir/test/config/suite.elixir` when new tests are added. The one would need to run the following command: ``` MIX_ENV=integration mix suite > test/elixir/test/config/suite.elixir ```
* Remove '--production' flag when building FauxtonAntonio Maranhao2020-11-021-1/+1
| | | | | | | Since https://github.com/apache/couchdb-fauxton/pull/1299 only runtime dependencies are installed when using 'npm install --production'. To correctly build the Fauxton release, one must install all dependencies with 'npm install'.
* Remove JS tests + support for harness (#3197)Joan Touzet2020-10-071-51/+2
|
* Remove javascript tests from main build processJuanjo Rodriguez2020-10-071-1/+0
|
* Merge branch master into prototype/fdb-layerPaul J. Davis2020-09-161-6/+21
|\
| * Ensure python black runs on all .py files (#2827)Joan Touzet2020-04-271-2/+2
| |
| * Integrate emilio - erang linterILYA Khlopotov2020-04-151-1/+5
| |
| * allow to run 'javascript' target with other test targets in the same 'make' ↵Juanjo Rodriguez2020-04-011-1/+3
| | | | | | | | process
| * Update Makefile.win to Include locad configs and clean configs in devcleanJuanjo Rodriguez2020-04-011-1/+1
| |
| * Port elixir proxyauth tests from js to elixir (#2660)Juanjo Rodriguez2020-03-161-1/+4
| | | | | | | | * Add support for specify a custom config file for CouchDB startup during testing * Port proxyauth test from js to elixir
* | Update and clean up testsNick Vatamaniuc2020-09-151-1/+1
| | | | | | | | | | | | | | Update tests to use the new replicator. Also clean up redundancy and re-use some of the newer macros from fabric2 (?TDEF_FE). Make sure replicator tests are included in `make check`
* | Remove couch_ratePaul J. Davis2020-09-151-1/+1
| | | | | | | | | | | | This implementation was difficult to understand and had behavior that was too difficult to predict. It would break if view behavior changed in significant ways from what was originally expected.
* | Do not fail when emilio detects errorsILYA Khlopotov2020-07-101-1/+1
| |
* | Re-enable ExUnit testsILYA Khlopotov2020-05-071-1/+2
| |
* | Integrate emilio - erang linterILYA Khlopotov2020-04-151-0/+4
| |
* | Make 'make check' run all the passing FDB tests on this branchNick Vatamaniuc2020-04-091-4/+6
| | | | | | | | | | | | | | | | This will let CI gate PRs hopefully as we now have the necessary FDB server bits installed in Jenkins. Eventually when we can run all the tests revert to using `make check-all-tests` as the default.
* | Start running chttpd eunit testsNick Vatamaniuc2020-04-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable running all chttpd tests. Some fixes needed for this to happen are: * Some tests were not valid (checking shard maps, etc) and were deleted * Some tests were disabled either because functionality is not implemented yet or simply to minimize the diff between 3.x and this branch for when we have to rebase * Some applications used for index querying had to be started explicitly * Mock updated to use new version of modules instead of old ones
* | update mango tests to work with Mango on FDBGarren Smith2020-04-061-2/+3
| |
* | Update mango test creds to same as elixir testsGarren Smith2020-04-061-1/+1
| |
* | Use `couch_rate` application for `couch_view`ILYA Khlopotov2020-04-021-0/+1
| |
* | Temporary shortcut to running the fdb test suitearchive/prototype/fdb-layer-rebaseprototype/fdb-layer-rebasePaul J. Davis2020-03-021-0/+5
| |
* | Update build system for FoundationDBPaul J. Davis2020-03-021-1/+5
|/
* Fix Windows build (#2534)3.0.0-RC1Joan Touzet2020-02-081-4/+1
| | | | | | | | | | | | | | | | | | | | * Allows `configure.ps1` to correctly pull and build `rebar` on Windows * Removes the static declarations in `rebar.config.script` on specific, pre-determined paths to various includes/libraries necessary for NIFs and external binaries (expectation is these are passed in env vars INCLUDE, LIB and LIBPATH) * fixes the SM60 `couchjs` build by telling `windows.h` not to redefine min and max as macros through a `#define` * fixes the `make eunit` target on Windows * Adds the missing `EXE_LINK_CXX_TEMPLATE` that our rebar doesn't have, but `enc` has today, which is also causing a failed `couchjs` (C++) build on Windows * Causes `make python-black` to correctly cause failure in `make check` if it finds problems * fixes Mango tests on Python 3.8 by bumping the hypothesis dependency * fixes one Elixir test on Windows (incorrect calculation of `now(:ms)` due to Erlang clock precision difference) * a little bit of python black cleanup (mango tests)
* Makefile parity; remove [un]install tgts (#2512)Joan Touzet2020-02-061-20/+4
|
* Stop propagating RC tags into dist archive (#2506)Joan Touzet2020-01-311-5/+17
|
* python-black style cleanup (#2505)Joan Touzet2020-01-311-2/+2
|
* Remove EUnit retries on failureNick Vatamaniuc2020-01-091-10/+1
| | | | | | | Since we switched from Travis to Jenkins, let's see how tests run without retries in the new environment. For reference, retries were introduced in: https://github.com/apache/couchdb/commit/220462a1dd2d921fc4ecba3488f5fedefb75217f
* Generate test results on build failuresPaul J. Davis2020-01-091-0/+6
|
* feat: remove couchup (#2399)Jan Lehnardt2020-01-071-2/+2
| | | | Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
* Multi/elixir 3 (#2394)Jan Lehnardt2020-01-041-35/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add auth cache test into elixir test suite * Port cookie_auth test suite into elixir * Remove conflicting functions * remove debug log level config * Port users_db from js test suite to elixir * WIP: make test more robust * WIP: increase default timeout, revert to fail when login error * Auth cache test fixes * Cookie auth test fixes * Cookie auth test fixes * Correct test name * Correct test name * Disable all JS tests that have Elixir test counterparts. * Convert test setup/teardown logic into idiomatic ExUnit and use @moduletag config * Disable auth_cache_test * auth cache test is disabled * Update elixir test suite README.md with missing ported stuff * Port UTF8 js test suite to elixir * fix: losen assertion * disable more JS tests Co-authored-by: Juanjo Rodriguez <jjrodrig@gmail.com> Co-authored-by: Alessio Biancalana <dottorblaster@gmail.com>
* Port erlang views tests into elixir test suite (#2237)Juanjo Rodriguez2020-01-041-1/+1
| | | | | | | | | * Port erlang views tests into elixir test suite * Enable erlang views in elixir testing * Support nil or :null in response
* Refuse startup with no server admin set up (#2389)Jan Lehnardt2020-01-041-1/+8
| | | | | | | | | | | | feat: refuse startup with no server admin set up includes an admin party assert escape hatch for tests adds a log message every 5 minutes, if escape hatch is enabled. should play nice with systemd restart policies Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
* All databases now admin-only by defaultadmin-only-by-defaultRobert Newson2019-12-181-7/+9
|
* Switch make elixir to use n = 1Garren Smith2019-12-161-1/+1
|
* Integrate excoverals into test stackILYA Khlopotov2019-12-121-1/+1
|
* Make sure we fetch test dependenciesILYA Khlopotov2019-12-121-1/+2
|
* Set autoupdate:false during update=false mango test (#2314)Adam Kocoloski2019-11-161-1/+1
| | | | | | | | | Set autoupdate:false to avoid update=False flake The auto-indexer is sometimes sneaking in and causing test failures by building the index ahead of the update=false query. This should block that behavior. Also, save XML output from mango nose tests.
* Ensure EUnit inherits appropriate env varsAdam Kocoloski2019-08-161-2/+2
| | | | | | | | | | | Omitting COUCHDB_VERSION caused the EUnit build of the replicator to have a corrupted User-Agent header. It tried to construct a version using git, but when building from a release tarball there is no git repo so the UA had a git error message in it. This error message contained a newline, which plausibly confused some part of the HTTP stack and caused replicator HTTP requests to hang. Related to #2098.
* Avoid shebang length limits on jenkinsAdam Kocoloski2019-08-081-2/+2
| | | | | | | The `pip3` and `nosetest` executables are scripts, and on jenkins the specified interpreter can exceed the 128 character length limit because of the deeply-nested workspace. Invoking these as modules seems the preferred workaround per pypa/pip#1773
* Fix bash-ism in EUnit retry logicNick Vatamaniuc2019-08-061-1/+1
| | | | Bash has `let` but other shells might not have it.
* Retry EUnit tests on failureNick Vatamaniuc2019-07-291-2/+12
| | | | | | | Whole app is retried 2 extra times if it fails. Added to *nix Makefile only for now. May not be needed for Windows as this is for CI flakiness mostly.
* Unify runners for unit and integration testsILYA Khlopotov2019-07-291-15/+14
|
* Minimal ExUnit setupILYA Khlopotov2019-07-291-2/+16
|
* Skip running PropEr's own unit testsNick Vatamaniuc2019-03-261-1/+1
| | | | We skip mochiweb, snappy and others already.
* Warn people to edit both Makefiles. (#1952)Joan Touzet2019-02-281-0/+4
|
* Fail make eunit upon eunit app suite failurefail-make-on-eunit-failureRussell Branca2019-02-271-1/+1
|