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

Bug fix for unicode in riak-shell #68

Merged
merged 1 commit into from
Dec 12, 2016
Merged

Conversation

gordonguthrie
Copy link
Contributor

Unicode in input was being handled correctly by the riak_shell
lexer/parser (and by the SQL one) but not by the cmd pretty printer

This is used in writing the history and the logs and it was borking
on unicode - in particular smart quotes inserted into SQL on pasting
from some editors.

The regular expression clean up and output munging is now unicode
friendly.

riak_shell doesn't log errored commands so it is hard to regression
test for this.

Unicode in input was being handled correctly by the riak_shell
lexer/parser (and by the SQL one) but not by the cmd pretty printer

This is used in writing the history and the logs and it was borking
on unicode - in particular smart quotes inserted into SQL on pasting
from some editors.

The regular expression clean up and output munging is now unicode
friendly.

riak_shell doesn't log errored commands so it is hard to regression
test for this.
@thumbot
Copy link
Contributor

thumbot commented Dec 12, 2016

Thanks @gordonguthrie!

Settings
---
minimum_reviewers: 2
build_steps:
- make clean
- make deps
- make compile
- make test
- make xref
- make dialyzer
merge: true
org_mode: true
timeout: 1790

@thumbot
Copy link
Contributor

thumbot commented Dec 12, 2016

bug-gg-unicode_in_command 39c749d ➡️ develop 287cc4c ⛔ completed
There seems to be an issue with build step **make_test** ! ☁️
✅ MERGE

Started at: 2016-12-12 05:20
Duration: 1 seconds.
Result: OK
Message: Merge Success: bug-gg-unicode_in_command 39c749d onto target branch: develop 287cc4c
Exit Code: OK

📄







  Updating 287cc4c..39c749d
Fast-forward (no commit created; -m option ignored)
 src/history_EXT.erl     |  2 +-
 src/riak_shell_util.erl | 20 +++++++++++++++++---
 2 files changed, 18 insertions(+), 4 deletions(-)




✅ MAKE_CLEAN

Started at: 2016-12-12 05:20
Duration: 1 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.287cc4c.bug-gg-unicode_in_command.39c749d; make clean




  ./rebar clean
==> develop.287cc4c.bug-gg-unicode_in_command.39c749d (clean)
rm -rf test.*-temp-data





✅ MAKE_DEPS

Started at: 2016-12-12 05:20
Duration: 13 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.287cc4c.bug-gg-unicode_in_command.39c749d; make deps




  ./rebar get-deps
==> develop.287cc4c.bug-gg-unicode_in_command.39c749d (get-deps)
Pulling riakc from {git,"https://github.com/basho/riak-erlang-client",
                        {tag,"2.5.1"}}
Cloning into 'riakc'...
Pulling riak_ql from {git,"https://github.com/basho/riak_ql",
                          {branch,"develop"}}
Cloning into 'riak_ql'...
Pulling jam from {git,"https://github.com/basho/jam",{branch,"develop"}}
Cloning into 'jam'...
Pulling mochiweb from {git,"https://github.com/basho/mochiweb.git",
                           {tag,"v2.9.0p2"}}
Cloning into 'mochiweb'...
Pulling clique from {git,"https://github.com/basho/clique.git",{tag,"0.3.8"}}
Cloning into 'clique'...
==> riakc (get-deps)
Pulling riak_pb from {git,"https://github.com/basho/riak_pb",{tag,"2.2.0.2"}}
Cloning into 'riak_pb'...
==> riak_pb (get-deps)
Pulling protobuffs from {git,"https://github.com/basho/erlang_protobuffs.git",
                             {tag,"0.9.0"}}
Cloning into 'protobuffs'...
Pulling hamcrest from {git,"https://github.com/basho/hamcrest-erlang.git",
                           {tag,"0.3.0-basho"}}
Cloning into 'hamcrest'...
==> protobuffs (get-deps)
Pulling meck from {git,"https://github.com/basho/meck.git",{tag,"0.8.2"}}
Cloning into 'meck'...
==> meck (get-deps)
==> hamcrest (get-deps)
==> mochiweb (get-deps)
==> riak_ql (get-deps)
Pulling unite from {git,"https://github.com/basho/unite.git",{tag,"v0.0.1p1"}}
Cloning into 'unite'...
Pulling sext from {git,"https://github.com/basho/sext.git",{tag,"1.1p6"}}
Cloning into 'sext'...
Pulling merl from {git,"https://github.com/basho/merl.git",
                       {tag,"0.1.0-basho"}}
Cloning into 'merl'...
==> unite (get-deps)
Pulling color from {git,"git://github.com/basho/erlang-color.git"}
Cloning into 'color'...
Pulling tdiff from {git,"git://github.com/basho/tdiff.git"}
Cloning into 'tdiff'...
==> color (get-deps)
==> tdiff (get-deps)
==> sext (get-deps)
Pulling edown from {git,"git://github.com/basho/edown.git",{tag,"0.8.1"}}
Cloning into 'edown'...
==> edown (get-deps)
==> merl (get-deps)
==> jam (get-deps)
==> clique (get-deps)
Pulling cuttlefish from {git,"https://github.com/basho/cuttlefish.git",
                             {tag,"2.0.10"}}
