Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrate cluster with(out) quorum js tests as elixir tests #1812

Merged
merged 20 commits into from
Dec 20, 2018

Conversation

jjrodrig
Copy link
Contributor

@jjrodrig jjrodrig commented Dec 16, 2018

Overview

This PR adds support for testing in different quorum conditions to the elixir test suite.
The current JS quorum test suite is now included as part of the elixir test suite.
Two new tasks have been included into Makefile/Makefile.win

 make elixir-cluster-without-quorum

elixir-cluster-without-quorum: Executes tests over a cluster without quorum, a 3 node cluster with 2 nodes stopped

make elixir-cluster-with-quorum

elixir-cluster-with-quorum: Executes tests over a cluster with quorum, a 3 node cluster with 1 node stopped

This PR integrates cluster with(out) quorum testing into the current elixir testing infrastructure. The tests to be executed in each quorum condition is selected by using elixir module tags.

@moduletag :with_quorum_test and @moduletag :without_quorum_test are excluded from the current elixir test suite and are only considered by the associated makefile task.

Any other test that requires to consider cluster quorum conditions can be included by using these tags

Testing recommendations

Use the corresponding makefile tasks

make elixir-cluster-with-quorum
make elixir-cluster-without-quorum

Related Issues or Pull Requests

PR #1800 include modifications in test/elixir/run and test/elixir/run.cmd used by this PR

Checklist

  • Code is written and works correctly;
  • Changes are covered by tests;
  • Documentation reflects the changes;

Copy link
Member

@wohali wohali left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still need to test the changes to Makefile.win on Windows for you.

Makefile Outdated

.PHONY: elixir-cluster-with-quorum
elixir-cluster-with-quorum: elixir-check-formatted elixir-credo devclean
@dev/run -n 3 -q -a adm:pass \
--degrade-cluster 1 \
--no-eval 'test/elixir/run --only with_quorum_test'
--degrade-cluster 1 \
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please normalise all of the extra indent to exactly 2 tabs, if you would. (lines 209, 215, etc.)

Makefile.win Outdated
@@ -1,4 +1,4 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is this change?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like you inserted a Unicode character at the start of this file. Please revert; it breaks Makefile.win.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems to be an invisible BOM (<U+FEFF>) character included by a text editor (I suppose in Windows). I'll remove it.

@wohali
Copy link
Member

wohali commented Dec 19, 2018

Results of running on Windows:

make elixir-cluster-without-quorum

C:\relax\couchdb>make elixir-cluster-without-quorum
Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
  bunt 0.2.0
  credo 1.0.0
  httpotion 3.1.0
  ibrowse 4.4.1
  jason 1.1.2
  jiffy 0.15.2
All dependencies up to date
Checking 24 source files ...

  Software Design
Γöâ
┃ [D] → Found a TODO tag in a comment: # TODO: port sever_port tests from
Γöâ       config.js
Γöâ       test/config_test.exs:73 #(ConfigTest.delete_config)
┃ [D] → Found a TODO tag in a comment: # TODO: In JS we re-fetch _changes with
Γöâ       since_seq, is that
Γöâ       test/replication_test.exs:587 #(ReplicationTest.run_since_seq_repl)
┃ [D] → Found a TODO tag in a comment: # TODO: Parameterize these
Γöâ       test/replication_test.exs:9 #(ReplicationTest)
┃ [D] → Found a TODO tag in a comment: # TODO: switch this to _local when that's
Γöâ       landed
Γöâ       test/config_test.exs:12 #(ConfigTest)
┃ [D] → Found a TODO tag in a comment: # TODO: port remainder of
Γöâ       security_validation.js suite
Γöâ       test/security_validation_test.exs:205 #(SecurityValidationTest)
Γöâ  ...  (5 more, use `-a` to show them)

Please report incorrect results: https://github.com/rrrene/credo/issues

Analysis took 9.7 seconds (0.1s to load, 9.6s running checks)
135 mods/funs, found 10 software design suggestions.

