Skip to content

Commit

Permalink
Merge pull request #690 from basho/merge-develop-2-2-to-develop
Browse files Browse the repository at this point in the history
Merge develop-2.2 to develop
  • Loading branch information
jvoegele authored Oct 5, 2016
2 parents dbdaaaf + 062c9d3 commit 24dc4ee
Show file tree
Hide file tree
Showing 93 changed files with 12,694 additions and 1,285 deletions.
9 changes: 9 additions & 0 deletions .thumbs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
minimum_reviewers: 2
build_steps:
- make clean
- make test
- make xref
- make dialyzer
merge: false
org_mode: true
timeout: 1790
62 changes: 48 additions & 14 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
EXOMETER_PACKAGES = "(basic)"
export EXOMETER_PACKAGES
PULSE_TESTS = yz_solrq_eqc

REBAR ?= $(shell pwd)/rebar

Expand Down Expand Up @@ -32,24 +33,57 @@ DIALYZER_APPS = kernel stdlib sasl erts ssl tools os_mon runtime_tools crypto in
xmerl webtool snmp public_key mnesia eunit syntax_tools compiler
DIALYZER_FLAGS = -Wno_return
TEST_PLT = .yokozuna_test_dialyzer_plt
RIAK_TEST_PATH = riak_test

include tools.mk

${TEST_PLT}: compile-riak-test
ifneq (,$(RIAK_TEST_PATH))
ifneq (,$(wildcard $(TEST_PLT)))
dialyzer --check_plt --plt $(TEST_PLT) && \
dialyzer --add_to_plt --plt $(TEST_PLT) --apps edoc --output_plt $(TEST_PLT) ebin $(RIAK_TEST_PATH)/ebin $(RIAK_TEST_PATH)/deps/riakc/ebin ; test $$? -ne 1
else
dialyzer --build_plt --apps edoc --output_plt $(TEST_PLT) ebin $(RIAK_TEST_PATH)/ebin $(RIAK_TEST_PATH)/deps/riakc ; test $$? -ne 1
endif
else
@echo "Set RIAK_TEST_PATH"
exit 1
endif

dialyzer_rt: deps ${PLT} ${LOCAL_PLT} $(TEST_PLT)
dialyzer -Wno_return --plts $(PLT) $(LOCAL_PLT) $(TEST_PLT) -c riak_test/ebin
@if [ -d $(RIAK_TEST_PATH) ]; then \
if [ -f $(TEST_PLT) ]; then \
dialyzer --check_plt --plt $(TEST_PLT) $(RIAK_TEST_PATH)/ebin && \
dialyzer --add_to_plt --plt $(TEST_PLT) --apps edoc --output_plt $(TEST_PLT) ebin $(RIAK_TEST_PATH)/ebin ; test $$? -ne 1; \
else \
dialyzer --build_plt --apps edoc --output_plt $(TEST_PLT) ebin $(RIAK_TEST_PATH)/ebin ; test $$? -ne 1; \
fi \
fi

dialyzer-rt-run:
@echo "==> $(shell basename $(shell pwd)) (dialyzer_rt)"
@PLTS="$(PLT) $(LOCAL_PLT) $(TEST_PLT)"; \
if [ -f dialyzer.ignore-warnings ]; then \
if [ $$(grep -cvE '[^[:space:]]' dialyzer.ignore-warnings) -ne 0 ]; then \
echo "ERROR: dialyzer.ignore-warnings contains a blank/empty line, this will match all messages!"; \
exit 1; \
fi; \
dialyzer $(DIALYZER_FLAGS) --plts $${PLTS} -c $(RIAK_TEST_PATH)/ebin > dialyzer_warnings ; \
cat dialyzer.ignore-warnings \
| sed -E 's/^([^:]+:)[^:]+:/\1/' \
| sort \
| uniq -c \
| sed -E '/.*\.erl: /!s/^[[:space:]]*[0-9]+[[:space:]]*//' \
> dialyzer.ignore-warnings.tmp ; \
egrep -v "^[[:space:]]*(done|Checking|Proceeding|Compiling)" dialyzer_warnings \
| sed -E 's/^([^:]+:)[^:]+:/\1/' \
| sort \
| uniq -c \
| sed -E '/.*\.erl: /!s/^[[:space:]]*[0-9]+[[:space:]]*//' \
| grep -F -f dialyzer.ignore-warnings.tmp -v \
| sed -E 's/^[[:space:]]*[0-9]+[[:space:]]*//' \
| sed -E 's/([]\^:+?|()*.$${}\[])/\\\1/g' \
| sed -E 's/(\\\.erl\\\:)/\1[[:digit:]]+:/g' \
| sed -E 's/^(.*)$$/^[[:space:]]*\1$$/g' \
> dialyzer_unhandled_warnings ; \
rm dialyzer.ignore-warnings.tmp; \
if [ $$(cat dialyzer_unhandled_warnings | wc -l) -gt 0 ]; then \
egrep -f dialyzer_unhandled_warnings dialyzer_warnings ; \
found_warnings=1; \
fi; \
[ "$$found_warnings" != 1 ] ; \
else \
dialyzer -Wno_return $(DIALYZER_FLAGS) --plts $${PLTS} -c $(RIAK_TEST_PATH)/ebin; \
fi

dialyzer_rt: deps ${PLT} ${LOCAL_PLT} $(TEST_PLT) dialyzer-rt-run

