| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
| |
Nouveau - a new (experimental) full-text indexing feature for Apache CouchDB, using Lucene 9. Requires Java 11 or higher (19 is preferred).
|
| |
|
|
|
|
|
|
|
|
|
| |
- Add `python-black-update` for `make help`.
- In the output of `make help`, diffentiate between Erlang and
Python source code checks.
- Include the use of `black` in the developer documentation.
- Hide `erlfmt` commands for the respective targets. This makes
the targets consistent with their Windows versions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit groups a couple of major changes that aim to amend
many pain points in making the Mango integration test suites
more accessible.
- The test framework behind the Mango integration test suite
provides a lot of flags that are not currently exposed on
the level of the main `Makefile`. Change this for the
greater flexilibility.
- Mango's test suite documentation is buried in the source tree,
which is not common for other kind of tests. To increase its
visibility and unify the style, move the contents of this file
over to the general developer documentation.
- Promote the use of the `mango-test` target instead of setting
up the related machinery manually. The commands recorded in
the original documentation are out of date and only minor
implementation details anyway.
- Retire the explicit control over the activation of Mango
integration tests that require support for text indexes.
Instead learn the availability of this feature from the current
CouchDB instance and run tests based on that. This effectively
makes the activation automated, which could be controlled
implicitly by either hooking up of a Clouseau instance or not.
- Running the Mango integration tests do not remove the databases
on their completion, which can inadvertently pollute the local
data store. To avoid this, enforce removal of test databases but
allow it to be disabled on demand.
|
|
|
|
|
|
|
| |
Due to the double slash in the path that is generated by the
invocation of `find(1)`, the wrong part of the path is going to
be cut. This mistake does not cause trouble for
`list-eunit-suites`, adjusted for consistency only.
|
|
|
|
|
|
| |
The report uploads are still broken and the help message for the
target does not either indicate that is happening. This can be
re-introduced later once fixed.
|
|
|
|
|
|
|
| |
- Turn some of the comments above targets into target descriptions
so that the `help` target could display them.
- Rename `xref` to `find_bugs` as that is the real name.
- Fix rendering of the help message for `install`.
|
|
|
|
|
|
| |
Now that dreyfus is integrated into CouchDB, its elixir tests can be
moved to be with the other elixir integration tests. As a bonus,
remove some unnecessary configuration.
|
|
|
|
|
| |
Remove the old shell script that would drive the testing process
and rather integrate it as a dedicated `make` target, `dreyfus-test`.
|
|
|
|
| |
Currently, there are no ExUnit tests so do not try to run them.
|
| |
|
| |
|
|
|
|
|
| |
This is to help unblock 3.3 windows build so make check doesn't choke on
re-formatting elixir files for Windows.
|
|
|
|
| |
Instead of having it download its own every time
|
|
|
|
|
|
|
|
|
| |
At some point it broke - it looks like rebar3, erlfmt and python-black
usage ended up needing the network to install/update themselves.
Make sure rebar3 and erlfmt is in bin/ alongside rebar, and make
python-black is in a separate source formatting stage step in CI and
remove it from `make check`.
|
|
|
|
|
| |
* fix(3517): super-simplistic fix to avoid costly AST transforms when they are not needed
Co-authored-by: Ronny Berndt <ronny@apache.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"Edit on Github" link wasn't working and pointing to a non-existent "index"
file. This was most likely because we override the index.html template, so the
source renderer doesn't know what to link it to. Instead opt to make the top
level "Edit on Github" point the docs readme page. Individual doc pages will
point to their respective source pages.
In addition, we were quite a bit behind on on the sphinx version 1.5 vs 5.1.1
this has caused quite a bit of headaches over the years as we had to pin
jinja2, docutils and other libraries versions to avoid breaking things.
The main issue after the upgrade was that the http domain became a bit more
strict. After vendoring it in, we had to make a few multipart http examples use
plaintext. On the positive side, it found broken references in the admin guide,
so those were fixed. Since we're using the latest 5.1.1 opt to just use a
python3 venv with a short setup.sh script. That should make it easier for
contributors to build docs locally.
|
|
|
|
| |
It broke at some point so no need to keep trying to upload them
|
|
|
|
|
| |
jiffy changelog: https://github.com/davisp/jiffy/compare/1.0.9...1.1.1
b64url changelog: https://github.com/apache/couchdb-b64url/compare/1.0.2...1.0.3
|
| |
|
|
|
|
| |
Also `export COUCHDB_TEST_ADMIN_PARTY_OVERRIDE=1` so couch will start.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From PR: #3568
A few changes to the formatting logic compared to `main`:
* rebar3 and `erlfmt` don't work with Erlang 20, so added an OTP version
check to skip formatting for Erlang 20
* `make erlfmt-*` commands are faster. Instead of spawning an `erlfmt`
process per-file, spawn one per `directory/*.erl` pattern.
* Remove the non-0 return code work-around. `erlfmt` was returning an error
on `main` because the line width option used for formatting was different
than the one used during format checking. Making both the default removed
all the spurious non-0 exits with the current version of `erlfmt`. Thanks
to Adam Kocoloski for pointing out the issue.
|
|
|
|
|
|
| |
Fauxton was failing so we backported the fix from main
https://github.com/apache/couchdb/commit/f85cff669f20cee0a54da7bb8c645dfc4d2de5c9
for it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
They used to be disabled before the last major ibrowse upgrade.
On MacOS and FreeBSD the following tests fails periodically:
```
ibrowse_tests: running_server_fixture_test_ (Pipeline too small signals retries)...*failed*
in function ibrowse_tests:'-small_pipeline/0-fun-5-'/1 (test/ibrowse_tests.erl, line 150)
in call from ibrowse_tests:small_pipeline/0 (test/ibrowse_tests.erl, line 150)
**error:{assertEqual,[{module,ibrowse_tests},
{line,150},
{expression,"Counts"},
{expected,"\n\n\n\n\n\n\n\n\n\n"},
{value,"\t\n\n\n\n\t\t\n\n\t"}]}
output:<<"Load Balancer Pid : <0.494.0>
```
But seems to pass more reliable on Linux for some reson. It would be nice to
run the tests of course but having a passing full platsform suite is more
important.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces a macro and inserts it everywhere we catch errors
and then generatre a stacktrace.
So far the only thing that is a little bit ugly is that in two places,
I had to add a header include dependency on couch_db.erl where those
modules didn’t have any ties to couchdb/* before, alas. I’d be willing
to duplicate the macros in those modules, if we don’t want the include
dependency.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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>
|
| |
|
| |
|
| |
|
|
|
|
| |
process
|
| |
|
|
|
|
|
| |
* Port elixir proxyauth tests from js to elixir (#2660)
* Add support for specify a custom config file for CouchDB startup during testing
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
* Enable erlang views in elixir testing
* Support nil or :null in response
|