Cloning into 'cuttlefish'...
==> cuttlefish (get-deps)
Pulling getopt from {git,"https://github.com/basho/getopt.git",{tag,"v0.8.2"}}
Cloning into 'getopt'...
Pulling lager from {git,"https://github.com/basho/lager.git",{tag,"3.2.4"}}
Cloning into 'lager'...
Pulling neotoma from {git,"https://github.com/basho/neotoma.git",
                          {tag,"1.7.3"}}
Cloning into 'neotoma'...
==> getopt (get-deps)
==> lager (get-deps)
Pulling goldrush from {git,"https://github.com/basho/goldrush.git",
                           {tag,"0.1.9"}}
Cloning into 'goldrush'...
==> goldrush (get-deps)
==> neotoma (get-deps)





✅ MAKE_COMPILE

Started at: 2016-12-12 05:20
Duration: 19 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.287cc4c.bug-gg-unicode_in_command.39c749d; make compile




  ./rebar get-deps
==> meck (get-deps)
==> protobuffs (get-deps)
==> hamcrest (get-deps)
==> riak_pb (get-deps)
==> riakc (get-deps)
==> color (get-deps)
==> tdiff (get-deps)
==> unite (get-deps)
==> edown (get-deps)
==> sext (get-deps)
==> mochiweb (get-deps)
==> merl (get-deps)
==> riak_ql (get-deps)
==> jam (get-deps)
==> getopt (get-deps)
==> goldrush (get-deps)
==> lager (get-deps)
==> neotoma (get-deps)
==> cuttlefish (get-deps)
==> clique (get-deps)
==> develop.287cc4c.bug-gg-unicode_in_command.39c749d (get-deps)
./rebar compile
==> meck (pre_compile)
==> meck (compile)
Compiled src/meck_util.erl
Compiled src/meck_code.erl
Compiled src/meck_ret_spec.erl
Compiled src/meck_code_gen.erl
Compiled src/meck_matcher.erl
Compiled src/meck_args_matcher.erl
Compiled src/meck_history.erl
Compiled src/meck_cover.erl
Compiled src/meck_expect.erl
Compiled src/meck_proc.erl
Compiled src/meck.erl
==> protobuffs (pre_compile)
==> protobuffs (compile)
Compiled src/protobuffs_scanner.xrl
Compiled src/protobuffs_parser.yrl
Compiled src/protobuffs_file.erl
Compiled src/pokemon_pb.erl
Compiled src/protobuffs_scanner.erl
Compiled src/protobuffs_compile.erl
Compiled src/protobuffs_cli.erl
Compiled src/protobuffs.erl
Compiled src/protobuffs_parser.erl
==> hamcrest (pre_compile)
==> hamcrest (compile)
Compiled src/hamcrest_term.erl
Compiled src/hamcrest.erl
Compiled src/hamcrest_matchers.erl
==> hamcrest (post_compile)
==> riak_pb (pre_compile)
Generated src/riak_pb_messages.erl
==> riak_pb (compile)
Compiling src/riak_kv.proto

=INFO REPORT==== 12-Dec-2016::05:20:41 ===
Writing header file to "riak_kv_pb.hrl"

=INFO REPORT==== 12-Dec-2016::05:20:41 ===
Writing beam file to "riak_kv_pb.beam"
Compiling src/riak_dt.proto

=INFO REPORT==== 12-Dec-2016::05:20:41 ===
Writing header file to "riak_dt_pb.hrl"

=INFO REPORT==== 12-Dec-2016::05:20:42 ===
Writing beam file to "riak_dt_pb.beam"
Compiling src/riak_yokozuna.proto

=INFO REPORT==== 12-Dec-2016::05:20:42 ===
Writing header file to "riak_yokozuna_pb.hrl"

=INFO REPORT==== 12-Dec-2016::05:20:42 ===
Writing beam file to "riak_yokozuna_pb.beam"
Compiling src/riak_search.proto

=INFO REPORT==== 12-Dec-2016::05:20:42 ===
Writing header file to "riak_search_pb.hrl"

=INFO REPORT==== 12-Dec-2016::05:20:42 ===
Writing beam file to "riak_search_pb.beam"
Compiling src/riak.proto

=INFO REPORT==== 12-Dec-2016::05:20:42 ===
Writing header file to "riak_pb.hrl"

=INFO REPORT==== 12-Dec-2016::05:20:42 ===
Writing beam file to "riak_pb.beam"
Compiling src/riak_ts.proto

=INFO REPORT==== 12-Dec-2016::05:20:42 ===
Writing header file to "riak_ts_pb.hrl"

