blackbeam/mysql_async

Docs on running tests locally

glittershark opened this issue · 3 comments

I tried setting up tests for this crate locally, and ran into some issues - I figured out that I had to have a mysql server running and configure the DATABASE_URL environment variable to point at that server, but even with that set up a number of tests still fail (and some seem to just hang):

running 65 tests
test conn::pool::test::can_handle_the_pressure ... ignored
test conn::pool::test::should_hold_bounds_on_error ... ok
test conn::pool::test::should_connect ... ok
test conn::pool::test::drop_impl_for_conn_should_not_panic_within_unwind ... ok
test conn::pool::test::should_hold_bounds1 ... ok
test conn::pool::test::should_not_hang ... ok
test conn::pool::test::droptest ... ok
test conn::pool::test::should_reconnect ... FAILED
test conn::pool::test::should_reuse_connections ... ok
test conn::pool::test::should_track_conn_if_disconnected_outside_of_a_pool ... ok
test conn::pool::test::should_start_transaction ... ok
test conn::pool::test::should_not_panic_on_unclean_shutdown ... ok
test conn::pool::test::should_perform_clean_shutdown ... ok
test conn::test::opts_should_satisfy_send_and_sync ... ok
test conn::test::should_clean_state_if_wrapper_is_dropeed ... ok
test conn::test::issue_107 ... ok
test conn::test::should_connect_without_database ... ok
test conn::test::should_execute_init_queries_on_new_connection ... FAILED
test conn::test::should_connect ... FAILED
test conn::test::should_expose_query_result_metadata ... ok
test conn::test::should_first_exec_statement ... ok
test conn::test::should_handle_binary_multiresult_set_with_error ... FAILED
test conn::test::should_handle_local_infile_globally ... FAILED
test conn::test::should_handle_local_infile_locally ... FAILED
test conn::test::should_handle_multiresult_set_with_error ... FAILED
test conn::test::should_handle_multiresult_set_with_local_infile ... FAILED
test conn::test::should_hold_stmt_cache_size_bound ... FAILED
test conn::test::should_not_cache_statements_if_stmt_cache_size_is_zero ... FAILED
test conn::test::should_not_panic_if_dropped_without_tokio_runtime ... ok
test conn::pool::test::aa_should_hold_bounds2 ... ok
test conn::test::should_prep_exec_statement ... ok
test conn::test::should_prepare_statement ... ok
test conn::pool::test::should_check_inactive_connection_ttl ... ok
test conn::test::should_perform_queries ... FAILED
test conn::pool::test::zz_should_check_wait_timeout_on_get_conn ... FAILED
test conn::test::should_read_binlog ... FAILED
test conn::test::should_reset_the_connection ... FAILED
test conn::test::should_query_drop ... ok
test opts::test::should_convert_ipv6_url_into_opts ... ok
test opts::test::should_convert_url_into_opts ... ok
test opts::test::should_panic_on_invalid_scheme - should panic ... ok
test opts::test::should_panic_on_invalid_url - should panic ... ok
test opts::test::should_panic_on_unknown_query_param - should panic ... ok
test opts::test::should_parse_compression ... ok
test opts::test::test_builder_eq_url ... ok
test conn::test::should_run_transactions ... FAILED
test io::test::should_connect_with_keepalive ... ok
test queryable::query_result::tests::dropped_query_result_should_emit_errors_on_cleanup ... ok
test conn::test::should_execute_statement ... ok
test query::tests::should_run_bin_query ... ok
test conn::pool::test::should_work_if_pooled_connection_operation_is_cancelled ... ok
test conn::pool::test::issue_126_should_cleanup_errors_in_multiresult_sets has been running for over 60 seconds
test conn::pool::test::should_ignore_non_fatal_errors_while_returning_to_a_pool has been running for over 60 seconds
test conn::test::should_provide_multiresult_set_metadata has been running for over 60 seconds
test query::tests::should_run_text_query has been running for over 60 seconds
test queryable::query_result::tests::should_handle_multi_result_sets_where_some_results_have_no_output has been running for over 60 seconds
test queryable::query_result::tests::should_handle_mutliresult_set has been running for over 60 seconds
test queryable::query_result::tests::should_iterate_over_resultset has been running for over 60 seconds
test queryable::query_result::tests::should_map_resultset has been running for over 60 seconds

Do you run these tests locally? If so, how do I set up my development machine such that I can run these tests?

Please look at how CI environment being setup:

docker run -d --name container -v `pwd`:/root -p 3307:3306 -e MYSQL_ROOT_PASSWORD=password mysql:$(DB_VERSION) --max-allowed-packet=36700160 --local-infile --log-bin=mysql-bin --log-slave-updates --gtid_mode=ON --enforce_gtid_consistency=ON --server-id=1 $ARG

That worked once I set DATABASE_URL=mysql://root:password@127.1:3307/mysql, thanks!

I'd like to submit a PR to add that to documentation somewhere, do you prefer README.md or CONTRIBUTING.md?

Please look at the updated README.md (the "Testing" section). Feel free to improve.