You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@couchdb.apache.org by GitBox <gi...@apache.org> on 2018/12/19 22:25:15 UTC
[GitHub] wohali commented on issue #1812: Migrate cluster with(out) quorum
js tests as elixir tests
wohali commented on issue #1812: Migrate cluster with(out) quorum js tests as elixir tests
URL: https://github.com/apache/couchdb/pull/1812#issuecomment-448765729
Results of running on Windows:
make elixir-cluster-without-quorum
```winbatch
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
```winbatch
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
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services