=INFO REPORT==== 12-Dec-2016::05:20:42 ===
Writing beam file to "riak_ts_pb.beam"
Compiled src/riak_pb_ts_codec.erl
Compiled src/riak_ttb_codec.erl
Compiled src/riak_pb_kv_codec.erl
Compiled src/riak_pb_search_codec.erl
Compiled src/riak_pb_codec.erl
Compiled src/riak_pb_messages.erl
Compiled src/riak_pb_dt_codec.erl
==> riakc (compile)
Compiled src/riakc_datatype.erl
Compiled src/riakc_counter.erl
Compiled src/riakc_gset.erl
Compiled src/riakc_utils.erl
Compiled src/riakc_flag.erl
Compiled src/riakc_register.erl
Compiled src/riakc_map.erl
Compiled src/riakc_hll.erl
Compiled src/riakc_ts_get_operator.erl
Compiled src/riakc_set.erl
Compiled src/riakc_ts_put_operator.erl
Compiled src/riakc_obj.erl
Compiled src/riakc_ts_query_operator.erl
Compiled src/riakc_ts.erl
Compiled src/riakc_pb_socket.erl
==> color (compile)
Compiled src/color.erl
==> tdiff (compile)
Compiled src/tdiff_benchmark.erl
Compiled src/tdiff_debug.erl
Compiled src/tdiff.erl
==> unite (compile)
Compiled src/unite_compact.erl
==> edown (compile)
Compiled src/edown_xmerl.erl
Compiled src/edown_doclet.erl
Compiled src/edown_make.erl
Compiled src/edown_lib.erl
Compiled src/edown_layout.erl
==> sext (compile)
Compiled src/sext.erl
Compiling c_src/sext.c
==> mochiweb (compile)
Compiled src/mochiweb_io.erl
Compiled src/reloader.erl
Compiled src/mochifmt.erl
Compiled src/mochiweb_socket_server.erl
Compiled src/mochifmt_std.erl
Compiled src/mochiweb_socket.erl
Compiled src/mochiweb_websocket.erl
Compiled src/mochiweb_cover.erl
Compiled src/mochiweb.erl
Compiled src/mochiweb_acceptor.erl
Compiled src/mochiweb_cookies.erl
Compiled src/mochitemp.erl
Compiled src/mochilogfile2.erl
Compiled src/mochijson.erl
Compiled src/mochiweb_http.erl
Compiled src/mochiweb_session.erl
Compiled src/mochiweb_app.erl
Compiled src/mochilists.erl
Compiled src/mochiweb_html.erl
Compiled src/mochiweb_charref.erl
Compiled src/mochijson2.erl
Compiled src/mochiweb_request.erl
Compiled src/mochiweb_echo.erl
Compiled src/mochiweb_skel.erl
Compiled src/mochiweb_multipart.erl
Compiled src/mochiutf8.erl
Compiled src/mochiweb_headers.erl
Compiled src/mochifmt_records.erl
Compiled src/mochiweb_base64url.erl
Compiled src/mochiweb_mime.erl
Compiled src/mochinum.erl
Compiled src/mochiweb_response.erl
Compiled src/mochihex.erl
Compiled src/mochiweb_sup.erl
Compiled src/mochiglobal.erl
Compiled src/mochiweb_util.erl
==> merl (compile)
make[1]: Entering directory `/tmp/thumbs/develop.287cc4c.bug-gg-unicode_in_command.39c749d/deps/merl'
erlc -pz ./priv -pa ./ebin +debug_info -o ebin/ src/merl.erl
erlc -DMERL_NO_TRANSFORM +debug_info -o priv/ src/merl_transform.erl
erlc -pz ./priv -pa ./ebin +debug_info -o ebin/ src/merl_transform.erl
erlc -pz ./priv -pa ./ebin +debug_info -o ebin/ src/merl_tests.erl
make[1]: Leaving directory `/tmp/thumbs/develop.287cc4c.bug-gg-unicode_in_command.39c749d/deps/merl'
==> riak_ql (compile)
Compiled src/riak_ql_lexer.xrl
Compiled src/riak_ql_parser.yrl
Compiled src/riak_ql_quanta.erl
Compiled src/riak_ql_window_agg_fns.erl
Compiled src/riak_ql_to_string.erl
Compiled src/riak_ql_cmd.erl
Compiled src/riak_ql_ddl_util.erl
Compiled src/riak_ql_describe.erl
Compiled src/riak_ql_component.erl
Compiled src/riak_ql_show_create_table.erl
Compiled src/riak_ql_ddl_compiler.erl
Compiled src/riak_ql_ddl.erl
Compiled src/riak_ql_parser.erl
Compiled src/riak_ql_lexer.erl
==> jam (compile)
Compiled src/jam_math.erl
Compiled src/jam_erlang.erl
Compiled src/jam_iso8601.erl
Compiled src/jam.erl
==> getopt (compile)
Compiled src/getopt.erl
==> goldrush (compile)
Compiled src/gr_app.erl
Compiled src/gr_sup.erl
Compiled src/gr_param_sup.erl
Compiled src/gr_counter.erl
Compiled src/gr_manager_sup.erl
Compiled src/glc.erl
Compiled src/glc_lib.erl
Compiled src/gr_manager.erl
Compiled src/gr_counter_sup.erl
Compiled src/gr_context.erl
Compiled src/glc_code.erl
Compiled src/gre.erl
Compiled src/glc_run.erl
Compiled src/glc_ops.erl
Compiled src/gr_param.erl
==> lager (compile)
Compiled src/lager_util.erl
Compiled src/lager_transform.erl
Compiled src/lager_manager_killer.erl
Compiled src/lager_common_test_backend.erl
Compiled src/lager_handler_watcher.erl
Compiled src/lager_crash_log.erl
Compiled src/lager_format.erl
Compiled src/error_logger_lager_h.erl
Compiled src/lager_backend_throttle.erl
Compiled src/lager_handler_watcher_sup.erl
Compiled src/lager_stdlib.erl
Compiled src/lager_default_formatter.erl
Compiled src/lager_config.erl
Compiled src/lager_file_backend.erl
Compiled src/lager_trunc_io.erl
Compiled src/lager_sup.erl
Compiled src/lager_app.erl
Compiled src/lager_console_backend.erl
Compiled src/lager_msg.erl
Compiled src/lager.erl
==> neotoma (compile)
Compiled src/neotoma.erl
Compiled src/neotoma_parse.erl
==> cuttlefish (compile)
Compiled src/cuttlefish_duration_parse.peg
Compiled src/conf_parse.peg
Compiled src/cuttlefish_variable.erl
Compiled src/cuttlefish_util.erl
Compiled src/cuttlefish_conf.erl
Compiled src/cuttlefish.erl
Compiled src/cuttlefish_flag.erl
Compiled src/cuttlefish_duration.erl
Compiled src/cuttlefish_rebar_plugin.erl
Compiled src/cuttlefish_duration_parse.erl
Compiled src/cuttlefish_effective.erl
Compiled src/cuttlefish_vmargs.erl
Compiled src/cuttlefish_validator.erl
Compiled src/cuttlefish_unit.erl
Compiled src/cuttlefish_bytesize.erl
Compiled src/lager_stderr_backend.erl
Compiled src/cuttlefish_datatypes.erl
Compiled src/cuttlefish_advanced.erl
Compiled src/cuttlefish_generator.erl
Compiled src/cuttlefish_enum.erl
Compiled src/cuttlefish_error.erl
Compiled src/cuttlefish_schema.erl
Compiled src/cuttlefish_mapping.erl
Compiled src/cuttlefish_translation.erl
Compiled src/cuttlefish_escript.erl
Compiled src/conf_parse.erl
==> getopt (escriptize)
==> goldrush (escriptize)
==> lager (escriptize)
==> neotoma (escriptize)
==> cuttlefish (escriptize)
==> clique (compile)
Compiled src/clique_writer.erl
Compiled src/clique_handler.erl
Compiled src/clique_spec.erl
Compiled src/clique_sup.erl
Compiled src/clique_app.erl
Compiled src/clique_command.erl
Compiled src/clique_csv_writer.erl
Compiled src/clique_nodes.erl
Compiled src/clique_manager.erl
Compiled src/clique_usage.erl
Compiled src/clique_typecast.erl
Compiled src/clique_error.erl
Compiled src/clique_status.erl
Compiled src/clique_human_writer.erl
Compiled src/clique.erl
Compiled src/clique_parser.erl
Compiled src/clique_json_writer.erl
Compiled src/clique_test_group_leader.erl
Compiled src/clique_table.erl
Compiled src/clique_config.erl
==> develop.287cc4c.bug-gg-unicode_in_command.39c749d (compile)
Compiled src/cmdline_lexer.xrl
Compiled src/cmdline_parser.yrl
Compiled src/cmdline_parser.erl
Compiled src/connection_srv.erl
Compiled src/debug_EXT.erl
Compiled src/riak_shell.erl
Compiled src/shell_EXT.erl
Compiled src/cmdline_lexer.erl
Compiled src/history_EXT.erl
Compiled src/connection_sup.erl
Compiled src/log_EXT.erl
Compiled src/riak_shell_util.erl
Compiled src/connection_EXT.erl
Compiled src/help.erl
Compiled src/riak_shell_app.erl