Showing priority issues: ↑ ↗ →  (use `--strict` to show all issues, `--help` for options).
* creating c:/Users/wohali/.mix/archives/hex-0.18.2
* creating c:/Users/wohali/.mix/rebar
* creating c:/Users/wohali/.mix/rebar3
Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
  bunt 0.2.0
  credo 1.0.0
  httpotion 3.1.0
  ibrowse 4.4.1
  jason 1.1.2
  jiffy 0.15.2
All dependencies up to date
Compiling 3 files (.ex)
Including tags: [:without_quorum_test]
Excluding tags: [:test, {:pending, true}]


ReplicationTest
  * test source database not found with host (excluded)
  * test compressed attachment replication - remote-to-remote (excluded)
  * test filtered replications - local-to-remote (excluded)
  * test source database not found with path - COUCHDB-317 (excluded)
  * test replication by doc ids - remote-to-local (excluded)
  * test compressed attachment replication - local-to-local (excluded)
  * test continuous replication - local-to-remote (excluded)
  * test simple local-to-remote replication - local-to-remote (excluded)
  * test replicate with since_seq - remote-to-remote (excluded)
  * test simple remote-to-local replication - remote-to-local (excluded)
  * test filtered replications - remote-to-remote (excluded)
  * test create_target filter option - remote-to-remote (excluded)
  * test source database does not exist (excluded)
  * test compressed attachment replication - remote-to-local (excluded)
  * test replication restarts after filter change - COUCHDB-892 - remote-to-local (excluded)
  * test non-admin or reader user on source - remote-to-local (excluded)
  * test non-admin user on target - local-to-local (excluded)
  * test replicate with since_seq - local-to-remote (excluded)
  * test simple local-to-local replication - local-to-local (excluded)
  * test non-admin user on target - remote-to-local (excluded)
  * test replication restarts after filter change - COUCHDB-892 - local-to-local (excluded)
  * test create_target filter option - local-to-remote (excluded)
  * test simple remote-to-remote replication - remote-to-remote (excluded)
  * test unauthorized replication cancellation (excluded)
  * test replicating attachment without conflict - COUCHDB-885 (excluded)
  * test replicate with since_seq - remote-to-local (excluded)
  * test validate_doc_update failure replications - local-to-local (excluded)
  * test validate_doc_update failure replications - local-to-remote (excluded)
  * test create_target filter option - local-to-local (excluded)
  * test continuous replication - remote-to-remote (excluded)
  * test non-admin or reader user on source - local-to-local (excluded)
  * test replication restarts after filter change - COUCHDB-892 - remote-to-remote (excluded)
  * test validate_doc_update failure replications - remote-to-local (excluded)
  * test non-admin user on target - local-to-remote (excluded)
  * test replication cancellation (excluded)
  * test replication by doc ids - local-to-local (excluded)
  * test replication by doc ids - remote-to-remote (excluded)
  * test replicate with since_seq - local-to-local (excluded)
  * test replication restarts after filter change - COUCHDB-892 - local-to-remote (excluded)
  * test filtered replications - local-to-local (excluded)
  * test filtered replications - remote-to-local (excluded)
  * test non-admin user on target - remote-to-remote (excluded)
  * test continuous replication - local-to-local (excluded)
  * test create_target filter option - remote-to-local (excluded)
  * test continuous replication - remote-to-local (excluded)
  * test compressed attachment replication - local-to-remote (excluded)
  * test replication by doc ids - local-to-remote (excluded)
  * test non-admin or reader user on source - local-to-remote (excluded)
  * test validate_doc_update failure replications - remote-to-remote (excluded)
  * test non-admin or reader user on source - remote-to-remote (excluded)

ViewCollationTest
  * test key query option (excluded)
  * test descending collation order (excluded)
  * test ascending collation order (excluded)
  * test inclusive_end=true (excluded)
  * test inclusive_end=false (excluded)