##
## Purity
Expand Down
111 changes: 111 additions & 0 deletions dialyzer.ignore-warnings
Original file line number Diff line number Diff line change
@@ -1,2 +1,113 @@
yokozuna.erl:37: The call application:set_env('yokozuna',{'component',_},'false') breaks the contract (Application,Par,Val) -> 'ok' when is_subtype(Application,atom()), is_subtype(Par,atom()), is_subtype(Val,term())
yokozuna.erl:44: The call application:set_env('yokozuna',{'component',_},'true') breaks the contract (Application,Par,Val) -> 'ok' when is_subtype(Application,atom()), is_subtype(Par,atom()), is_subtype(Val,term())
yz_rt.erl:131: The variable _ can never match since previous clauses completely covered the type 'false'
yz_languages.erl:59: The variable _ can never match since previous clauses completely covered the type 'false'
yz_pb.erl:236: The variable _ can never match since previous clauses completely covered the type 'false'
yz_pb.erl:237: The variable _ can never match since previous clauses completely covered the type 'false'
yz_pb.erl:269: The variable _ can never match since previous clauses completely covered the type 'false'
yz_pb.erl:300: The variable _ can never match since previous clauses completely covered the type 'false'
yz_pb.erl:301: The variable _ can never match since previous clauses completely covered the type 'false'
yz_schema_admin.erl:293: The variable _ can never match since previous clauses completely covered the type 'false'
yz_schema_admin.erl:304: The variable _ can never match since previous clauses completely covered the type 'false'
yz_schema_admin.erl:315: The variable _ can never match since previous clauses completely covered the type 'false'
yz_schema_admin.erl:326: The variable _ can never match since previous clauses completely covered the type 'false'
yz_schema_admin.erl:337: The variable _ can never match since previous clauses completely covered the type 'false'
yz_schema_admin.erl:347: The variable _ can never match since previous clauses completely covered the type 'false'
yz_solr_start_timeout.erl:28: The variable _ can never match since previous clauses completely covered the type 'false'
yz_wm_extract_test.erl:45: The variable _ can never match since previous clauses completely covered the type 'false'
yz_solrq_test.erl:131: The variable _ can never match since previous clauses completely covered the type 'false'
yz_entropy_data.erl:108: The variable _ can never match since previous clauses completely covered the type 'false'
yz_search_http.erl:80: The variable _ can never match since previous clauses completely covered the type 'false'
yz_search_http.erl:87: The variable _ can never match since previous clauses completely covered the type 'false'
yz_siblings.erl:143: The variable _ can never match since previous clauses completely covered the type 'false'
Unknown functions:
rt:pbc_really_deleted/3
sidejob:resource_exists/1
make_certs:endusers/3
make_certs:rootCA/2
riak_test_runner:metadata/0
riakc_counter:increment/2
riakc_map:new/0
riakc_map:to_op/1
riakc_map:update/3
riakc_obj:get_update_metadata/1
riakc_obj:new/3
riakc_obj:new/4
riakc_obj:select_sibling/2
riakc_obj:set_user_metadata_entry/2
riakc_obj:update_content_type/2
riakc_obj:update_metadata/2
riakc_obj:value_count/1
riakc_pb_socket:create_search_index/2
riakc_pb_socket:create_search_index/4
riakc_pb_socket:create_search_schema/3
riakc_pb_socket:delete_obj/2
riakc_pb_socket:delete_search_index/2
riakc_pb_socket:get_bucket/2
riakc_pb_socket:get_bucket_type/2
riakc_pb_socket:get_search_index/2
riakc_pb_socket:get_search_schema/2
riakc_pb_socket:list_search_indexes/1
riakc_pb_socket:ping/1
riakc_pb_socket:put/2
riakc_pb_socket:put/3
riakc_pb_socket:search/3
riakc_pb_socket:search/4
riakc_pb_socket:start/3
riakc_pb_socket:start_link/2
riakc_pb_socket:stop/1
riakc_pb_socket:update_type/4
riakc_pb_socket:create_search_index/3
riakc_pb_socket:get_search_index/3
riakc_pb_socket:set_options/2
riakc_register:set/2
riakc_set:add_element/2
riakc_set:new/0
riakc_set:to_op/1
rt:admin/2
rt:build_cluster/1
rt:build_cluster/2
rt:clean_data_dir/2
rt:connection_info/1
rt:create_and_activate_bucket_type/3
rt:deploy_nodes/2
rt:enable_search_hook/2
rt:get_node_logs/0
rt:join/2
rt:join_cluster/1
rt:pbc/1
rt:priv_dir/0
rt:select_random/1
rt:start_and_wait/1
rt:stop/1
rt:stop_and_wait/1
rt:update_app_config/2
rt:upgrade/3
rt:wait_for_cluster_service/2
rt:wait_for_cmd/1
rt:wait_for_service/2
rt:wait_until/1
rt:wait_until/2
rt:wait_until_bucket_type_status/3
rt:wait_until_no_pending_changes/1
rt:wait_until_nodes_ready/1
rt:wait_until_unpingable/1
rt:expect_not_in_logs/2
rt:pmap/2
rt:wait_until_bucket_type_visible/2
rt:wait_until_ready/1
rt:wait_until_bucket_type_status/3
rt_config:get/1
rt_intercept:add/2
rt_intercept:load_code/2
rt:heal/1
rt:partition/2
rt:wait_until_transfers_complete/1
rt:log_to_nodes/2
rt:start/1
rt:upgrade/4
yz_solr_orig:index_batch_orig/2
yz_solrq_drain_mgr_orig:drain_orig/1
yz_solrq_drain_mgr_orig:unlink_and_kill_orig/2
yz_solrq_drain_fsm_orig:prepare_orig/2
yz_solrq_drain_mgr_orig:unlink_and_kill_orig/2
Loading

0 comments on commit 24dc4ee

Please sign in to comment.