⛔ MAKE_TEST

Started at: 2016-12-12 05:20
Duration: 14 seconds.
Result: ERROR
Message: Step make_test Failed!
Exit Code: 2

📄


cd /tmp/thumbs/develop.287cc4c.bug-gg-unicode_in_command.39c749d; make test




  ./rebar get-deps
==> meck (get-deps)
==> protobuffs (get-deps)
==> hamcrest (get-deps)
==> riak_pb (get-deps)
==> riakc (get-deps)
==> color (get-deps)
==> tdiff (get-deps)
==> unite (get-deps)
==> edown (get-deps)
==> sext (get-deps)
==> mochiweb (get-deps)
==> merl (get-deps)
==> riak_ql (get-deps)
==> jam (get-deps)
==> getopt (get-deps)
==> goldrush (get-deps)
==> lager (get-deps)
==> neotoma (get-deps)
==> cuttlefish (get-deps)
==> clique (get-deps)
==> develop.287cc4c.bug-gg-unicode_in_command.39c749d (get-deps)
./rebar compile
==> meck (pre_compile)
==> meck (compile)
==> protobuffs (pre_compile)
==> protobuffs (compile)
==> hamcrest (pre_compile)
==> hamcrest (compile)
==> hamcrest (post_compile)
==> riak_pb (pre_compile)
==> riak_pb (compile)
==> riakc (compile)
==> color (compile)
==> tdiff (compile)
==> unite (compile)
==> edown (compile)
==> sext (compile)
==> mochiweb (compile)
==> merl (compile)
make[1]: Entering directory `/tmp/thumbs/develop.287cc4c.bug-gg-unicode_in_command.39c749d/deps/merl'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/thumbs/develop.287cc4c.bug-gg-unicode_in_command.39c749d/deps/merl'
==> riak_ql (compile)
==> jam (compile)
==> getopt (compile)
==> goldrush (compile)
==> lager (compile)
==> neotoma (compile)
==> cuttlefish (compile)
==> getopt (escriptize)
==> goldrush (escriptize)
==> lager (escriptize)
==> neotoma (escriptize)
==> cuttlefish (escriptize)
==> clique (compile)
==> develop.287cc4c.bug-gg-unicode_in_command.39c749d (compile)
./rebar ct skip_deps=true
==> develop.287cc4c.bug-gg-unicode_in_command.39c749d (ct)
./rebar  eunit skip_deps=true
==> develop.287cc4c.bug-gg-unicode_in_command.39c749d (eunit)
Compiled src/riak_shell.erl
Compiled src/cmdline_parser.erl
Compiled src/debug_EXT.erl
Compiled src/connection_srv.erl
Compiled src/shell_EXT.erl
Compiled src/cmdline_lexer.erl
Compiled src/log_EXT.erl
Compiled src/history_EXT.erl
Compiled src/connection_sup.erl
Compiled src/help.erl
Compiled src/connection_EXT.erl
Compiled src/riak_shell_app.erl
Compiled src/riak_shell_util.erl
riak_shell_util: pretty_pr_with_unicode_test (module 'riak_shell_util')...*failed*
in function riak_shell_util:'-pretty_pr_with_unicode_test/0-fun-0-'/1 (src/riak_shell_util.erl, line 120)
**error:{assertEqual_failed,[{module,riak_shell_util},
                     {line,120},
                     {expression,"pretty_pr_cmd ( Input )"},
                     {expected,[8217,65,8217]},
                     {value,[226,128,153,65,226,128,153]}]}


=======================================================
  Failed: 1.  Skipped: 0.  Passed: 0.
ERROR: One or more eunit tests failed.
ERROR: eunit failed while processing /tmp/thumbs/develop.287cc4c.bug-gg-unicode_in_command.39c749d: rebar_abort
make: *** [eunit] Error 1





✅ MAKE_XREF

Started at: 2016-12-12 05:21
Duration: 12 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.287cc4c.bug-gg-unicode_in_command.39c749d; make xref




  ./rebar get-deps
==> meck (get-deps)
==> protobuffs (get-deps)
==> hamcrest (get-deps)
==> riak_pb (get-deps)
==> riakc (get-deps)
==> color (get-deps)
==> tdiff (get-deps)
==> unite (get-deps)
==> edown (get-deps)
==> sext (get-deps)
==> mochiweb (get-deps)
==> merl (get-deps)
==> riak_ql (get-deps)
==> jam (get-deps)
==> getopt (get-deps)
==> goldrush (get-deps)
==> lager (get-deps)
==> neotoma (get-deps)
==> cuttlefish (get-deps)
==> clique (get-deps)
==> develop.287cc4c.bug-gg-unicode_in_command.39c749d (get-deps)
./rebar compile
==> meck (pre_compile)
==> meck (compile)
==> protobuffs (pre_compile)
==> protobuffs (compile)
==> hamcrest (pre_compile)
==> hamcrest (compile)
==> hamcrest (post_compile)
==> riak_pb (pre_compile)
==> riak_pb (compile)
==> riakc (compile)
==> color (compile)
==> tdiff (compile)
==> unite (compile)
==> edown (compile)
==> sext (compile)
==> mochiweb (compile)
==> merl (compile)
make[1]: Entering directory `/tmp/thumbs/develop.287cc4c.bug-gg-unicode_in_command.39c749d/deps/merl'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/thumbs/develop.287cc4c.bug-gg-unicode_in_command.39c749d/deps/merl'
==> riak_ql (compile)
==> jam (compile)
==> getopt (compile)
==> goldrush (compile)
==> lager (compile)
==> neotoma (compile)
==> cuttlefish (compile)
==> getopt (escriptize)
==> goldrush (escriptize)
==> lager (escriptize)
==> neotoma (escriptize)
==> cuttlefish (escriptize)
==> clique (compile)
==> develop.287cc4c.bug-gg-unicode_in_command.39c749d (compile)
./rebar xref skip_deps=true
==> develop.287cc4c.bug-gg-unicode_in_command.39c749d (xref)





