Using worker: erlang.worker.travis-ci.org:travis-erlang-2\n\n$ git clone --depth=1000 --quiet git://github.com/travis-repos/proper.git ~/builds/travis-repos/proper\r\n$ git checkout -qf 0b378a2fcbedcc9c7b9381322274d694e99ff2a6\r\n$ source /home/vagrant/otp/R14B03/activate\r\n$ ./rebar get-deps\r\n==> proper (get-deps)\r\n$ ./rebar eunit\r\n==> proper (eunit)\r\nCompiled src/strip_types.erl\r\nCompiled src/vararg.erl\r\nCompiled src/proper_transformer.erl\r\nCompiled src/proper_prop_remover.erl\r\nCompiled src/proper_typeserver.erl\r\nCompiled src/proper_statem.erl\r\nCompiled src/proper_fsm.erl\r\nCompiled test/no_native_parse_test.erl\r\nCompiled test/weird_types.erl\r\nCompiled test/post_false.erl\r\nCompiled test/no_out_of_forall_test.erl\r\nCompiled test/error_statem.erl\r\nCompiled test/pdict_fsm.erl\r\nCompiled test/rec_test1.erl\r\nCompiled test/pdict_statem.erl\r\nCompiled test/types_test1.erl\r\nCompiled test/command_props.erl\r\nCompiled test/auto_export_test2.erl\r\nCompiled test/numbers_fsm.erl\r\nCompiled test/nogen_statem.erl\r\nCompiled test/ets_counter.erl\r\nCompiled test/symb_statem.erl\r\nCompiled test/ets_statem.erl\r\nCompiled test/types_test2.erl\r\nCompiled test/rec_props_test2.erl\r\nCompiled test/rec_props_test1.erl\r\nCompiled test/to_remove.erl\r\nCompiled test/auto_export_test1.erl\r\nCompiled test/rec_test2.erl\r\nCompiled test/prec_false.erl\r\nCompiled src/proper_ordsets.erl\r\nCompiled src/proper_gb_trees.erl\r\nCompiled src/proper_gen.erl\r\nCompiled src/proper_sets.erl\r\nCompiled src/proper.erl\r\nCompiled src/proper_dict.erl\r\nCompiled src/proper_array.erl\r\nCompiled src/proper_orddict.erl\r\nCompiled src/proper_gb_sets.erl\r\nCompiled src/proper_types.erl\r\nCompiled src/proper_shrink.erl\r\nCompiled src/proper_queue.erl\r\nCompiled src/proper_arith.erl\r\nCompiled src/proper_symb.erl\r\nCompiled test/proper_tests.erl\r\n  All 429 tests passed.\r\n\nDone. Build script exited with: 0\n
Using worker: staging.worker.travis-ci.org:travis-staging-2\n\n$ rvm use 1.8.7\r\n\e[32mUsing /home/vagrant/.rvm/gems/ruby-1.8.7-p352\e[m\e(B\r\n$ export CI=1 SUITE=1 \r\n$ git clone --depth=1000 --quiet git://github.com/travis-repos/yard.git ~/builds/travis-repos/yard\r\n$ git checkout -qf 5857e3864d3f3d28608617ce7464b6857da0b53c\r\n$ bundle install --path vendor/bundle\r\nFetching source index for http://rubygems.org/\r\nInstalling rake (0.9.2) \r\nInstalling RedCloth (4.2.7) with native extensions \r\nInstalling diff-lcs (1.1.2) \r\nInstalling kramdown (0.13.3) \r\nInstalling rack (1.3.1) \r\nInstalling rdiscount (1.6.8) with native extensions \r\nInstalling rspec-core (2.6.4) \r\nInstalling rspec-expectations (2.6.0) \r\nInstalling rspec-mocks (2.6.0) \r\nInstalling rspec (2.6.0) \r\nUsing bundler (1.0.15) \r\n\e[32mYour bundle is complete! It was installed into ./vendor/bundle\e[0m\r\n$ bundle exec rake travis_ci\r\n.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................FF.....................................................................................................................................................\r\n\r\nFailures:\r\n\r\n  1) YARD::CLI::Yardoc#find_object should use cache if available\r\n     Failure/Error: @yri.find_object('Foo').should == 'OBJ'\r\n       <File (class)> received :exist? with unexpected arguments\r\n         expected: (\".yardoc\")\r\n              got: (\"foo\")\r\n     # ./lib/yard/cli/yri.rb:115:in `find_object'\r\n     # ./lib/yard/cli/yri.rb:114:in `each'\r\n     # ./lib/yard/cli/yri.rb:114:in `find_object'\r\n     # ./spec/cli/yri_spec.rb:21\r\n\r\n  2) YARD::CLI::Yardoc#find_object should never use cache ahead of current directory's .yardoc\r\n     Failure/Error: @yri.find_object('Foo').should == 'OBJ'\r\n       <File (class)> received :exist? with unexpected arguments\r\n         expected: (\".yardoc\")\r\n              got: (\"foo\")\r\n     # ./lib/yard/cli/yri.rb:115:in `find_object'\r\n     # ./lib/yard/cli/yri.rb:114:in `each'\r\n     # ./lib/yard/cli/yri.rb:114:in `find_object'\r\n     # ./spec/cli/yri_spec.rb:30\r\n\r\nFinished in 6.59 seconds\r\n1256 examples, 2 failures\r\n\r\nFailed examples:\r\n\r\nrspec ./spec/cli/yri_spec.rb:14 # YARD::CLI::Yardoc#find_object should use cache if available\r\nrspec ./spec/cli/yri_spec.rb:24 # YARD::CLI::Yardoc#find_object should never use cache ahead of current directory's .yardoc\r\nrake aborted!\r\nruby -S bundle exec rspec --format progress --require /home/vagrant/builds/travis-repos/yard/spec/spec_helper -I /home/vagrant/builds/travis-repos/yard/lib spec/verifier_spec.rb spec/templates/template_spec.rb spec/templates/tag_spec.rb spec/templates/section_spec.rb spec/templates/onefile_spec.rb spec/templates/module_spec.rb spec/templates/method_spec.rb spec/templates/helpers/text_helper_spec.rb spec/templates/helpers/method_helper_spec.rb spec/templates/helpers/markup_helper_spec.rb spec/templates/helpers/markup/rdoc_markup_spec.rb spec/templates/helpers/html_syntax_highlight_helper_spec.rb spec/templates/helpers/html_helper_spec.rb spec/templates/helpers/base_helper_spec.rb spec/templates/engine_spec.rb spec/templates/constant_spec.rb spec/templates/class_spec.rb spec/tags/ref_tag_list_spec.rb spec/tags/overload_tag_spec.rb spec/tags/library_spec.rb spec/tags/default_tag_spec.rb spec/tags/default_factory_spec.rb spec/server_spec.rb spec/server/webrick_servlet_spec.rb spec/server/static_caching_spec.rb spec/server/router_spec.rb spec/server/rack_adapter_spec.rb spec/server/doc_server_serializer_spec.rb spec/server/commands/static_file_command_spec.rb spec/server/commands/library_command_spec.rb spec/server/commands/base_spec.rb spec/server/adapter_spec.rb spec/serializers/yardoc_serializer_spec.rb spec/serializers/file_system_serializer_spec.rb spec/registry_store_spec.rb spec/registry_spec.rb spec/rake/yardoc_task_spec.rb spec/parser/tag_parsing_spec.rb spec/parser/source_parser_spec.rb spec/parser/ruby/ruby_parser_spec.rb spec/parser/ruby/legacy/token_list_spec.rb spec/parser/ruby/legacy/statement_list_spec.rb spec/parser/ruby/ast_node_spec.rb spec/parser/c_parser_spec.rb spec/parser/base_spec.rb spec/logging_spec.rb spec/handlers/yield_handler_spec.rb spec/handlers/visibility_handler_spec.rb spec/handlers/ruby/legacy/base_spec.rb spec/handlers/ruby/base_spec.rb spec/handlers/processor_spec.rb spec/handlers/private_constant_handler_spec.rb spec/handlers/module_handler_spec.rb spec/handlers/mixin_handler_spec.rb spec/handlers/method_handler_spec.rb spec/handlers/method_condition_handler_spec.rb spec/handlers/macro_handler_spec.rb spec/handlers/legacy_base_spec.rb spec/handlers/extend_handler_spec.rb spec/handlers/exception_handler_spec.rb spec/handlers/constant_handler_spec.rb spec/handlers/class_variable_handler_spec.rb spec/handlers/class_handler_spec.rb spec/handlers/class_condition_handler_spec.rb spec/handlers/base_spec.rb spec/handlers/attribute_handler_spec.rb spec/handlers/alias_handler_spec.rb spec/docstring_spec.rb spec/core_ext/symbol_hash_spec.rb spec/core_ext/string_spec.rb spec/core_ext/module_spec.rb spec/core_ext/insertion_spec.rb spec/core_ext/hash_spec.rb spec/core_ext/file_spec.rb spec/core_ext/array_spec.rb spec/config_spec.rb spec/code_objects/proxy_spec.rb spec/code_objects/namespace_object_spec.rb spec/code_objects/module_object_spec.rb spec/code_objects/method_object_spec.rb spec/code_objects/macro_object_spec.rb spec/code_objects/extra_file_object_spec.rb spec/code_objects/constants_spec.rb spec/code_objects/code_object_list_spec.rb spec/code_objects/class_object_spec.rb spec/code_objects/base_spec.rb spec/cli/yri_spec.rb spec/cli/yardoc_spec.rb spec/cli/stats_spec.rb spec/cli/server_spec.rb spec/cli/list_spec.rb spec/cli/help_spec.rb spec/cli/gems_spec.rb spec/cli/diff_spec.rb spec/cli/config_spec.rb spec/cli/command_spec.rb spec/cli/command_parser_spec.rb failed\r\n\r\nTasks: TOP => specs\r\n(See full trace by running task with --trace)\r\n\nDone. Build script exited with: 1\n
Using worker: staging.worker.travis-ci.org:travis-staging-2\n\n$ rvm use 1.8.6\r\n\e[32mUsing /home/vagrant/.rvm/gems/ruby-1.8.6-p420\e[m\e(B\r\n$ git clone --depth=1000 --quiet git://github.com/travis-repos/faraday.git ~/builds/travis-repos/faraday\r\n$ git checkout -qf 8567114572dbde51c173ab91ccc85e1e85716c36\r\n$ bundle install --path vendor/bundle\r\nFetching source index for http://rubygems.org/\r\nInstalling rake (0.9.2) \r\nInstalling activesupport (2.3.12) \r\nInstalling addressable (2.2.6) \r\nInstalling crack (0.1.8) \r\nInstalling escape_utils (0.2.3) with native extensions \r\nInstalling eventmachine (0.12.10) with native extensions \r\nInstalling em-http-request (0.3.0) with native extensions \r\nInstalling excon (0.6.5) \r\nInstalling leftright (0.9.1) \r\nInstalling mime-types (1.16) \r\nInstalling multipart-post (1.1.2) \r\nInstalling patron (0.4.13) with native extensions \r\nInstalling rack (1.2.0) \r\nInstalling tilt (1.3.2) \r\nInstalling sinatra (1.2.6) \r\nInstalling test-unit (2.3.0) \r\nInstalling typhoeus (0.2.4) with native extensions \r\nInstalling webmock (1.6.4) \r\nUsing bundler (1.0.15) \r\n\e[32mYour bundle is complete! It was installed into ./vendor/bundle\e[0m\r\n$ bundle exec rake test:live\r\n/home/vagrant/.rvm/rubies/ruby-1.8.6-p420/bin/ruby -I\"lib:lib:test\" -I\"/home/vagrant/builds/travis-repos/faraday/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib\" \"/home/vagrant/builds/travis-repos/faraday/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/rake_test_loader.rb\" \"test/**/*_test.rb\" \r\nLoaded suite /home/vagrant/builds/travis-repos/faraday/vendor/bundle/ruby/1.8/gems/rake-0.9.2/lib/rake/rake_test_loader\r\nStarted\r\n\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[33;1;40mE\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\r\n\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\r\n\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\e[42;37;1m.\e[0m\r\n\r\n  1) \e[33;1;40mError:\e[0m\r\ntest_Faraday::Adapter::Patron_HEAD_retrieves_the_response_headers(Adapters::LiveTest):\r\nPatron::HostResolutionError: name lookup timed out\r\n    /home/vagrant/builds/travis-repos/faraday/vendor/bundle/ruby/1.8/gems/patron-0.4.13/lib/patron/session.rb:215:in `handle_request'\r\n    /home/vagrant/builds/travis-repos/faraday/vendor/bundle/ruby/1.8/gems/patron-0.4.13/lib/patron/session.rb:215:in `request'\r\n    ./lib/faraday/adapter/patron.rb:16:in `call'\r\n    ./lib/faraday/response.rb:8:in `call'\r\n    ./lib/faraday/request/url_encoded.rb:14:in `call'\r\n    ./lib/faraday/request/multipart.rb:13:in `call'\r\n    ./lib/faraday/connection.rb:203:in `run_request'\r\n    ./lib/faraday/connection.rb:105:in `head'\r\n    /home/vagrant/builds/travis-repos/faraday/test/adapters/live_test.rb:124:in `test_Faraday::Adapter::Patron_HEAD_retrieves_the_response_headers'\r\n\r\nFinished in 66.839604 seconds.\r\n\r\n\e[33;1;40m192 tests, 265 assertions, 0 failures, 1 errors, 0 pendings, 0 omissions, 0 notifications\e[0m\r\n\e[33;1;40m99.4792% passed\e[0m\r\n\r\n2.87 tests/s, 3.96 assertions/s\r\nrake aborted!\r\nCommand failed with status (1): [/home/vagrant/.rvm/rubies/ruby-1.8.6-p420/...]\r\n\r\nTasks: TOP => test\r\n(See full trace by running task with --trace)\r\n\nDone. Build script exited with: 1\n
Using worker: staging.worker.travis-ci.org:travis-staging-2\n\n$ rvm use 1.8.7\r\n\e[32mUsing /home/vagrant/.rvm/gems/ruby-1.8.7-p352\e[m\e(B\r\n$ git clone --depth=1000 --quiet git://github.com/travis-repos/mongoid-tree.git ~/builds/travis-repos/mongoid-tree\r\n$ git checkout -qf 508be6b201b7d757793503d349ef78bbe38a6fb9\r\n$ bundle install --path vendor/bundle\r\nFetching source index for http://rubygems.org/\r\nInstalling rake (0.9.2) \r\nInstalling SystemTimer (1.2.3) with native extensions \r\nInstalling ZenTest (4.5.0) \r\nInstalling activesupport (3.0.9) \r\nInstalling builder (2.1.2) \r\nInstalling i18n (0.5.0) \r\nInstalling activemodel (3.0.9) \r\nInstalling autotest (4.4.6) \r\nInstalling bson (1.3.1) \r\nInstalling bson_ext (1.3.1) with native extensions \r\nInstalling diff-lcs (1.1.2) \r\nInstalling haml (3.0.25) \r\nInstalling rdoc (3.8) \r\nInstalling hanna-nouveau (0.2.3) \r\nInstalling mongo (1.3.1) \r\nInstalling tzinfo (0.3.29) \r\nInstalling mongoid (2.0.2) \r\nUsing mongoid-tree (0.6.0) from source at /home/vagrant/builds/travis-repos/mongoid-tree \r\nInstalling rspec-core (2.6.4) \r\nInstalling rspec-expectations (2.6.0) \r\nInstalling rspec-mocks (2.6.0) \r\nInstalling rspec (2.6.0) \r\nUsing bundler (1.0.15) \r\n\e[32mYour bundle is complete! It was installed into ./vendor/bundle\e[0m\r\n$ bundle exec rake\r\n/home/vagrant/.rvm/rubies/ruby-1.8.7-p352/bin/ruby -S bundle exec rspec ./spec/mongoid/tree_spec.rb ./spec/mongoid/tree/traversal_spec.rb ./spec/mongoid/tree/ordering_spec.rb\r\n\r\nMongoid::Tree\r\n\e[32m  should reference many children as inverse of parent with index\e[0m\r\n\e[32m  should be referenced in one parent as inverse of children\e[0m\r\n\e[32m  should store parent_ids as Array with [] as default with index\e[0m\r\n  when new\r\n\e[32m    should not require a saved parent when adding children\e[0m\r\n\e[32m    should not be saved when parent is not saved\e[0m\r\n\e[32m    should save its unsaved children\e[0m\r\n  when saved\r\n\e[32m    should set the child's parent_id when added to parent's children\e[0m\r\n\e[32m    should set the child's parent_id parent is set on child\e[0m\r\n\e[32m    should rebuild its parent_ids\e[0m\r\n\e[32m    should rebuild its children's parent_ids when its own parent_ids changed\e[0m\r\n\e[32m    should correctly rebuild its descendants' parent_ids when moved into an other subtree\e[0m\r\n\e[32m    should rebuild its children's parent_ids when its own parent_id is removed\e[0m\r\n\e[32m    should not rebuild its children's parent_ids when it's not required\e[0m\r\n\e[32m    should prevent cycles\e[0m\r\n\e[32m    should save its children when added\e[0m\r\n  when subclassed\r\n\e[32m    should allow to store any subclass within the tree\e[0m\r\n  destroy strategies\r\n    :nullify_children\r\n\e[32m      should set its children's parent_id to null\e[0m\r\n    :move_children_to_parent\r\n\e[32m      should set its childen's parent_id to the documents parent_id\e[0m\r\n    :destroy_children\r\n\e[32m      should destroy all children\e[0m\r\n    :delete_descendants\r\n\e[32m      should delete all descendants\e[0m\r\n  utility methods\r\n    .root\r\n\e[32m      should return the first root document\e[0m\r\n    .roots\r\n\e[32m      should return all root documents\e[0m\r\n    .leaves\r\n\e[32m      should return all leaf documents\e[0m\r\n    #root?\r\n\e[32m      should return true for root documents\e[0m\r\n\e[32m      should return false for non-root documents\e[0m\r\n    #leaf?\r\n\e[32m      should return true for leaf documents\e[0m\r\n\e[32m      should return false for non-leaf documents\e[0m\r\n    #depth\r\n\e[32m      should return the depth of this document\e[0m\r\n    #root\r\n\e[32m      should return the root for this document\e[0m\r\n\e[32m      should return itself when there is no root\e[0m\r\n\e[32m      should return it root when it's not saved yet\e[0m\r\n    ancestors\r\n\e[32m      #ancestors should return the documents ancestors\e[0m\r\n\e[32m      #ancestors_and_self should return the documents ancestors and itself\e[0m\r\n      #ancestor_of?\r\n\e[32m        should return true for ancestors\e[0m\r\n\e[32m        should return false for non-ancestors\e[0m\r\n    descendants\r\n\e[32m      #descendants should return the documents descendants\e[0m\r\n\e[32m      #descendants_and_self should return the documents descendants and itself\e[0m\r\n      #descendant_of?\r\n\e[32m        should return true for descendants\e[0m\r\n\e[32m        should return false for non-descendants\e[0m\r\n    siblings\r\n\e[32m      #siblings should return the documents siblings\e[0m\r\n\e[32m      #siblings_and_self should return the documents siblings and itself\e[0m\r\n      #sibling_of?\r\n\e[32m        should return true for siblings\e[0m\r\n\e[32m        should return false for non-siblings\e[0m\r\n    #leaves\r\n\e[32m      should return this documents leaves\e[0m\r\n  callbacks\r\n\e[32m    should provide a before_rearrange callback\e[0m\r\n\e[32m    should provida an after_rearrange callback\e[0m\r\n    before rearrange callback\r\n\e[32m      should be called before the document is rearranged\e[0m\r\n    after rearrange callback\r\n\e[32m      should be called after the document is rearranged\e[0m\r\n\r\nMongoid::Tree::Traversal\r\n  #traverse\r\n\e[32m    should require a block\e[0m\r\n\e[32m    should support depth_first traversal\e[0m\r\n\e[32m    should support breadth_first traversal\e[0m\r\n\e[32m    should complain about unsupported traversal methods\e[0m\r\n\e[32m    should default to depth_first traversal\e[0m\r\n  depth first traversal\r\n\e[32m    should traverse correctly\e[0m\r\n\e[32m    should traverse correctly on merged trees\e[0m\r\n    with reordered nodes\r\n\e[32m      should return the nodes in the correct order\e[0m\r\n  breadth first traversal\r\n\e[32m    should traverse correctly\e[0m\r\n  .traverse\r\n\e[32m    grabs each root\e[0m\r\n\e[32m    defaults the \"type\" arg to :depth_first\e[0m\r\n\e[32m    traverses each root\e[0m\r\n\e[32m    returns nil\e[0m\r\n    when not given a block\r\n\e[32m      raises an error\e[0m\r\n    when the \"type\" arg is :breadth_first\r\n\e[32m      traverses breadth-first\e[0m\r\n\r\nMongoid::Tree::Ordering\r\n\e[32m  should store position as an Integer with a default of nil\e[0m\r\n  when saved\r\n\e[32m    should assign a default position of 0 to each node without a sibling\e[0m\r\n\e[32m    should place siblings at the end of the list by default\e[0m\r\n\e[32m    should move a node to the end of a list when it is moved to a new parent\e[0m\r\n\e[32m    should correctly reposition siblings when one of them is removed\e[0m\r\n\e[32m    should correctly reposition siblings when one of them is added to another parent\e[0m\r\n\e[32m    should correctly reposition siblings when the parent is changed\e[0m\r\n\e[32m    should not reposition siblings when it's not yet saved\e[0m\r\n  destroy strategies\r\n    :move_children_to_parent\r\n\e[32m      should set its childen's parent_id to the documents parent_id\e[0m\r\n  utility methods\r\n    #lower_siblings\r\n\e[32m      should return a collection of siblings lower on the list\e[0m\r\n    #higher_siblings\r\n\e[32m      should return a collection of siblings lower on the list\e[0m\r\n    #at_top?\r\n\e[32m      should return true when the node is first in the list\e[0m\r\n\e[32m      should return false when the node is not first in the list\e[0m\r\n    #at_bottom?\r\n\e[32m      should return true when the node is last in the list\e[0m\r\n\e[32m      should return false when the node is not last in the list\e[0m\r\n    #last_sibling_in_list\r\n\e[32m      should return the last sibling in the list containing the current sibling\e[0m\r\n    #first_sibling_in_list\r\n\e[32m      should return the first sibling in the list containing the current sibling\e[0m\r\n  moving nodes around\r\n    #move_below\r\n\e[32m      should fix positions within the current list when moving an sibling away from its current parent\e[0m\r\n\e[32m      should work when moving to a different parent\e[0m\r\n\e[32m      should be able to move the first node below the second node\e[0m\r\n\e[32m      should be able to move the last node below the first node\e[0m\r\n    #move_above\r\n\e[32m      should fix positions within the current list when moving an sibling away from its current parent\e[0m\r\n\e[32m      should work when moving to a different parent\e[0m\r\n\e[32m      should be able to move the last node above the second node\e[0m\r\n\e[32m      should be able to move the first node above the last node\e[0m\r\n    #move_to_top\r\n\e[32m      should return true when attempting to move the first sibling\e[0m\r\n\e[32m      should be able to move the last sibling to the top\e[0m\r\n    #move_to_bottom\r\n\e[32m      should return true when attempting to move the last sibling\e[0m\r\n\e[32m      should be able to move the first sibling to the bottom\e[0m\r\n    #move_up\r\n\e[32m      should correctly move nodes up\e[0m\r\n    #move_down\r\n\e[32m      should correctly move nodes down\e[0m\r\n\r\nFinished in 2.83 seconds\r\n\e[32m94 examples, 0 failures\e[0m\r\n\nDone. Build script exited with: 0\n
Using worker: staging.worker.travis-ci.org:travis-staging-1\n\n$ rvm use 1.8.6\r\n\e[32mUsing /home/vagrant/.rvm/gems/ruby-1.8.6-p420\e[m\e(B\r\n$ git clone --depth=1000 --quiet git://github.com/travis-repos/chunky_png.git ~/builds/travis-repos/chunky_png\r\n$ git checkout -qf 898d6700b371c2417bf9d28b23515797fcb5a8b6\r\n$ bundle install --path vendor/bundle\r\nFetching source index for http://rubygems.org/\r\nInstalling rake (0.9.2) \r\nUsing chunky_png (1.2.0) from source at /home/vagrant/builds/travis-repos/chunky_png \r\nInstalling diff-lcs (1.1.2) \r\nInstalling rspec-core (2.6.4) \r\nInstalling rspec-expectations (2.6.0) \r\nInstalling rspec-mocks (2.6.0) \r\nInstalling rspec (2.6.0) \r\nUsing bundler (1.0.15) \r\n\e[32mYour bundle is complete! It was installed into ./vendor/bundle\e[0m\r\n$ bundle exec rake\r\nWARNING: Global access to Rake DSL methods is deprecated.  Please include\r\n    ...  Rake::DSL into classes and modules which use the Rake DSL methods.\r\nWARNING: DSL method GithubGem::RakeTasks#namespace called at ./tasks/github-gem.rake:76:in `define_rspec_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#desc called at ./tasks/github-gem.rake:77:in `define_rspec_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#desc called at ./tasks/github-gem.rake:82:in `define_rspec_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#desc called at ./tasks/github-gem.rake:88:in `define_rspec_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#desc called at ./tasks/github-gem.rake:96:in `define_rspec_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:97:in `define_rspec_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#namespace called at ./tasks/github-gem.rake:106:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#desc called at ./tasks/github-gem.rake:107:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:108:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#desc called at ./tasks/github-gem.rake:110:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:111:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#desc called at ./tasks/github-gem.rake:113:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:114:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:115:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:117:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:118:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:119:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:120:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#desc called at ./tasks/github-gem.rake:127:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:128:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#desc called at ./tasks/github-gem.rake:133:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:134:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#namespace called at ./tasks/github-gem.rake:136:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#desc called at ./tasks/github-gem.rake:137:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:138:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#desc called at ./tasks/github-gem.rake:140:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:141:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#desc called at ./tasks/github-gem.rake:143:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:144:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#desc called at ./tasks/github-gem.rake:146:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:147:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:152:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:153:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:154:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:155:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:157:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:158:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:159:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:160:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#desc called at ./tasks/github-gem.rake:162:in `define_tasks!'\r\nWARNING: DSL method GithubGem::RakeTasks#task called at ./tasks/github-gem.rake:163:in `define_tasks!'\r\n/home/vagrant/.rvm/rubies/ruby-1.8.6-p420/bin/ruby -S bundle exec rspec --format documentation --color spec/png_suite_spec.rb spec/chunky_png_spec.rb spec/chunky_png/vector_spec.rb spec/chunky_png/rmagick_spec.rb spec/chunky_png/point_spec.rb spec/chunky_png/image_spec.rb spec/chunky_png/dimension_spec.rb spec/chunky_png/datastream_spec.rb spec/chunky_png/color_spec.rb spec/chunky_png/canvas_spec.rb spec/chunky_png/canvas/stream_importing_spec.rb spec/chunky_png/canvas/stream_exporting_spec.rb spec/chunky_png/canvas/resampling_spec.rb spec/chunky_png/canvas/png_encoding_spec.rb spec/chunky_png/canvas/png_decoding_spec.rb spec/chunky_png/canvas/operations_spec.rb spec/chunky_png/canvas/masking_spec.rb spec/chunky_png/canvas/drawing_spec.rb spec/chunky_png/canvas/adam7_interlacing_spec.rb\r\n\r\nPNG testuite\r\n  Decoding broken images\r\n\e[32m    should report xlfn0g04.png as broken\e[0m\r\n\e[32m    should not report xlfn0g04.png as unsupported\e[0m\r\n\e[32m    should report xcrn0g04.png as broken\e[0m\r\n\e[32m    should not report xcrn0g04.png as unsupported\e[0m\r\n\e[32m    should report x00n0g01.png as broken\e[0m\r\n\e[32m    should not report x00n0g01.png as unsupported\e[0m\r\n  Decoding supported images\r\n\e[32m    should decode basn6a16.png (color mode: 6, bit depth: 16) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basn6a08.png (color mode: 6, bit depth: 8) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basn4a16.png (color mode: 4, bit depth: 16) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basn4a08.png (color mode: 4, bit depth: 8) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basn3p08.png (color mode: 3, bit depth: 8) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basn3p04.png (color mode: 3, bit depth: 4) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basn3p02.png (color mode: 3, bit depth: 2) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basn3p01.png (color mode: 3, bit depth: 1) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basn2c16.png (color mode: 2, bit depth: 16) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basn2c08.png (color mode: 2, bit depth: 8) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basn0g16.png (color mode: 0, bit depth: 16) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basn0g08.png (color mode: 0, bit depth: 8) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basn0g04.png (color mode: 0, bit depth: 4) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basn0g02.png (color mode: 0, bit depth: 2) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basn0g01.png (color mode: 0, bit depth: 1) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basi6a16.png (color mode: 6, bit depth: 16) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basi6a08.png (color mode: 6, bit depth: 8) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basi4a16.png (color mode: 4, bit depth: 16) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basi4a08.png (color mode: 4, bit depth: 8) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basi3p08.png (color mode: 3, bit depth: 8) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basi3p04.png (color mode: 3, bit depth: 4) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basi3p02.png (color mode: 3, bit depth: 2) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basi3p01.png (color mode: 3, bit depth: 1) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basi2c16.png (color mode: 2, bit depth: 16) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basi2c08.png (color mode: 2, bit depth: 8) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basi0g16.png (color mode: 0, bit depth: 16) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basi0g08.png (color mode: 0, bit depth: 8) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basi0g04.png (color mode: 0, bit depth: 4) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basi0g02.png (color mode: 0, bit depth: 2) exactly the same as the reference image\e[0m\r\n\e[32m    should decode basi0g01.png (color mode: 0, bit depth: 1) exactly the same as the reference image\e[0m\r\n  Decoding text chunks\r\n\e[32m    should not find metadata in a file without text chunks\e[0m\r\n  Decoding filter methods\r\n\e[32m    should decode f04n2c08.png (filter method: 4) exactly the same as the reference image\e[0m\r\n\e[32m    should decode f04n0g08.png (filter method: 4) exactly the same as the reference image\e[0m\r\n\e[32m    should decode f03n2c08.png (filter method: 3) exactly the same as the reference image\e[0m\r\n\e[32m    should decode f03n0g08.png (filter method: 3) exactly the same as the reference image\e[0m\r\n\e[32m    should decode f02n2c08.png (filter method: 2) exactly the same as the reference image\e[0m\r\n\e[32m    should decode f02n0g08.png (filter method: 2) exactly the same as the reference image\e[0m\r\n\e[32m    should decode f01n2c08.png (filter method: 1) exactly the same as the reference image\e[0m\r\n\e[32m    should decode f01n0g08.png (filter method: 1) exactly the same as the reference image\e[0m\r\n\e[32m    should decode f00n2c08.png (filter method: 0) exactly the same as the reference image\e[0m\r\n\e[32m    should decode f00n0g08.png (filter method: 0) exactly the same as the reference image\e[0m\r\n  Decoding different chunk splits\r\n\e[32m    should decode grayscale images successfully regardless of the data chunk ordering and splitting\e[0m\r\n\e[32m    should decode color images successfully regardless of the data chunk ordering and splitting\e[0m\r\n  Decoding different compression levels\r\n\e[32m    should decode the image successfully regardless of the compression level\e[0m\r\n  Decoding transparency\r\n\e[32m    should not have transparency in tp0n3p08.png\e[0m\r\n\e[32m    should not have transparency in tp0n2c08.png\e[0m\r\n\e[32m    should not have transparency in tp0n1g08.png\e[0m\r\n\e[32m    should have transparency in tp1n3p08.png\e[0m\r\n\e[32m    should have transparency in tbyn3p08.png\e[0m\r\n\e[32m    should have transparency in tbwn3p08.png\e[0m\r\n\e[32m    should have transparency in tbwn1g16.png\e[0m\r\n\e[32m    should have transparency in tbrn2c08.png\e[0m\r\n\e[32m    should have transparency in tbgn3p08.png\e[0m\r\n\e[32m    should have transparency in tbgn2c16.png\e[0m\r\n\e[32m    should have transparency in tbbn3p08.png\e[0m\r\n\e[32m    should have transparency in tbbn2c16.png\e[0m\r\n\e[32m    should have transparency in tbbn1g04.png\e[0m\r\n  Decoding different sizes\r\n\e[32m    should create a canvas with a 40x40 size\e[0m\r\n\e[32m    should decode the 40x40 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 39x39 size\e[0m\r\n\e[32m    should decode the 39x39 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 38x38 size\e[0m\r\n\e[32m    should decode the 38x38 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 37x37 size\e[0m\r\n\e[32m    should decode the 37x37 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 36x36 size\e[0m\r\n\e[32m    should decode the 36x36 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 35x35 size\e[0m\r\n\e[32m    should decode the 35x35 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 34x34 size\e[0m\r\n\e[32m    should decode the 34x34 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 33x33 size\e[0m\r\n\e[32m    should decode the 33x33 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 32x32 size\e[0m\r\n\e[32m    should decode the 32x32 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 9x9 size\e[0m\r\n\e[32m    should decode the 9x9 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 8x8 size\e[0m\r\n\e[32m    should decode the 8x8 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 7x7 size\e[0m\r\n\e[32m    should decode the 7x7 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 6x6 size\e[0m\r\n\e[32m    should decode the 6x6 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 5x5 size\e[0m\r\n\e[32m    should decode the 5x5 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 4x4 size\e[0m\r\n\e[32m    should decode the 4x4 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 3x3 size\e[0m\r\n\e[32m    should decode the 3x3 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 2x2 size\e[0m\r\n\e[32m    should decode the 2x2 interlaced image exactly the same the non-interlaced version\e[0m\r\n\e[32m    should create a canvas with a 1x1 size\e[0m\r\n\e[32m    should decode the 1x1 interlaced image exactly the same the non-interlaced version\e[0m\r\n\r\nChunkyPNG\r\n\e[32m  should have a VERSION constant\e[0m\r\n\r\nChunkyPNG::Vector\r\n\e[32m  should respond to #points\e[0m\r\n\e[32m  should have 3 items\e[0m\r\n  #x_range\r\n\e[32m    should get the right range of x values\e[0m\r\n\e[32m    should find the minimum x-coordinate\e[0m\r\n\e[32m    should find the maximum x-coordinate\e[0m\r\n\e[32m    should calculate the width correctly\e[0m\r\n  #y_range\r\n\e[32m    should get the right range of y values\e[0m\r\n\e[32m    should find the minimum x-coordinate\e[0m\r\n\e[32m    should find the maximum x-coordinate\e[0m\r\n\e[32m    should calculate the height correctly\e[0m\r\n  #offset\r\n\e[32m    should return a ChunkyPNG::Point\e[0m\r\n\e[32m    should use the mininum x and y coordinates as values for the point\e[0m\r\n  #dimension\r\n\e[32m    should return a ChunkyPNG::Dimension\e[0m\r\n\e[32m    should use the width and height of the vector for the dimension\e[0m\r\n  #edges\r\n\e[32m    should get three edges when closing the path\e[0m\r\n\e[32m    should get two edges when not closing the path\e[0m\r\n\r\nChunkyPNG.Vector\r\n\e[32m  should return an empty vector when given an empty array\e[0m\r\n\e[32m  should raise an error when an odd number of numerics is given\e[0m\r\n\e[32m  should create a vector from a string\e[0m\r\n\e[32m  should create a vector from a flat array\e[0m\r\n\e[32m  should create a vector from a nested array\e[0m\r\n\r\nChunkyPNG::Point\r\n\e[32m  should respond to #x\e[0m\r\n\e[32m  should respond to #y\e[0m\r\n  #within_bounds?\r\n\e[32m    should be within bounds 2 and 3\e[0m\r\n\e[32m    should not be within bounds \"1x3\"\e[0m\r\n\e[32m    should not be within bounds 2 and 2\e[0m\r\n\e[32m    should not be within bounds \"[1 2]\"\e[0m\r\n  #<=>\r\n\e[32m    should return 0 if the coordinates are identical\e[0m\r\n\e[32m    should return -1 if the y coordinate is smaller than the other one\e[0m\r\n\e[32m    should return 1 if the y coordinate is larger than the other one\e[0m\r\n\e[32m    should return -1 if the x coordinate is smaller and y is the same\e[0m\r\n\e[32m    should return 1 if the x coordinate is larger and y is the same\e[0m\r\n\r\nChunkyPNG.Point\r\n\e[32m  should create a point from a 2-item array\e[0m\r\n\e[32m  should create a point from a hash with x and y keys\e[0m\r\n\e[32m  should create a point from a point-like string\e[0m\r\n\e[32m  should create a point from an object that responds to x and y\e[0m\r\n\e[32m  should raise an exception if the input is not understood\e[0m\r\n\r\nChunkyPNG::Image\r\n  #metadata\r\n\e[32m    should load metadata from an existing file\e[0m\r\n\e[32m    should write metadata to the file correctly\e[0m\r\n\r\nChunkyPNG::Dimension\r\n\e[32m  should respond to #width\e[0m\r\n\e[32m  should respond to #height\e[0m\r\n  #area\r\n\e[32m    should calculate the area correctly\e[0m\r\n\r\nChunkyPNG.Dimension\r\n\e[32m  should create a dimension from a 2-item array\e[0m\r\n\e[32m  should create a dimension from a hash with x and y keys\e[0m\r\n\e[32m  should create a dimension from a point-like string\e[0m\r\n\e[32m  should create a dimension from an object that responds to width and height\e[0m\r\n\e[32m  should raise an exception if the input is not understood\e[0m\r\n\r\nChunkyPNG::Datastream\r\n  .from_io\r\n\e[32m    should raise an error when loading a file with a bad signature\e[0m\r\n\e[32m    should raise an error if the CRC of a chunk is incorrect\e[0m\r\n  #metadata\r\n\e[32m    should load uncompressed tXTt chunks correctly\e[0m\r\n\e[32m    should load compressed zTXt chunks correctly\e[0m\r\n\r\nChunyPNG.Color\r\n\e[32m  should interpret 4 arguments as RGBA values\e[0m\r\n\e[32m  should interpret 3 arguments as RGBA values\e[0m\r\n\e[32m  should interpret 2 arguments as a color to parse and an opacity value\e[0m\r\n\e[32m  should interpret 1 argument as a color to parse\e[0m\r\n\r\nChunkyPNG::Color\r\n  #parse\r\n\e[32m    should interpret a hex string correctly\e[0m\r\n\e[32m    should interpret a color name correctly\e[0m\r\n\e[32m    should return numbers as is\e[0m\r\n  #pixel_bytesize\r\n\e[32m    should return the normal amount of bytes with a bit depth of 8\e[0m\r\n\e[32m    should return a multiple of the normal amount of bytes with a bit depth greater than 8\e[0m\r\n\e[32m    should return 1 with a bit depth lower than 0\e[0m\r\n  #pass_bytesize\r\n\e[32m    should calculate a pass size correctly\e[0m\r\n\e[32m    should return 0 if one of the dimensions is zero\e[0m\r\n  #rgba\r\n\e[32m    should represent pixels as the correct number\e[0m\r\n  #from_hex\r\n\e[32m    should load colors correctlt from hex notation\e[0m\r\n\e[32m    should allow setting opacity explicitely\e[0m\r\n  #html_color\r\n\e[32m    should find the correct color value\e[0m\r\n\e[32m    should set the opacity level explicitely\e[0m\r\n\e[32m    should set opacity levels from the color name\e[0m\r\n\e[32m    should raise for an unkown color name\e[0m\r\n  #opaque?\r\n\e[32m    should correctly check for opaqueness\e[0m\r\n  extractiion of separate color channels\r\n\e[32m    should extract components from a color correctly\e[0m\r\n  #grayscale_teint\r\n\e[32m    should calculate the correct grayscale teint\e[0m\r\n  #to_grayscale\r\n\e[32m    should use the grayscale teint for r, g and b\e[0m\r\n\e[32m    should preserve the alpha channel\e[0m\r\n  #to_hex\r\n\e[32m    should represent colors correcly using hex notation\e[0m\r\n\e[32m    should represent colors correcly using hex notation without alpha channel\e[0m\r\n  conversion to other formats\r\n\e[32m    should convert the individual color values back correctly\e[0m\r\n  #compose\r\n\e[32m    should use the foregorund color as is when the background color is fully transparent\e[0m\r\n\e[32m    should use the foregorund color as is when an opaque color is given as foreground color\e[0m\r\n\e[32m    should use the background color as is when a fully transparent pixel is given as foreground color\e[0m\r\n\e[32m    should compose pixels correctly with both algorithms\e[0m\r\n  #decompose_alpha\r\n\e[32m    should decompose the alpha channel correctly\e[0m\r\n  #blend\r\n\e[32m    should blend colors correctly\e[0m\r\n\e[32m    should not matter what color is used as foreground, and what as background\e[0m\r\n\r\nChunkyPNG::Canvas\r\n\e[32m  should respond to #width\e[0m\r\n\e[32m  should respond to #height\e[0m\r\n\e[32m  should respond to #pixels\e[0m\r\n  #initialize\r\n\e[32m    should accept a single color value as background color\e[0m\r\n\e[32m    should raise an error if the color value is not understood\e[0m\r\n\e[32m    should accept an array as initial pixel values\e[0m\r\n\e[32m    should raise an ArgumentError if the initial array does not have the correct number of elements\e[0m\r\n\e[32m    should use a transparent background by default\e[0m\r\n  #dimension\r\n\e[32m    should return the dimensions as a Dimension instance\e[0m\r\n  #area\r\n\e[32m    should return the dimensions as two-item array\e[0m\r\n  #include?\r\n\e[32m    should return true if the coordinates are within bounds, false otherwise\e[0m\r\n\e[32m    should accept strings, arrays, hashes and points as well\e[0m\r\n  #include_x?\r\n\e[32m    should return true if the x-coordinate is within bounds, false otherwise\e[0m\r\n  #include_y?\r\n\e[32m    should return true if the y-coordinate is within bounds, false otherwise\e[0m\r\n  #assert_xy!\r\n\e[32m    should not raise an exception if the coordinates are within bounds\e[0m\r\n\e[32m    should raise an exception if the coordinates are out of bounds bounds\e[0m\r\n  #assert_x!\r\n\e[32m    should not raise an exception if the x-coordinate is within bounds\e[0m\r\n\e[32m    should raise an exception if the x-coordinate is out of bounds bounds\e[0m\r\n  #[]\r\n\e[32m    should return the pixel value if the coordinates are within bounds\e[0m\r\n\e[32m    should assert the coordinates to be within bounds\e[0m\r\n  #get_pixel\r\n\e[32m    should return the pixel value if the coordinates are within bounds\e[0m\r\n\e[32m    should not assert nor check the coordinates\e[0m\r\n  #[]=\r\n\e[32m    should change the pixel's color value\e[0m\r\n\e[32m    should assert the bounds of the image\e[0m\r\n  set_pixel\r\n\e[32m    should change the pixel's color value\e[0m\r\n\e[32m    should not assert or check the bounds of the image\e[0m\r\n  #set_pixel_if_within_bounds\r\n\e[32m    should change the pixel's color value\e[0m\r\n\e[32m    should not assert, but only check the coordinates\e[0m\r\n\e[32m    should do nothing if the coordinates are out of bounds\e[0m\r\n  #row\r\n\e[32m    should give an out of bounds exception when y-coordinate is out of bounds\e[0m\r\n\e[32m    should return the correct pixels\e[0m\r\n  #column\r\n\e[32m    should give an out of bounds exception when x-coordinate is out of bounds\e[0m\r\n\e[32m    should return the correct pixels\e[0m\r\n  #replace_canvas\r\n\e[32m    should change the dimension of the canvas\e[0m\r\n\e[32m    should change the pixel array\e[0m\r\n\e[32m    should return itself\e[0m\r\n\r\nChunkyPNG::Canvas\r\n  .from_rgb_stream\r\n\e[32m    should load an image correctly from a datastream\e[0m\r\n  .from_rgba_stream\r\n\e[32m    should load an image correctly from a datastream\e[0m\r\n\r\nChunkyPNG::Canvas\r\n  #to_rgba_stream\r\n\e[32m    should export a sample canvas to an RGBA stream correctly\e[0m\r\n\e[32m    should export an image to an RGBA datastream correctly\e[0m\r\n  #to_rgb_stream\r\n\e[32m    should export a sample canvas to an RGBA stream correctly\e[0m\r\n\e[32m    should export an image to an RGB datastream correctly\e[0m\r\n  #to_grayscale_stream\r\n\e[32m    should export a grayscale image to a grayscale datastream correctly\e[0m\r\n\e[32m    should export a color image to a grayscale datastream, using B values\e[0m\r\n  #to_alpha_channel_stream\r\n\e[32m    should export an opaque image to an alpha channel datastream correctly\e[0m\r\n\e[32m    should export a transparent image to an alpha channel datastream correctly\e[0m\r\n\r\nChunkyPNG::Canvas::Resampling\r\n  #resample_nearest_neighbor\r\n\e[32m    should downscale from 2x2 to 1x1 correctly\e[0m\r\n\e[32m    should downscale from 2x2 to 4x4 correctly\e[0m\r\n\e[32m    should upscale both axis of the image\e[0m\r\n\e[32m    should downscale both axis of the image\e[0m\r\n\e[32m    should downscale the x-axis and upscale the y-axis of the image\e[0m\r\n\e[32m    should not return itself\e[0m\r\n\e[32m    should not change the original image's dimensions\e[0m\r\n  #resample_nearest_neighbor!\r\n\e[32m    should upscale both axis of the image\e[0m\r\n\e[32m    should downscale both axis of the image\e[0m\r\n\e[32m    should downscale the x-axis and upscale the y-axis of the image\e[0m\r\n\e[32m    should return itself\e[0m\r\n\e[32m    should change the original image's dimensions\e[0m\r\n\r\nChunkyPNG::Canvas::PNGEncoding\r\n  determining encoding options\r\n\e[32m    should encode an image with color mode indexed correctly\e[0m\r\n\e[32m    should encode an image with color mode grayscale correctly\e[0m\r\n\e[32m    should encode an image with color mode grayscale_alpha correctly\e[0m\r\n\e[32m    should encode an image with color mode truecolor correctly\e[0m\r\n\e[32m    should encode an image with color mode truecolor_alpha correctly\e[0m\r\n\e[32m    should encode an image with 2 colors using 1-bit indexed color mode\e[0m\r\n\e[32m    should encode an image with 4 colors using 2-bit indexed color mode\e[0m\r\n\e[32m    should encode an image with 16 colors using 4-bit indexed color mode\e[0m\r\n\e[32m    should encode an image with 256 colors using 8-bit indexed color mode\e[0m\r\n\e[32m    should use a higher bit depth than necessary if requested\e[0m\r\n\e[32m    should encode an image with interlacing correctly\e[0m\r\n\e[32m    should save an image using the normal routine correctly\e[0m\r\n\e[32m    should save an image using the :fast_rgba routine correctly\e[0m\r\n\e[32m    should save an image using the :good_compression routine correctly\e[0m\r\n\e[32m    should save an image using the :best_compression routine correctly\e[0m\r\n\e[32m    should save an image with black and white only if requested\e[0m\r\n  different color modes and bit depths\r\n\e[32m    should encode using 8-bit RGBA mode correctly\e[0m\r\n\e[32m    should encode using 8 bit RGB mode correctly\e[0m\r\n\e[32m    should encode using 1-bit grayscale mode correctly\e[0m\r\n\e[32m    should encode using 2-bit grayscale mode correctly\e[0m\r\n\e[32m    should encode using 4-bit grayscale mode correctly\e[0m\r\n\e[32m    should encode using 8-bit grayscale mode correctly\e[0m\r\n\e[32m    should not encode using 1-bit indexed mode because the image has too many colors\e[0m\r\n\e[32m    should encode using 2-bit indexed mode correctly\e[0m\r\n\e[32m    should encode using 4-bit indexed mode correctly\e[0m\r\n\e[32m    should encode using 8-bit indexed mode correctly\e[0m\r\n  different filter methods\r\n\e[32m    should encode a scanline without filtering correctly\e[0m\r\n\e[32m    should encode a scanline with sub filtering correctly\e[0m\r\n\e[32m    should encode a scanline with up filtering correctly\e[0m\r\n\e[32m    should encode a scanline with average filtering correctly\e[0m\r\n\e[32m    should encode a scanline with paeth filtering correctly\e[0m\r\n\r\nChunkyPNG::Canvas::PNGDecoding\r\n  #decode_png_scanline\r\n\e[32m    should decode a line without filtering as is\e[0m\r\n\e[32m    should decode a line with sub filtering correctly\e[0m\r\n\e[32m    should decode a line with up filtering correctly\e[0m\r\n\e[32m    should decode a line with average filtering correctly\e[0m\r\n\e[32m    should decode a line with paeth filtering correctly\e[0m\r\n  #decode_png_extract_4bit_value\r\n\e[32m    should extract the high bits successfully\e[0m\r\n\e[32m    should extract the low bits successfully\e[0m\r\n  #decode_png_extract_2bit_value\r\n\e[32m    should extract the first 2 bits successfully\e[0m\r\n\e[32m    should extract the second 2 bits successfully\e[0m\r\n\e[32m    should extract the third 2 bits successfully\e[0m\r\n\e[32m    should extract the low two bits successfully\e[0m\r\n  #decode_png_extract_1bit_value\r\n\e[32m    should extract all separate bits correctly\e[0m\r\n\r\nChunkyPNG::Canvas::Operations\r\n  #grayscale\r\n\e[32m    should not return itself\e[0m\r\n\e[32m    should convert the image correctly\e[0m\r\n\e[32m    should not adjust the current image\e[0m\r\n  #grayscale!\r\n\e[32m    should return itself\e[0m\r\n\e[32m    should convert the image correctly\e[0m\r\n  #crop\r\n\e[32m    should crop the right pixels from the original canvas\e[0m\r\n\e[32m    should not return itself\e[0m\r\n\e[32m    should not adjust the current image\e[0m\r\n\e[32m    should raise an exception when the cropped image falls outside the oiginal image\e[0m\r\n  #crop!\r\n\e[32m    should crop the right pixels from the original canvas\e[0m\r\n\e[32m    should have a new width and height\e[0m\r\n\e[32m    should raise an exception when the cropped image falls outside the oiginal image\e[0m\r\n\e[32m    should return itself\e[0m\r\n  #compose\r\n\e[32m    should compose pixels correctly\e[0m\r\n\e[32m    should leave the original intact\e[0m\r\n\e[32m    should not return itself\e[0m\r\n\e[32m    should raise an exception when the pixels to compose fall outside the image\e[0m\r\n  #compose!\r\n\e[32m    should compose pixels correctly\e[0m\r\n\e[32m    should return itself\e[0m\r\n\e[32m    should compose a base image and mask correctly\e[0m\r\n\e[32m    should raise an exception when the pixels to compose fall outside the image\e[0m\r\n  #replace\r\n\e[32m    should replace the correct pixels\e[0m\r\n\e[32m    should not return itself\e[0m\r\n\e[32m    should leave the original intact\e[0m\r\n\e[32m    should raise an exception when the pixels to replace fall outside the image\e[0m\r\n  #replace!\r\n\e[32m    should replace the correct pixels\e[0m\r\n\e[32m    should return itself\e[0m\r\n\e[32m    should raise an exception when the pixels to replace fall outside the image\e[0m\r\n\r\nChunkyPNG::Canvas::Operations\r\n  #flip_horizontally!\r\n\e[32m    should flip the pixels horizontally in place\e[0m\r\n\e[32m    should return itself\e[0m\r\n  #flip_horizontally\r\n\e[32m    should flip the pixels horizontally\e[0m\r\n\e[32m    should not return itself\e[0m\r\n\e[32m    should return a copy of itself when applied twice\e[0m\r\n  #flip_vertically!\r\n\e[32m    should flip the pixels vertically\e[0m\r\n\e[32m    should return itself\e[0m\r\n  #flip_vertically\r\n\e[32m    should flip the pixels vertically\e[0m\r\n\e[32m    should not return itself\e[0m\r\n\e[32m    should return a copy of itself when applied twice\e[0m\r\n  #rotate_left\r\n\e[32m    should rotate the pixels 90 degrees counter-clockwise\e[0m\r\n\e[32m    should not return itself\e[0m\r\n\e[32m    should not change the image dimensions\e[0m\r\n\e[32m    it should rotate 180 degrees when applied twice\e[0m\r\n\e[32m    it should rotate right when applied three times\e[0m\r\n\e[32m    should return itself when applied four times\e[0m\r\n  #rotate_left!\r\n\e[32m    should rotate the pixels 90 degrees clockwise\e[0m\r\n\e[32m    should return itself\e[0m\r\n\e[32m    should change the image dimensions\e[0m\r\n  #rotate_right\r\n\e[32m    should rotate the pixels 90 degrees clockwise\e[0m\r\n\e[32m    should not return itself\e[0m\r\n\e[32m    should not change the image dimensions\e[0m\r\n\e[32m    it should rotate 180 degrees when applied twice\e[0m\r\n\e[32m    it should rotate left when applied three times\e[0m\r\n\e[32m    should return itself when applied four times\e[0m\r\n  #rotate_right!\r\n\e[32m    should rotate the pixels 90 degrees clockwise\e[0m\r\n\e[32m    should return itself\e[0m\r\n\e[32m    should change the image dimensions\e[0m\r\n  #rotate_180\r\n\e[32m    should rotate the pixels 180 degrees\e[0m\r\n\e[32m    should return not itself\e[0m\r\n\e[32m    should return a copy of itself when applied twice\e[0m\r\n  #rotate_180!\r\n\e[32m    should rotate the pixels 180 degrees\e[0m\r\n\e[32m    should return itself\e[0m\r\n\r\nChunkyPNG::Canvas::Masking\r\n  #change_theme_color!\r\n\e[32m    should change the theme color correctly\e[0m\r\n  #extract_mask\r\n\e[32m    should create the correct base and mask image\e[0m\r\n\e[32m    should create a mask image with only one opaque color\e[0m\r\n  #change_mask_color!\r\n\e[32m    should replace the mask color correctly\e[0m\r\n\e[32m    should still only have one opaque color\e[0m\r\n\e[32m    should raise an exception when the mask image has more than once color\e[0m\r\n\r\nChunkyPNG::Canvas::Drawing\r\n  #compose_pixel\r\n\e[32m    should compose colors correctly\e[0m\r\n\e[32m    should return the composed color\e[0m\r\n\e[32m    should do nothing when the coordinates are out of bounds\e[0m\r\n  #line\r\n\e[32m    should draw lines correctly with anti-aliasing\e[0m\r\n\e[32m    should draw partial lines if the coordinates are partially out of bounds\e[0m\r\n\e[32m    should return itself to allow chaining\e[0m\r\n  #rect\r\n\e[32m    should draw a rectangle with the correct colors\e[0m\r\n\e[32m    should return itself to allow chaining\e[0m\r\n\e[32m    should draw partial rectangles if the coordinates are partially out of bounds\e[0m\r\n\e[32m    should draw the rectangle fill only if the coordinates are fully out of bounds\e[0m\r\n  #circle\r\n\e[32m    should draw circles\e[0m\r\n\e[32m    should draw partial circles when going of the canvas bounds\e[0m\r\n\e[32m    should return itself to allow chaining\e[0m\r\n  #polygon\r\n\e[32m    should draw an filled triangle when using 3 control points\e[0m\r\n\e[32m    should draw a unfilled polygon with 6 control points\e[0m\r\n\e[32m    should draw a vertically crossed filled polygon with 4 control points\e[0m\r\n\e[32m    should draw a vertically crossed filled polygon with 4 control points\e[0m\r\n\e[32m    should return itself to allow chaining\e[0m\r\n  #bezier_curve\r\n\e[32m    should draw a bezier curve starting at the first point\e[0m\r\n\e[32m    should draw a bezier curve ending at the last point\e[0m\r\n\e[32m    should draw a bezier curve with a color of green\e[0m\r\n\e[32m    should draw a three point bezier curve\e[0m\r\n\e[32m    should draw a three point bezier curve flipped\e[0m\r\n\e[32m    should draw a four point bezier curve\e[0m\r\n\e[32m    should draw a four point bezier curve flipped\e[0m\r\n\e[32m    should draw a four point bezier curve with a shape of an s\e[0m\r\n\e[32m    should draw a five point bezier curve\e[0m\r\n\e[32m    should draw a six point bezier curve\e[0m\r\n\r\nChunkyPNG::Canvas::Adam7Interlacing\r\n  #adam7_pass_sizes\r\n\e[32m    should get the pass sizes for a 8x8 image correctly\e[0m\r\n\e[32m    should get the pass sizes for a 12x12 image correctly\e[0m\r\n\e[32m    should get the pass sizes for a 33x47 image correctly\e[0m\r\n\e[32m    should get the pass sizes for a 1x1 image correctly\e[0m\r\n\e[32m    should get the pass sizes for a 0x0 image correctly\e[0m\r\n\e[32m    should always maintain the same amount of pixels in total\e[0m\r\n  #adam7_multiplier_offset\r\n\e[32m    should get the multiplier and offset values for pass 1 correctly\e[0m\r\n\e[32m    should get the multiplier and offset values for pass 2 correctly\e[0m\r\n\e[32m    should get the multiplier and offset values for pass 3 correctly\e[0m\r\n\e[32m    should get the multiplier and offset values for pass 4 correctly\e[0m\r\n\e[32m    should get the multiplier and offset values for pass 5 correctly\e[0m\r\n\e[32m    should get the multiplier and offset values for pass 6 correctly\e[0m\r\n\e[32m    should get the multiplier and offset values for pass 7 correctly\e[0m\r\n  #adam7_merge_pass\r\n\e[32m    should merge the submatrices correctly\e[0m\r\n  #adam7_extract_pass\r\n\e[32m    should extract pass 1 correctly\e[0m\r\n\e[32m    should extract pass 2 correctly\e[0m\r\n\e[32m    should extract pass 3 correctly\e[0m\r\n\e[32m    should extract pass 4 correctly\e[0m\r\n\e[32m    should extract pass 5 correctly\e[0m\r\n\e[32m    should extract pass 6 correctly\e[0m\r\n\e[32m    should extract pass 7 correctly\e[0m\r\n\r\nFinished in 3.04 seconds\r\n\e[32m402 examples, 0 failures\e[0m\r\n\nDone. Build script exited with: 0\n