UUIDsTest
  * test sequential uuids are sequential (excluded)
  * test can return single uuid (excluded)
  * test cache busting headers are set (excluded)
  * test Bad Request error when exceeding max UUID count (excluded)
  * test no duplicates in 1,000 UUIDs (excluded)
  * test Method Not Allowed error on POST (excluded)
  * test utc_random uuids are roughly random (excluded)
  * test utc_id uuids are correct (excluded)

SecurityValidationTest
  * test Ddoc writes with admin and replication contexts (excluded)
  * test Saving document using the wrong credentials (excluded)
  * test Non-admin user cannot save a ddoc (excluded)
  * test Force basic login (excluded)
  * test Jerry can save a document normally (excluded)
  * test _session API (excluded)
  * test Author presence and user security (excluded)

RewriteTest
  * test Test basic rewrites on test_rewrite_suite_db (excluded)
  * test Test basic rewrites on test_rewrite_suite_db%2Fwith_slashes (excluded)

ReduceTest
  * test More complex array key view row testing (excluded)
  * test Basic reduce functions (excluded)
  * test More complex reductions that need to use the combine option (excluded)
  * test Reduce pagination (excluded)

LotsOfDocsTest
  * test lots of docs with _all_docs (excluded)
  * test lots of docs with a regular view (excluded)

DelayedCommitsTest
  * test delayed commit (excluded)

HelperTest
  * test retry_until handles boolean conditions (excluded)
  * test retry_until handles assertions (excluded)
  * test retry_until times out (excluded)

ConfigTest
  * test Non-2-tuples in the whitelist are ignored (excluded)
  * test Standard config options are present (excluded)
  * test PORT `BUGGED` ?raw tests from config.js (excluded)
  * test Server-side password hashing, and raw updates disabling that (excluded)
  * test CouchDB respects configured protocols (excluded)
  * test Keys not in the whitelist may not be modified (excluded)
  * test Non-term whitelist values allow further modification of the whitelist (excluded)
  * test Non-list whitelist values allow further modification of the whitelist (excluded)
  * test Atoms, binaries, and strings suffice as whitelist sections and keys. (excluded)
  * test Settings can be altered with undefined whitelist allowing any change (excluded)
  * test Blacklist is functional (excluded)

RevisionTest
  * test mismatched rev in body and query string returns error (excluded)
  * test multiple updates with same _rev raise conflict errors (excluded)
  * test mismatched rev in body and etag returns error (excluded)
  * test `new_edits: false` prevents bulk updates (COUCHDB-1178) (excluded)

CompactTest
  * test compaction reduces size of deleted docs (excluded)

CoffeeTest
  * test CoffeeScript basic functionality (excluded)

WithoutQuorumTest
  * test Bulk docs overriden quorum should return 201-Created (141.0ms)
  * test Creating/Updating/Deleting doc should return 202-Acepted (78.0ms)
  * test Creating/Deleting DB should return 202-Acepted (62.0ms)
  * test Bulk docs should return 202-Acepted (78.0ms)
  * test Creating-Updating/Deleting doc with overriden quorum should return 201-Created/200-OK (79.0ms)
  * test Copy doc should return 202-Acepted (78.0ms)
  * test Attachments should return 202-Acepted (62.0ms)
  * test Attachments overriden quorum should return 201-Created (78.0ms)

WithQuorumTest
  * test Bulk docs overriden quorum should return 202-Acepted (excluded)
  * test Creating-Updating/Deleting doc should return 201-Created/200-OK (excluded)
  * test Creating/Deleting DB should return 201-Created/202-Acepted (excluded)
  * test Bulk docs should return 201-Created (excluded)
  * test Creating-Updating/Deleting doc with overriden quorum should return 202-Acepted/200-OK (excluded)
  * test Copy doc should return 201-Created (excluded)
  * test Attachments should return 201-Created (excluded)
  * test Attachments overriden quorum should return 202-Acepted (excluded)