✅ MAKE_DIALYZER

Started at: 2016-12-12 05:21
Duration: 43 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.287cc4c.bug-gg-unicode_in_command.39c749d; make dialyzer




  
  
... Snipped 168 lines ...
typr:format/1
  erl_scan:reserved_word/1
  erl_scan:string/1
  erl_scan:string/2
  erl_scan:token_info/2
  erl_scan:tokens/3
  erl_syntax:abstract/1
  erl_syntax:add_postcomments/2
  erl_syntax:add_precomments/2
  erl_syntax:application/2
  erl_syntax:application/3
  erl_syntax:arity_qualifier/2
  erl_syntax:atom/1
  erl_syntax:atom_name/1
  erl_syntax:atom_value/1
  erl_syntax:attribute/2
  erl_syntax:binary_field/2
  erl_syntax:binary_field_body/1
  erl_syntax:binary_field_types/1
  erl_syntax:case_expr/2
  erl_syntax:case_expr_clauses/1
  erl_syntax:catch_expr/1
  erl_syntax:char_value/1
  erl_syntax:clause/3
  erl_syntax:clause_body/1
  erl_syntax:clause_guard/1
  erl_syntax:clause_patterns/1
  erl_syntax:comment/2
  erl_syntax:concrete/1
  erl_syntax:conjunction_body/1
  erl_syntax:disjunction_body/1
  erl_syntax:float_value/1
  erl_syntax:form_list/1
  erl_syntax:form_list_elements/1
  erl_syntax:function/2
  erl_syntax:get_attrs/1
  erl_syntax:get_pos/1
  erl_syntax:integer/1
  erl_syntax:integer_value/1
  erl_syntax:is_atom/2
  erl_syntax:is_integer/2
  erl_syntax:is_literal/1
  erl_syntax:list/1
  erl_syntax:list/2
  erl_syntax:list_prefix/1
  erl_syntax:list_suffix/1
  erl_syntax:make_tree/2
  erl_syntax:match_expr/2
  erl_syntax:operator_name/1
  erl_syntax:receive_expr/1
  erl_syntax:receive_expr/3
  erl_syntax:receive_expr_action/1
  erl_syntax:receive_expr_clauses/1
  erl_syntax:receive_expr_timeout/1
  erl_syntax:record_access/2
  erl_syntax:record_access/3
  erl_syntax:record_access_argument/1
  erl_syntax:record_access_field/1
  erl_syntax:record_access_type/1
  erl_syntax:record_expr/2
  erl_syntax:record_expr/3
  erl_syntax:record_expr_argument/1
  erl_syntax:record_expr_fields/1
  erl_syntax:record_expr_type/1
  erl_syntax:record_field/1
  erl_syntax:record_field/2
  erl_syntax:record_field_name/1
  erl_syntax:record_field_value/1
  erl_syntax:revert/1
  erl_syntax:revert_forms/1
  erl_syntax:set_attrs/2
  erl_syntax:set_pos/2
  erl_syntax:string_value/1
  erl_syntax:subtrees/1
  erl_syntax:text_string/1
  erl_syntax:try_expr_handlers/1
  erl_syntax:tuple/1
  erl_syntax:tuple_elements/1
  erl_syntax:type/1
  erl_syntax:underscore/0
  erl_syntax:update_tree/2
  erl_syntax:variable/1
  erl_syntax:variable_literal/1
  erl_syntax:variable_name/1
  erl_syntax_lib:analyze_forms/1
  erl_syntax_lib:limit/2
  erlang:atom_to_binary/2
  erlang:atom_to_list/1
  erlang:binary_to_atom/2
  erlang:binary_to_existing_atom/2
  erlang:binary_to_list/1
  erlang:binary_to_list/3
  erlang:binary_to_term/1
  erlang:bitstring_to_list/1
  erlang:cancel_timer/1
  erlang:decode_packet/3
  erlang:demonitor/2
  erlang:erase/1
  erlang:exit/2
  erlang:float_to_list/1
  erlang:float_to_list/2
  erlang:fun_info/2
  erlang:fun_to_list/1
  erlang:function_exported/3
  erlang:garbage_collect/0
  erlang:garbage_collect/1
  erlang:get/1
  erlang:get_module_info/1
  erlang:get_module_info/2
  erlang:get_stacktrace/0
  erlang:group_leader/0
  erlang:group_leader/2
  erlang:integer_to_binary/1
  erlang:integer_to_list/1
  erlang:iolist_size/1
  erlang:iolist_to_binary/1
  erlang:is_builtin/3
  erlang:is_map/1
  erlang:is_process_alive/1
  erlang:link/1
  erlang:list_to_atom/1
  erlang:list_to_binary/1
  erlang:list_to_existing_atom/1
  erlang:list_to_float/1
  erlang:list_to_integer/1
  erlang:list_to_integer/2
  erlang:list_to_tuple/1
  erlang:load_nif/2
  erlang:localtime/0
  erlang:make_fun/3
  erlang:make_ref/0
  erlang:map_size/1
  erlang:max/2
  erlang:md5/1
  erlang:min/2
  erlang:monitor/2
  erlang:now/0
  erlang:open_port/2
  erlang:phash2/1
  erlang:pid_to_list/1
  erlang:port_close/1
  erlang:port_to_list/1
  erlang:process_flag/2
  erlang:process_info/2
  erlang:processes/0
  erlang:put/2
  erlang:raise/3
  erlang:ref_to_list/1
  erlang:registered/0
  erlang:send_after/3
  erlang:split_binary/2
  erlang:statistics/1
  erlang:term_to_binary/1
  erlang:unlink/1
  erlang:whereis/1
  error_logger:add_report_handler/1
  error_logger:delete_report_handler/1
  error_logger:error_msg/2
  error_logger:error_report/1
  error_logger:info_msg/2
  error_logger:info_report/1
  error_logger:warning_msg/1
  error_logger:warning_msg/2
  error_logger:warning_report/1
  escript:script_name/0
  ets:delete/1
  ets:delete_all_objects/1
  ets:give_away/3
  ets:info/1
  ets:info/2
  ets:insert/2
  ets:insert_new/2
  ets:lookup/2
  ets:lookup_element/3
  ets:match_spec_compile/1
  ets:match_spec_run/2
  ets:new/2
  ets:setopts/2
  ets:tab2list/1
  ets:update_counter/3
  eunit:test/1
  eunit_listener:start/2
  file:close/1
  file:consult/1
  file:datasync/1
  file:del_dir/1
  file:delete/1
  file:format_error/1
  file:get_cwd/0
  file:list_dir/1
  file:make_dir/1
  file:make_symlink/2
  file:open/2
  file:path_open/3
  file:position/2
  file:pread/2
  file:pread/3
  file:read/2
  file:read_file/1
  file:read_file_info/1
  file:rename/2
  file:script/1
  file:sync/1
  file:truncate/1
  file:write/2
  file:write_file/2
  file:write_file_info/2
  filelib:ensure_dir/1
  filelib:is_dir/1
  filelib:is_file/1
  filelib:is_regular/1
  filelib:wildcard/1
  filelib:wildcard/2
  filename:absname/1
  filename:basename/1
  filename:basename/2
  filename:dirname/1
  filename:extension/1
  filename:join/1
  filename:join/2
  filename:split/1
  gb_sets:is_element/2
  gb_sets:is_empty/1
  gb_sets:is_set/1
  gb_trees:delete_any/2
  gb_trees:empty/0
  gb_trees:enter/3
  gb_trees:get/2
  gb_trees:insert/3
  gb_trees:lookup/2
  gb_trees:update/3
  gb_trees:values/1
  gen_event:add_sup_handler/3
  gen_event:call/3
  gen_event:call/4
  gen_event:delete_handler/3
  gen_event:notify/2
  gen_event:sync_notify/2
  gen_event:which_handlers/1
  gen_server:call/2
  gen_server:call/3
  gen_server:cast/2
  gen_server:reply/2
  gen_server:start/3
  gen_server:start/4
  gen_server:start_link/3
  gen_server:start_link/4
  gen_tcp:accept/2
  gen_tcp:close/1
  gen_tcp:connect/4
  gen_tcp:listen/2
  gen_tcp:recv/3
  gen_tcp:send/2
  httpd_util:day/1
  httpd_util:month/1
  httpd_util:reason_phrase/1
  httpd_util:rfc1123_date/0
  httpd_util:rfc1123_date/1
  inet:getaddr/2
  inet:parse_address/1
  inet:peername/1
  inet:port/1
  inet:setopts/2
  inet_parse:address/1
  inet_parse:ntoa/1
  init:get_argument/1
  init:stop/1
  io:columns/0
  io:format/1
  io:format/2
  io:format/3
  io:fwrite/2
  io:nl/0
  io:put_chars/1
  io:put_chars/2
  io:request/2
  io_lib:deep_char_list/1
  io_lib:format/2
  io_lib:fread/2
  io_lib:fwrite/2
  io_lib:printable_list/1
  io_lib:write/1
  io_lib:write/2
  io_lib:write_atom/1
  io_lib:write_char/1
  io_lib:write_string/1
  io_lib_format:fwrite_g/1
  io_lib_pretty:print/4
  lager_default_tracer:info/1
  lib:format_exception/6
  lists:append/1
  lists:concat/1
  lists:duplicate/2
  lists:flatlength/1
  lists:keystore/4
  lists:keytake/3
  lists:prefix/2
  lists:seq/2
  lists:seq/3
  lists:sublist/2
  lists:sublist/3
  lists:sum/1
  maps:to_list/1
  math:log10/1
  math:pow/2
  math:sqrt/1
  mustache:render/2
  orddict:append_list/3
  orddict:fetch/2
  orddict:fetch_keys/1
  orddict:find/2
  orddict:fold/3
  orddict:from_list/1
  orddict:is_key/2
  orddict:new/0
  orddict:size/1
  orddict:store/3
  orddict:update_counter/3
  ordsets:add_element/2
  ordsets:fold/3
  ordsets:from_list/1
  ordsets:intersection/2
  ordsets:is_element/2
  ordsets:is_set/1
  ordsets:new/0
  ordsets:size/1
  ordsets:union/2
  os:cmd/1
  os:getenv/1
  os:timestamp/0
  os:type/0
  proc_lib:hibernate/3
  proc_lib:spawn/1
  proc_lib:spawn_link/3
  proplists:delete/2
  proplists:get_all_values/2
  proplists:get_bool/2
  proplists:get_keys/1
  proplists:get_value/2
  proplists:get_value/3
  proplists:is_defined/2
  proplists:lookup/2
  queue:from_list/1
  queue:in/2
  queue:new/0
  queue:out/1
  queue:to_list/1
  random:seed/3
  random:seed0/0
  random:uniform/0
  random:uniform/1
  re:compile/1
  re:compile/2
  re:replace/4
  re:run/2
  re:run/3
  re:split/2
  re:split/3
  rebar_config:get_local/3
  rebar_mustache:render/2
  rebar_rel_utils:get_target_dir/2
  rebar_rel_utils:is_rel_dir/0
  rebar_rel_utils:load_config/2
  rpc:call/4
  rpc:multicall/4
  rpc:multicall/5
  sets:add_element/2
  sets:del_element/2
  sets:from_list/1
  sets:is_element/2
  sets:is_set/1
  sets:new/0
  sets:size/1
  sets:to_list/1
  ssl:close/1
  ssl:connect/3
  ssl:listen/2
  ssl:peername/1
  ssl:recv/3
  ssl:send/2
  ssl:setopts/2
  ssl:sockname/1
  ssl:ssl_accept/1
  ssl:transport_accept/1
  string:centre/2
  string:chr/2
  string:cspan/2
  string:equal/2
  string:join/2
  string:left/2
  string:left/3
  string:len/1
  string:rchr/2
  string:right/2
  string:right/3
  string:str/2
  string:strip/1
  string:strip/2
  string:strip/3
  string:sub_string/2
  string:sub_string/3
  string:substr/2
  string:substr/3
  string:to_lower/1
  string:to_upper/1
  string:tokens/2
  supervisor:delete_child/2
  supervisor:start_child/2
  supervisor:start_link/3
  supervisor:terminate_child/2
  timer:cancel/1
  timer:now_diff/2
  timer:seconds/1
  timer:send_interval/2
  timer:sleep/1
  timer:tc/3
  unicode:characters_to_binary/1
  unicode:characters_to_binary/3
  unicode:characters_to_list/1
  unicode:characters_to_list/2
  xmerl:export_simple/2
  xmerl_html:'#element#'/5
  xmerl_lib:end_tag/1
  xmerl_lib:expand_element/1
  xmerl_lib:find_attribute/2
  xmerl_lib:mapxml/2
  xmerl_lib:start_tag/2
  xmerl_ucs:from_utf16be/1
  xmerl_ucs:from_utf8/1
  xmerl_ucs:to_utf8/1
