| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
I missed a case.
|
|\
| |
| | |
Add SameSite setting when clearing session cookie
|
|/ |
|
| |
|
|
|
|
|
|
|
| |
Should fix:
```
Warning: A secret was passed to "mail" using Groovy String interpolation, which is insecure.
```
|
|
|
|
|
|
|
|
|
|
| |
I didn't touch the mango-test invocation because it confused me. I'm
not sure how Python.exe and dev\run are interacting there.
I'm also not sure about forward vs. backslash in these quoted mix
invocations. I stuck with the convention I saw already in the Makefile;
i.e. forward slashes for regular arguments to dev\run, backslashes for
quoted arguments to the mix invocation issued by dev\run.
|
|
|
|
|
| |
* Eliminate remaining use of TEST_OPTS
* Standardize dev/run invocation, matching elixir-integration
|
|
|
|
|
|
| |
This also allows us to eliminate the `check-all-tests` target, since
we've re-enabled all the test suites (and excluded specific tests as
needed).
|
|
|
|
| |
Frankly I have no idea what this does, but it doesn't seem relevant.
|
|
|
|
|
|
|
|
|
|
|
| |
I removed the `elixir-init` dependency from everything except the
`elixir-suite` target. The other targets are likely to be run
interactively, in which case mix will ask if the local rebar / rebar3
etc. should be installed if they're not already (and they almost always
will be). A little less log cruft, a little more speed.
I also removed `MIX_ENV` exports where their inclusion didn't seem to
matter, e.g. on the code formatting and static analysis checks.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two main pieces of work here:
1) Consoidate elixir / elixir-only / elixir-suite into two targets:
- elixir-integration, which only runs ExUnit integration tests
- elixir-suite, which depends on elixir-integration and also calls
format + credo
This preserves the flexibility of the previous targets while reducing
code duplication and removing some obsolete configurations
2) Limit the number of places where we define test configurations
Previously we were relying on dev/run to inject config entries in
addition to specifiying a .ini file on the command-line. We sometimes
also write config settings in the test definitions themselves. This is
at least an initial attempt to just define the config settings in one
place.
|
|
|
|
|
|
| |
This is the result of running
MIX_ENV=integration mix suite > test/elixir/test/config/suite.elixir
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code that generates suite.elixir will repeatedly strip the "test "
from the name of the test when writing the file, resulting in a mismatch
between the actual test name and what's in suite.elixir. You can see
this by searching for e.g. COUCHDB-497 in the suite file.
I tried using String.replace_prefix instead of String.replace_leading in
test_name() but that function seems to get called multiple times during
the test grouping. Simpler to just avoid naming the tests that way for
now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We have been redundantly excluding tests by listing them in the
skip.elixir file and also adding a `:pending` or `:skip` tag. Output of
`elixir-suite` before:
Finished in 88.4 seconds
306 tests, 0 failures, 16 excluded, 1 skipped
and after:
Finished in 85.8 seconds
438 tests, 0 failures, 135 excluded, 1 skipped
|
|
|
|
|
|
|
|
|
|
|
| |
The intent here is to require "branch must be up to date
before merge / squash / rebase", and to further require a clean bill of
health from Jenkins for `main` and `3.x`. I'm not so confident about
the CI health of older branches to enable that protection there, and at
any rate it's unlikely we'd be committing anything to those branches
anyway.
Co-authored-by: Glynn Bird <glynnbird@apache.org>
Co-authored-by: Adam Kocoloski <kocolosk@apache.org>
|
| |
|
| |
|
|
|
|
|
| |
This change tags all tests that are currently failing against main with
a `pending` tag that is then excluded.
|
|
|
|
| |
Quorum is no longer a thing now that we rely on FoundationDB.
|
|\
| |
| | |
support maximum changes_duration configuration option
|
|/ |
|
|\
| |
| | |
Fix logic in ensure_exunit_started
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of running as a single test, separate each corresponding field
and error into its own test, with its own timeout. A typical run now
looks like:
make eunit apps=couch_views suites=couch_views_batch_impl tests=bad_config_test_
======================== EUnit ========================
couch_views_batch_impl:186: bad_config_test_ (batch_initial_size)...[0.104 s] ok
couch_views_batch_impl:186: bad_config_test_ (batch_search_increment)...[0.077 s] ok
couch_views_batch_impl:186: bad_config_test_ (batch_sense_increment)...[0.074 s] ok
couch_views_batch_impl:186: bad_config_test_ (batch_max_tx_size_bytes)...[0.077 s] ok
couch_views_batch_impl:186: bad_config_test_ (batch_max_tx_time_msec)...[0.076 s] ok
couch_views_batch_impl:186: bad_config_test_ (batch_threshold_penalty)...[0.074 s] ok
=======================================================
All 6 tests passed.
Previously, these tests were timing out when CI became resource
constrained. Examples of multiple runs show how prone to timing out
after 5 seconds the old monolithic bad_config_test was:
couch_views_batch_impl: good_config_test...[0.217 s] ok
couch_views_batch_impl: bad_config_test...[1.347 s] ok
couch_views_batch_impl: good_config_test...[0.393 s] ok
couch_views_batch_impl: bad_config_test...[2.332 s] ok
couch_views_batch_impl: good_config_test...[0.358 s] ok
couch_views_batch_impl: bad_config_test...[2.211 s] ok
couch_views_batch_impl: good_config_test...[0.942 s] ok
couch_views_batch_impl: bad_config_test...*timed out*
couch_views_batch_impl: good_config_test...[1.179 s] ok
couch_views_batch_impl: bad_config_test...*timed out*
couch_views_batch_impl: good_config_test...[0.497 s] ok
couch_views_batch_impl: bad_config_test...*timed out*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This doubles the default timeout to 10 seconds for these two tests.
They typically take a long time to run:
couch_views_active_tasks_test:69: active_tasks_test_ (verify_basic_active_tasks)...[2.444 s] ok
couch_views_active_tasks_test:70: active_tasks_test_ (verify_muliple_active_tasks)...[2.678 s] ok
couch_views_active_tasks_test:69: active_tasks_test_ (verify_basic_active_tasks)...[2.646 s] ok
couch_views_active_tasks_test:70: active_tasks_test_ (verify_muliple_active_tasks)...[2.743 s] ok
couch_views_active_tasks_test:69: active_tasks_test_ (verify_basic_active_tasks)...[2.910 s] ok
couch_views_active_tasks_test:70: active_tasks_test_ (verify_muliple_active_tasks)...[3.063 s] ok
and when resources are constrained, often time out:
couch_views_active_tasks_test:69: active_tasks_test_ (verify_basic_active_tasks)...[2.044 s] ok
couch_views_active_tasks_test:70: active_tasks_test_ (verify_muliple_active_tasks)...*timed out*
couch_views_active_tasks_test:69: active_tasks_test_ (verify_basic_active_tasks)...[1.777 s] ok
couch_views_active_tasks_test:70: active_tasks_test_ (verify_muliple_active_tasks)...*timed out*
couch_views_active_tasks_test:69: active_tasks_test_ (verify_basic_active_tasks)...*timed out*
couch_views_active_tasks_test:70: active_tasks_test_ (verify_muliple_active_tasks)...*timed out*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Suppress excessive debug logging of the form:
mix test --cover --trace src/chttpd/test/exunit/pagination_test.exs:232
* test Legacy API (10 docs) : _all_docs/queries
12:40:01.895 [debug] [user: "adm", what: :login_attempt]
12:40:01.906 [debug] [username: 'adm', what: :successful_cookie_auth]
12:40:01.925 [debug] [username: 'adm', what: :successful_cookie_auth]
12:40:01.934 [debug] [username: 'adm', what: :successful_cookie_auth]
12:40:01.944 [debug] [username: 'adm', what: :successful_cookie_auth]
12:40:01.952 [debug] [username: 'adm', what: :successful_cookie_auth]
12:40:01.960 [debug] [username: 'adm', what: :successful_cookie_auth]
12:40:01.968 [debug] [username: 'adm', what: :successful_cookie_auth]
12:40:01.977 [debug] [username: 'adm', what: :successful_cookie_auth]
12:40:01.985 [debug] [username: 'adm', what: :successful_cookie_auth]
12:40:01.995 [debug] [username: 'adm', what: :successful_cookie_auth]
12:40:02.004 [debug] [username: 'adm', what: :successful_cookie_auth]
12:40:02.013 [debug] [username: 'adm', what: :successful_cookie_auth]
12:40:02.019 [debug] [username: 'adm', what: :successful_cookie_auth]
* test Legacy API (10 docs) : _all_docs/queries (152.2ms)
|
| |
|
|
|
|
| |
See: https://github.com/apache/couchdb/commit/3907e9f0abd2bfc26e8384a819939ea964daf157
|
| |
|
|
|
|
|
|
| |
Fixes this warning:
couchdb/src/couch_eval/src/couch_eval.erl:168: Warning: this clause cannot match because a previous clause at line 167 always matches
|
|
|
|
|
|
| |
Use couch_eval when filtering docs with a filter function or a map
function. This allows CouchDB to configured to use different engines
through couch_eval.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Port ba638783b5d87b855939dae69fd63ffd41cb5ed7 from 3.x
This should fix the edge case where deletion with a bad rev was returning a
404. Now it should returna 409.
Issue: https://github.com/apache/couchdb/issues/2146
|
|
|
|
| |
This eliminates several warnings when running `make exunit`.
|
|
|
|
|
|
|
|
|
| |
Add a `js_engine` field when starting test applications.
When the couch apps are loaded it will load the js engine defined
in the ini files.
This allows us to swop out and use different javascript engines for
`couch_eval` for eunit tests.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This is a port of
https://github.com/apache/couchdb/pull/3424/commits/a8622f0cca40d8f2338ec24b40f14d013a0f69d4
to main
Issue #3424
|
|
|
|
|
|
|
|
| |
Fixes:
```
warning: unknown compiler variable "___MODULE__" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__)
src/couchdb/test/elixir/lib/step/start.ex:62: Couch.Test.Setup.Step.Start.teardown/2
```
|
| |
|
|\
| |
| | |
Remove case sensitivity for basic auth
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
This is a port of the 3.x PR https://github.com/apache/couchdb/pull/3634 to main
|
|/ |
|
|
|
|
|
| |
* Format all src files and remove beam comparison
* Apply make erlfmt-format
|
| |
|