BulkDocsTest
  * test bulk docs raises error for invlaid `docs` parameter (excluded)
  * test bulk docs supplies `id` if not provided in doc (excluded)
  * test bulk docs can detect conflicts (excluded)
  * test bulk docs raises error for missing `docs` parameter (excluded)
  * test bulk docs raises error for `all_or_nothing` option (excluded)
  * test bulk docs raises conflict error for combined update & delete (excluded)
  * test bulk docs raises error for invlaid `new_edits` parameter (excluded)
  * test bulk docs can create, update, & delete many docs per request (excluded)
  * test bulk docs emits conflict error for duplicate doc `_id`s (excluded)

BasicsTest
  * test _all_docs POST error when multi-get is not a {'key': [...]} structure (excluded)
  * test Database should be in _all_dbs (excluded)
  * test Revs info status is good (excluded)
  * test PUT on existing DB should return 412 instead of 500 (excluded)
  * test POST doc response has a Location header (excluded)
  * test DELETE'ing a non-existent doc should 404 (excluded)
  * test PUT doc has a Location header (excluded)
  * test Welcome endpoint (excluded)
  * test Creating a new DB should return location header (excluded)
  * test Session contains adm context (excluded)
  * test Created database has appropriate db info name (excluded)
  * test Simple map functions (excluded)
  * test Creating a new DB with slashes should return Location header (COUCHDB-411) (excluded)
  * test _bulk_docs POST error when body not an object (excluded)
  * test Check for invalid document members (excluded)
  * test Can create several documents (excluded)
  * test PUT error when body not an object (excluded)
  * test Empty database should have zero docs (excluded)
  * test oops, the doc id got lost in code nirwana (excluded)
  * test Make sure you can do a seq=true option (excluded)
  * test Create a document and save it to the database (excluded)
  * test Regression test for COUCHDB-954 (excluded)
  * test POST doc with an _id field isn't overwritten by uuid (excluded)
  * test On restart, a request for creating an already existing db can not override (excluded)

BatchSaveTest
  * test batch put (excluded)
  * test batch post (excluded)
  * test batch put with identical doc ids (excluded)

AllDocsTest
  * test All Docs tests (excluded)


Finished in 3.6 seconds
152 tests, 0 failures, 144 excluded

Randomized with seed 90000

make elixir-cluster-with-quorum

C:\relax\couchdb>make elixir-cluster-with-quorum
Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
  bunt 0.2.0
  credo 1.0.0
  httpotion 3.1.0
  ibrowse 4.4.1
  jason 1.1.2
  jiffy 0.15.2
All dependencies up to date
Checking 24 source files ...

  Software Design
Γöâ
┃ [D] → Found a TODO tag in a comment: # TODO: port sever_port tests from
Γöâ       config.js
Γöâ       test/config_test.exs:73 #(ConfigTest.delete_config)
┃ [D] → Found a TODO tag in a comment: # TODO: In JS we re-fetch _changes with
Γöâ       since_seq, is that
Γöâ       test/replication_test.exs:587 #(ReplicationTest.run_since_seq_repl)
┃ [D] → Found a TODO tag in a comment: # TODO: Parameterize these
Γöâ       test/replication_test.exs:9 #(ReplicationTest)
┃ [D] → Found a TODO tag in a comment: # TODO: switch this to _local when that's
Γöâ       landed
Γöâ       test/config_test.exs:12 #(ConfigTest)
┃ [D] → Found a TODO tag in a comment: # TODO: port remainder of
Γöâ       security_validation.js suite
Γöâ       test/security_validation_test.exs:205 #(SecurityValidationTest)
Γöâ  ...  (5 more, use `-a` to show them)

Please report incorrect results: https://github.com/rrrene/credo/issues

Analysis took 9.1 seconds (0.1s to load, 9.0s running checks)
135 mods/funs, found 10 software design suggestions.

Showing priority issues: ↑ ↗ →  (use `--strict` to show all issues, `--help` for options).
* creating c:/Users/wohali/.mix/archives/hex-0.18.2
* creating c:/Users/wohali/.mix/rebar
* creating c:/Users/wohali/.mix/rebar3
Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
  bunt 0.2.0
  credo 1.0.0
  httpotion 3.1.0
  ibrowse 4.4.1
  jason 1.1.2
  jiffy 0.15.2