Unknown types:
  calendar:datetime/0
  erl_scan:location/0
  erl_syntax:syntaxTree/0
  erlang:timestamp/0
  ets:comp_match_spec/0
  ets:tab/0
  ets:tid/0
  file:date_time/0
  file:filename/0
  file:io_device/0
  file:name/0
  file:name_all/0
  file:posix/0
  inet:hostname/0
  inet:ip_address/0
  meck_history:history_record/0
  ordsets:ordset/1
  proplists:property/0
  proplists:proplist/0
  ssl:sslsocket/0
  supervisor:child_spec/0
  unicode:charlist/0
 done in 0m12.60s
done (passed successfully)
==> develop.287cc4c.bug-gg-unicode_in_command.39c749d (dialyzer)





⬜ 0 of 2 Code reviews from organization basho

@gordonguthrie
Copy link
Contributor Author

Associated with this riak_test PR

basho/riak_test#1239

@hmmr
Copy link
Contributor

hmmr commented Dec 12, 2016

+1

1 similar comment
@andytill
Copy link
Contributor

+1

@andytill andytill merged commit 8cb4bd2 into develop Dec 12, 2016
@hazen hazen deleted the bug-gg-unicode_in_command branch December 12, 2016 15:38
@@ -106,3 +110,13 @@ datetime() ->

pad(X) when is_integer(X) ->
io_lib:format("~2.10.0B", [X]).

-ifdef(TEST).
Copy link

Choose a reason for hiding this comment

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

Unit tests! Huzzah!

@hazen
Copy link

hazen commented Dec 12, 2016

Looks like we actually ignored the output of Thumbs @gordonguthrie

riak_shell_util: pretty_pr_with_unicode_test (module 'riak_shell_util')...*failed*
in function riak_shell_util:'-pretty_pr_with_unicode_test/0-fun-0-'/1 (src/riak_shell_util.erl, line 120)
**error:{assertEqual_failed,[{module,riak_shell_util},
                     {line,120},
                     {expression,"pretty_pr_cmd ( Input )"},
                     {expected,[8217,65,8217]},
                     {value,[226,128,153,65,226,128,153]}]}


=======================================================
  Failed: 1.  Skipped: 0.  Passed: 0.

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.

5 participants