All dependencies up to date
Including tags: [:with_quorum_test]
Excluding tags: [:test, {:pending, true}]


ReplicationTest
  * test replication by doc ids - remote-to-remote (excluded)
  * test non-admin user on target - local-to-remote (excluded)
  * test replicating attachment without conflict - COUCHDB-885 (excluded)
  * test continuous replication - remote-to-local (excluded)
  * test source database not found with host (excluded)
  * test create_target filter option - remote-to-local (excluded)
  * test replicate with since_seq - remote-to-remote (excluded)
  * test filtered replications - remote-to-local (excluded)
  * test non-admin or reader user on source - remote-to-local (excluded)
  * test validate_doc_update failure replications - remote-to-remote (excluded)
  * test compressed attachment replication - remote-to-local (excluded)
  * test non-admin user on target - remote-to-remote (excluded)
  * test replication by doc ids - remote-to-local (excluded)
  * test non-admin or reader user on source - local-to-remote (excluded)
  * test validate_doc_update failure replications - remote-to-local (excluded)
  * test filtered replications - remote-to-remote (excluded)
  * test compressed attachment replication - remote-to-remote (excluded)
  * test non-admin or reader user on source - local-to-local (excluded)
  * test non-admin user on target - remote-to-local (excluded)
  * test compressed attachment replication - local-to-remote (excluded)
  * test replication restarts after filter change - COUCHDB-892 - remote-to-remote (excluded)
  * test filtered replications - local-to-local (excluded)
  * test non-admin user on target - local-to-local (excluded)
  * test continuous replication - local-to-local (excluded)
  * test replication by doc ids - local-to-local (excluded)
  * test create_target filter option - local-to-remote (excluded)
  * test replication restarts after filter change - COUCHDB-892 - local-to-remote (excluded)
  * test simple local-to-local replication - local-to-local (excluded)
  * test continuous replication - remote-to-remote (excluded)
  * test compressed attachment replication - local-to-local (excluded)
  * test replicate with since_seq - remote-to-local (excluded)
  * test validate_doc_update failure replications - local-to-local (excluded)
  * test simple remote-to-local replication - remote-to-local (excluded)
  * test source database does not exist (excluded)
  * test create_target filter option - remote-to-remote (excluded)
  * test replication cancellation (excluded)
  * test replication restarts after filter change - COUCHDB-892 - remote-to-local (excluded)
  * test continuous replication - local-to-remote (excluded)
  * test replication by doc ids - local-to-remote (excluded)
  * test replicate with since_seq - local-to-local (excluded)
  * test replication restarts after filter change - COUCHDB-892 - local-to-local (excluded)
  * test create_target filter option - local-to-local (excluded)
  * test filtered replications - local-to-remote (excluded)
  * test non-admin or reader user on source - remote-to-remote (excluded)
  * test source database not found with path - COUCHDB-317 (excluded)
  * test simple remote-to-remote replication - remote-to-remote (excluded)
  * test replicate with since_seq - local-to-remote (excluded)
  * test validate_doc_update failure replications - local-to-remote (excluded)
  * test unauthorized replication cancellation (excluded)
  * test simple local-to-remote replication - local-to-remote (excluded)

ViewCollationTest
  * test ascending collation order (excluded)
  * test inclusive_end=true (excluded)
  * test key query option (excluded)
  * test descending collation order (excluded)
  * test inclusive_end=false (excluded)

UUIDsTest
  * test Method Not Allowed error on POST (excluded)
  * test utc_random uuids are roughly random (excluded)
  * test can return single uuid (excluded)
  * test sequential uuids are sequential (excluded)
  * test no duplicates in 1,000 UUIDs (excluded)
  * test Bad Request error when exceeding max UUID count (excluded)
  * test cache busting headers are set (excluded)
  * test utc_id uuids are correct (excluded)

SecurityValidationTest
  * test Jerry can save a document normally (excluded)
  * test _session API (excluded)
  * test Saving document using the wrong credentials (excluded)
  * test Ddoc writes with admin and replication contexts (excluded)
  * test Force basic login (excluded)
  * test Non-admin user cannot save a ddoc (excluded)
  * test Author presence and user security (excluded)

RewriteTest
  * test Test basic rewrites on test_rewrite_suite_db (excluded)
  * test Test basic rewrites on test_rewrite_suite_db%2Fwith_slashes (excluded)

ReduceTest
  * test More complex reductions that need to use the combine option (excluded)
  * test More complex array key view row testing (excluded)
  * test Basic reduce functions (excluded)
  * test Reduce pagination (excluded)

LotsOfDocsTest
  * test lots of docs with _all_docs (excluded)
  * test lots of docs with a regular view (excluded)

HelperTest
  * test retry_until handles assertions (excluded)
  * test retry_until handles boolean conditions (excluded)
  * test retry_until times out (excluded)

DelayedCommitsTest
  * test delayed commit (excluded)

RevisionTest
  * test mismatched rev in body and etag returns error (excluded)
  * test mismatched rev in body and query string returns error (excluded)
  * test multiple updates with same _rev raise conflict errors (excluded)
  * test `new_edits: false` prevents bulk updates (COUCHDB-1178) (excluded)

ConfigTest
  * test Non-list whitelist values allow further modification of the whitelist (excluded)
  * test Standard config options are present (excluded)
  * test Settings can be altered with undefined whitelist allowing any change (excluded)
  * test Atoms, binaries, and strings suffice as whitelist sections and keys. (excluded)
  * test PORT `BUGGED` ?raw tests from config.js (excluded)
  * test Non-2-tuples in the whitelist are ignored (excluded)
  * test Non-term whitelist values allow further modification of the whitelist (excluded)
  * test Keys not in the whitelist may not be modified (excluded)
  * test Server-side password hashing, and raw updates disabling that (excluded)
  * test Blacklist is functional (excluded)
  * test CouchDB respects configured protocols (excluded)

CompactTest
  * test compaction reduces size of deleted docs (excluded)

WithoutQuorumTest
  * test Copy doc should return 202-Acepted (excluded)
  * test Attachments should return 202-Acepted (excluded)
  * test Creating/Updating/Deleting doc should return 202-Acepted (excluded)
  * test Bulk docs overriden quorum should return 201-Created (excluded)
  * test Creating-Updating/Deleting doc with overriden quorum should return 201-Created/200-OK (excluded)
  * test Bulk docs should return 202-Acepted (excluded)
  * test Creating/Deleting DB should return 202-Acepted (excluded)
  * test Attachments overriden quorum should return 201-Created (excluded)

CoffeeTest
  * test CoffeeScript basic functionality (excluded)

WithQuorumTest
  * test Copy doc should return 201-Created (297.0ms)
  * test Attachments should return 201-Created (234.0ms)
  * test Creating-Updating/Deleting doc should return 201-Created/200-OK (219.0ms)
  * test Bulk docs overriden quorum should return 202-Acepted (218.0ms)
  * test Creating-Updating/Deleting doc with overriden quorum should return 202-Acepted/200-OK (282.0ms)
  * test Bulk docs should return 201-Created (218.0ms)
  * test Creating/Deleting DB should return 201-Created/202-Acepted (188.0ms)
  * test Attachments overriden quorum should return 202-Acepted (109.0ms)

BulkDocsTest
  * test bulk docs raises conflict error for combined update & delete (excluded)
  * test bulk docs can create, update, & delete many docs per request (excluded)
  * test bulk docs raises error for invlaid `new_edits` parameter (excluded)
  * test bulk docs supplies `id` if not provided in doc (excluded)
  * test bulk docs raises error for invlaid `docs` parameter (excluded)
  * test bulk docs raises error for `all_or_nothing` option (excluded)
  * test bulk docs raises error for missing `docs` parameter (excluded)
  * test bulk docs can detect conflicts (excluded)
  * test bulk docs emits conflict error for duplicate doc `_id`s (excluded)

BasicsTest
  * test PUT error when body not an object (excluded)
  * test Can create several documents (excluded)
  * test POST doc response has a Location header (excluded)
  * test Welcome endpoint (excluded)
  * test POST doc with an _id field isn't overwritten by uuid (excluded)
  * test oops, the doc id got lost in code nirwana (excluded)
  * test Regression test for COUCHDB-954 (excluded)
  * test DELETE'ing a non-existent doc should 404 (excluded)
  * test _all_docs POST error when multi-get is not a {'key': [...]} structure (excluded)
  * test Session contains adm context (excluded)
  * test Make sure you can do a seq=true option (excluded)
  * test Check for invalid document members (excluded)
  * test Created database has appropriate db info name (excluded)
  * test Empty database should have zero docs (excluded)
  * test _bulk_docs POST error when body not an object (excluded)
  * test PUT doc has a Location header (excluded)
  * test Revs info status is good (excluded)
  * test Create a document and save it to the database (excluded)
  * test Database should be in _all_dbs (excluded)
  * test On restart, a request for creating an already existing db can not override (excluded)
  * test Simple map functions (excluded)
  * test Creating a new DB should return location header (excluded)
  * test Creating a new DB with slashes should return Location header (COUCHDB-411) (excluded)
  * test PUT on existing DB should return 412 instead of 500 (excluded)

BatchSaveTest
  * test batch post (excluded)
  * test batch put (excluded)
  * test batch put with identical doc ids (excluded)

AllDocsTest
  * test All Docs tests (excluded)


Finished in 4.9 seconds
152 tests, 0 failures, 144 excluded

Randomized with seed 267000

Looks good, once you fix the breaking bug in Makefile.win line 1.

Any desire to clean up those credo errors on master? Still not sure why that doesn't fail the test, it should. /cc @van-mronov

@van-mronov
Copy link
Contributor

@wohali do you mean following output?

  Software Design
┃
┃ [D] → Found a TODO tag in a comment: # TODO: port sever_port tests from
┃       config.js
┃       test/config_test.exs:73 #(ConfigTest.delete_config)
┃ [D] → Found a TODO tag in a comment: # TODO: In JS we re-fetch _changes with
┃       since_seq, is that
┃       test/replication_test.exs:587 #(ReplicationTest.run_since_seq_repl)
┃ [D] → Found a TODO tag in a comment: # TODO: Parameterize these
┃       test/replication_test.exs:9 #(ReplicationTest)
┃ [D] → Found a TODO tag in a comment: # TODO: switch this to _local when that's
┃       landed
┃       test/config_test.exs:12 #(ConfigTest)
┃ [D] → Found a TODO tag in a comment: # TODO: port remainder of
┃       security_validation.js suite
┃       test/security_validation_test.exs:205 #(SecurityValidationTest)
┃  ...  (5 more, use `-a` to show them)

Please report incorrect results: https://github.com/rrrene/credo/issues

Analysis took 3.9 seconds (0.04s to load, 3.9s running checks)
133 mods/funs, found 10 software design suggestions.

Showing priority issues: ↑ ↗ →  (use `--strict` to show all issues, `--help` for options).

That's because of {Credo.Check.Design.TagTODO, [exit_status: 0]} in our credo config.
If we want to suppress these suggests we need to set this setting to {Credo.Check.Design.TagTODO, false}.

@wohali
Copy link
Member

wohali commented Dec 20, 2018

@van-mronov Probably a good idea.

@wohali wohali merged commit f4195a0 into apache:master Dec 20, 2018
@wohali
Copy link
Member

wohali commented Dec 20, 2018

@jjrodrig thank you!

@van-mronov van-mronov mentioned this pull request Dec 20, 2018
3 tasks
@jjrodrig jjrodrig deleted the quorum-elixir-tests branch April 2, 2019 19:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants