Skip to content
This repository has been archived by the owner on Oct 19, 2018. It is now read-only.

Basic specs dockerisation... #18

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

costa
Copy link

@costa costa commented Dec 20, 2016

...specs are failing, unfortunately, locally (not for merge just yet, see comments).

...specs are failing, unfortunately, locally
@costa
Copy link
Author

costa commented Dec 20, 2016

Take 1:

root@3610c1870e37:/hyper-mesh# spec/test_app/bin/setup && bundle exec rake
== Installing dependencies ==
The Gemfile's dependencies are satisfied

== Preparing database ==
Database 'development_db_name' already exists
Database 'test_db_name' already exists
-- create_table("addresses", {:force=>:cascade})
   -> 0.1643s
-- create_table("child_models", {:force=>:cascade})
   -> 0.1536s
-- create_table("comments", {:force=>:cascade})
   -> 0.1597s
-- create_table("test_models", {:force=>:cascade})
   -> 0.1577s
-- create_table("todo_items", {:force=>:cascade})
   -> 0.1619s
-- create_table("todos", {:force=>:cascade})
   -> 0.1516s
-- create_table("users", {:force=>:cascade})
   -> 0.1583s
-- initialize_schema_migrations_table()
   -> 0.0034s
-- create_table("addresses", {:force=>:cascade})
   -> 0.1758s
-- create_table("child_models", {:force=>:cascade})
   -> 0.1537s
-- create_table("comments", {:force=>:cascade})
   -> 0.1570s
-- create_table("test_models", {:force=>:cascade})
   -> 0.1632s
-- create_table("todo_items", {:force=>:cascade})
   -> 0.1539s
-- create_table("todos", {:force=>:cascade})
   -> 0.1558s
-- create_table("users", {:force=>:cascade})
   -> 0.1830s
-- initialize_schema_migrations_table()
   -> 0.0021s

== Removing old logs and tempfiles ==

== Restarting application server ==
/usr/local/bin/ruby -I/usr/local/bundle/gems/rspec-core-3.5.4/lib:/usr/local/bundle/gems/rspec-support-3.5.0/lib /usr/local/bundle/gems/rspec-core-3.5.4/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb
DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead. (called from needs_init? at /hyper-mesh/lib/synchromesh/connection.rb:4)
DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead. (called from needs_init? at /hyper-mesh/lib/synchromesh/connection.rb:4)
before :each blocks declared for steps are always treated as :all scope (it's possible you want before :step)
Run options:
  include {:focus=>true}
  exclude {:opal=>true}

All examples were filtered out; ignoring {:focus=>true}

reactive-record edge cases
Puma starting in single mode...
* Version 3.6.2 (ruby 2.3.3-p222), codename: Sleepy Sunday Serenity
* Min threads: 0, max threads: 4
* Environment: development
* Listening on tcp://127.0.0.1:32993
Use Ctrl-C to stop
  trims the association tree

many to many associations
  does not effect the base relationship count
  does not effect access to attributes in the base relationship
  can be followed directly

reverting records
  finds that the user Adam has not changed yet
  creates a new todo which should be changed (because its new)
  adds the todo to adam's todos and expects adam to change
  will show that the new todo is still changed
  the todo now has an owner
  can be reverted and the todo will not be changed
  will not have changed adam
  is time to test going the other way, lets give adam a todo again
  can be reverted
  finds the todo is still changed
  can change an attribute, revert, and make sure nothing else changes

updating associations
  a new model will have empty has_many assocation
  the push operator returns the collection
  the push operator adds 1 to the count
  will persist the new has_many association
  and will reconstruct the association and values on reloading
  the inverse belongs_to association will be set
  a model can be moved to a new owner, and will be removed from the old owner
  and will belong to the new owner
  and can be saved and it will remember its new owner
  and after saving will have been removed from original owners association
  a belongs to association can be set to nil and the model saved
  and it will update on the server
  and will not belong to the previous owner anymore
  but can be reassigned to the previous owner
  and it will update the server on saving
  and a model in a belongs_to relationship can be deleted
  will update the server properly
  and it won't exist after being destroyed
  an item in a belongs_to relationship can be created without belonging to anybody
  and can be reloaded
  and can be deleted
  and it will be won't exist the server

updating scopes
  will update .all and rerender after saving a record
  destroying records causes a rerender

HyperMesh::Connection
DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead. (called from needs_init? at /hyper-mesh/lib/synchromesh/connection.rb:4)
DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead. (called from needs_init? at /hyper-mesh/lib/synchromesh/connection.rb:4)
DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead. (called from block (2 levels) in <top (required)> at /hyper-mesh/spec/synchromesh/aaa-unit_tests/connection_spec.rb:15)
DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead. (called from block (2 levels) in <top (required)> at /hyper-mesh/spec/synchromesh/aaa-unit_tests/connection_spec.rb:16)
  creates the tables
  creates the messages queue
  can set the root path
  adding new connection
  new connections expire
  can send and read data from a channel
  will update the expiration time after reading
  will expire a polled connection
  after connecting to the transport
    will pass any pending data back
    will have the root path set for console access
    the channel will still be active even after initial connection time is expired
    will only effect the session being connected
    will begin refreshing the channel list
    refreshing will not effect channels not connected to the transport
    refreshing will not effect channels added during the refresh
    sends messages to the transport as well as open channels

DummyValue
  works with string interpolation (defines a JS .toString method)

column types on client
DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead. (called from needs_init? at /hyper-mesh/lib/synchromesh/connection.rb:4)
DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead. (called from needs_init? at /hyper-mesh/lib/synchromesh/connection.rb:4)
DEPRECATION WARNING: Time columns will become time zone aware in Rails 5.1. This
still causes `String`s to be parsed as if they were in `Time.zone`,
and `Time`s to be converted to `Time.zone`.

To keep the old behavior, you must add the following to your initializer:

    config.active_record.time_zone_aware_types = [:datetime]

To silence this deprecation warning, add the following:

    config.active_record.time_zone_aware_types = [:datetime, :time]
 (called from block in public_columns_hash at /hyper-mesh/lib/reactive_record/active_record/public_columns_hash.rb:14)
  transfers the columns hash to the client
  defines the server method with a default value
  loads the server method
  creates a dummy value of the appropriate type
  loads and converts the value (FAILED - 1)
  while loading the dummy value delegates the correct type with operators etc (FAILED - 2)
  converts a time string to a time on writing (FAILED - 3)
  converts a integer to a time on writing (FAILED - 4)
 ^CTerminating WebSocket Server
rake aborted!
Interrupt:
/usr/local/bundle/gems/rspec-core-3.5.4/lib/rspec/core/rake_task.rb:79:in `system'
/usr/local/bundle/gems/rspec-core-3.5.4/lib/rspec/core/rake_task.rb:79:in `run_task'
/usr/local/bundle/gems/rspec-core-3.5.4/lib/rspec/core/rake_task.rb:96:in `block (2 levels) in define'
/usr/local/bundle/gems/rspec-core-3.5.4/lib/rspec/core/rake_task.rb:94:in `block in define'
/usr/local/bin/bundle:22:in `load'
/usr/local/bin/bundle:22:in `<main>'
Tasks: TOP => default => spec
(See full trace by running task with --trace)
root@3610c1870e37:/hyper-mesh#
RSpec is shutting down and will print the summary report... Interrupt again to force quit.
  converts a float to a time on writing (FAILED - 5)

Failures:

  1) column types on client loads and converts the value
     Failure/Error:
       expect_promise do
         ReactiveRecord.load do
           TypeTest.columns_hash.collect do |attr, _info|
             [TypeTest.find(1).send(attr).class, TypeTest.find(1).send(attr)]
           end.flatten
         end
       end.to eq([
         'Number', 1,
         'NilClass', nil,
         'Boolean', true,

       expected: ["Number", 1, "NilClass", nil, "Boolean", true, "Date", "2003-02-01", "Time", "2003-02-01T00:00:00+00..."hello", "String", "goodby", "Time", "2000-01-01T00:00:00+0000", "Time", "2003-02-01T00:00:00+0000"]
            got: ["Number", 1, "NilClass", nil, "Boolean", true, "Date", "2003-02-01", "Time", "2003-02-01T00:00:00-00..."hello", "String", "goodby", "Time", "2000-01-01T00:00:00-0000", "Time", "2003-02-01T00:00:00-0000"]

       (compared using ==)
     # ./spec/synchromesh/column_types/column_type_spec.rb:185:in `block (2 levels) in <top (required)>'
     # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

  2) column types on client while loading the dummy value delegates the correct type with operators etc
     Failure/Error:
       expect_evaluate_ruby do
         t = TypeTest.find(1)
         [
           !t.boolean, t.date+1, t.datetime+2.days, t.decimal + 5, t.float + 6, t.integer + 7,
           t.bigint + 8, t.string.length, t.text.length, t.time+3.days, t.timestamp+4.days
         ]
       end.to eq([
         true, "2001-01-02", (Timex.sqlmin+2.days).as_json, 5, 6, 7,
         8, 0, 0, (Timex.sqlmin+3.days).as_json, (Timex.sqlmin+4.days).as_json
       ])

       expected: [true, "2001-01-02", "2001-01-03T00:00:00+0000", 5, 6, 7, 8, 0, 0, "2001-01-04T00:00:00+0000", "2001-01-05T00:00:00+0000"]
            got: [true, "2001-01-02", "2001-01-03T00:00:00-0000", 5, 6, 7, 8, 0, 0, "2001-01-04T00:00:00-0000", "2001-01-05T00:00:00-0000"]

       (compared using ==)
     # ./spec/synchromesh/column_types/column_type_spec.rb:223:in `block (2 levels) in <top (required)>'
     # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

  3) column types on client converts a time string to a time on writing
     Got 0 failures and 2 other errors:

     3.1) Failure/Error: JSON.parse(evaluate_script("[#{js}].$to_json()"), opts).first

          TypeError:
            no implicit conversion of nil into String
          # ./spec/support/component_helpers.rb:186:in `evaluate_ruby'
          # ./spec/support/component_helpers.rb:191:in `expect_evaluate_ruby'
          # ./spec/synchromesh/column_types/column_type_spec.rb:236:in `block (2 levels) in <top (required)>'
          # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

     3.2) Failure/Error: Rails.cache.clear

          Errno::ENOTEMPTY:
            Directory not empty @ dir_s_rmdir - /hyper-mesh/spec/test_app/tmp/cache/assets
          # /usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/cache/file_store.rb:32:in `clear'
          # /usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/cache/strategy/local_cache.rb:82:in `clear'
          # ./spec/spec_helper.rb:100:in `block (2 levels) in <top (required)>'
          # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'
          # ------------------
          # --- Caused by: ---
          # Errno::ENOTEMPTY:
          #   Directory not empty @ dir_s_rmdir - /hyper-mesh/spec/test_app/tmp/cache/assets/test/sprockets/v3.0
          #   /usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/cache/file_store.rb:32:in `clear'

  4) column types on client converts a integer to a time on writing
     Failure/Error:
       expect_evaluate_ruby do
         test = TypeTest.new
         test.datetime = 12
         test.datetime + 60.seconds
       end.to eq((Timex.at(12)+60.seconds).as_json)

       expected: "1970-01-01T00:01:12+0000"
            got: "1970-01-01T00:01:12-0000"

       (compared using ==)
     # ./spec/synchromesh/column_types/column_type_spec.rb:244:in `block (2 levels) in <top (required)>'
     # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

  5) column types on client converts a float to a time on writing
     Got 0 failures and 3 other errors:

     5.1) Failure/Error: JSON.parse(evaluate_script("[#{js}].$to_json()"), opts).first

          TypeError:
            no implicit conversion of nil into String
          # ./spec/support/component_helpers.rb:186:in `evaluate_ruby'
          # ./spec/support/component_helpers.rb:191:in `expect_evaluate_ruby'
          # ./spec/synchromesh/column_types/column_type_spec.rb:252:in `block (2 levels) in <top (required)>'
          # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

     5.2) Failure/Error: Rails.cache.clear

          Errno::ENOTEMPTY:
            Directory not empty @ dir_s_rmdir - /hyper-mesh/spec/test_app/tmp/cache/assets
          # /usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/cache/file_store.rb:32:in `clear'
          # /usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/cache/strategy/local_cache.rb:82:in `clear'
          # ./spec/spec_helper.rb:100:in `block (2 levels) in <top (required)>'
          # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'
          # ------------------
          # --- Caused by: ---
          # Errno::ENOTEMPTY:
          #   Directory not empty @ dir_s_rmdir - /hyper-mesh/spec/test_app/tmp/cache/assets/test/sprockets/v3.0
          #   /usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/cache/file_store.rb:32:in `clear'

     5.3) Failure/Error: raise "Requests did not finish in 60 seconds"

          RuntimeError:
            Requests did not finish in 60 seconds
          # /usr/local/bundle/gems/capybara-2.11.0/lib/capybara/server.rb:93:in `rescue in wait_for_pending_requests'
          # /usr/local/bundle/gems/capybara-2.11.0/lib/capybara/server.rb:91:in `wait_for_pending_requests'
          # /usr/local/bundle/gems/capybara-2.11.0/lib/capybara/session.rb:113:in `reset!'
          # /usr/local/bundle/gems/capybara-2.11.0/lib/capybara.rb:335:in `block in reset_sessions!'
          # /usr/local/bundle/gems/capybara-2.11.0/lib/capybara.rb:335:in `reverse_each'
          # /usr/local/bundle/gems/capybara-2.11.0/lib/capybara.rb:335:in `reset_sessions!'
          # /usr/local/bundle/gems/capybara-2.11.0/lib/capybara/rspec.rb:21:in `block (2 levels) in <top (required)>'
          # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'
          # ------------------
          # --- Caused by: ---
          # Timeout::Error:
          #   execution expired
          #   /usr/local/bundle/gems/capybara-2.11.0/lib/capybara/server.rb:91:in `sleep'

Finished in 18 minutes 50 seconds (files took 33.2 seconds to load)
65 examples, 5 failures

Failed examples:

rspec ./spec/synchromesh/column_types/column_type_spec.rb:169 # column types on client loads and converts the value
rspec ./spec/synchromesh/column_types/column_type_spec.rb:208 # column types on client while loading the dummy value delegates the correct type with operators etc
rspec ./spec/synchromesh/column_types/column_type_spec.rb:235 # column types on client converts a time string to a time on writing
rspec ./spec/synchromesh/column_types/column_type_spec.rb:243 # column types on client converts a integer to a time on writing
rspec ./spec/synchromesh/column_types/column_type_spec.rb:251 # column types on client converts a float to a time on writing

Take 2:

$ docker-compose build && docker-compose run spec
mysql uses an image, skipping
Building spec
Step 1/14 : FROM ruby
 ---> 936395c9ae10
Step 2/14 : RUN curl -sL https://deb.nodesource.com/setup_7.x | bash -
 ---> Using cache
 ---> 4b9d471bb983
Step 3/14 : RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
 ---> Using cache
 ---> 6b26150f5e75
Step 4/14 : RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
 ---> Using cache
 ---> 6af749ad04ec
Step 5/14 : RUN apt-get update -qq && apt-get install -y build-essential libpq-dev yarn
 ---> Using cache
 ---> cb7e2efac39e
Step 6/14 : RUN yarn global add phantomjs-prebuilt
 ---> Using cache
 ---> b3a623a62ab1
Step 7/14 : RUN mkdir /hyper-mesh
 ---> Using cache
 ---> d1af7a781765
Step 8/14 : WORKDIR /hyper-mesh
 ---> Using cache
 ---> 14a36a983629
Step 9/14 : ADD Gemfile.lock .
 ---> Using cache
 ---> 8fac6c7b9310
Step 10/14 : ADD Gemfile .
 ---> 9d4b1fa0c282
Removing intermediate container de1866f1e11a
Step 11/14 : ADD hyper-mesh.gemspec .
 ---> 4101e1a6fa94
Removing intermediate container b16d938d8fd7
Step 12/14 : ADD lib/hypermesh/version.rb lib/hypermesh/
 ---> 0849fee98a84
Removing intermediate container d4d388ebdf06
Step 13/14 : RUN bundle install --frozen
 ---> Running in 084a445fe0a6
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
fatal: Not a git repository (or any of the parent directories): .git
Fetching gem metadata from https://rubygems.org/...........
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Installing rake 10.5.0
Installing abstract_type 0.0.7
Installing concurrent-ruby 1.0.3
Installing i18n 0.7.0
Installing minitest 5.10.1
Installing thread_safe 0.3.5
Installing builder 3.2.2
Installing erubis 2.7.0
Installing mini_portile2 2.1.0
Installing rack 2.0.1
Installing nio4r 1.2.1 with native extensions
Installing websocket-extensions 0.1.2
Installing mime-types-data 3.2016.0521
Installing arel 7.1.4
Installing ice_nine 0.11.2
Installing public_suffix 2.0.4
Installing io-like 0.3.0
Installing ast 2.3.0
Installing babel-source 5.8.35
Installing execjs 2.7.0
Installing debug_inspector 0.0.2 with native extensions
Installing byebug 9.0.6 with native extensions
Installing ffi 1.9.14 with native extensions
Installing cliver 0.3.2
Installing coderay 1.1.1
Installing coffee-script-source 1.12.2
Installing equalizer 0.0.11
Installing connection_pool 2.2.1
Installing cookiejar 0.3.3
Installing daemons 1.2.4
Installing database_cleaner 1.5.3
Installing diff-lcs 1.2.5
Installing eventmachine 1.2.1 with native extensions
Installing http_parser.rb 0.6.0 with native extensions
Installing method_source 0.8.2
Installing thor 0.19.4
Installing hike 1.2.3
Installing httpclient 2.8.3
Installing sourcemap 0.1.1
Installing tilt 2.0.5
Installing hyper-trace 0.3.1
Installing interception 0.5 with native extensions
Installing libv8 3.16.14.17
Installing multi_json 1.12.1
Installing mysql2 0.4.5 with native extensions
Installing paggio 0.2.6
Using bundler 1.13.6
Installing procto 0.0.3
Installing slop 3.6.0
Installing puma 3.6.2 with native extensions
Installing pusher-signature 0.1.8
Installing ref 2.0.0
Installing rspec-support 3.5.0
Installing rubyzip 1.2.0
Installing websocket 1.2.3
Installing shoulda-context 1.2.2
Installing sqlite3 1.3.10 with native extensions
Installing timecop 0.8.1
Installing tzinfo 1.2.2
Installing memoizable 0.4.2
Installing nokogiri 1.6.8.1 with native extensions
Installing rack-test 0.6.3
Installing sprockets 3.7.1
Installing websocket-driver 0.6.4 with native extensions
Installing mime-types 3.1
Installing addressable 2.5.0
Installing archive-zip 0.7.0
Installing parser 2.3.3.1
Installing babel-transpiler 0.7.0
Installing binding_of_caller 0.7.2 with native extensions
Installing childprocess 0.5.9
Installing em-socksify 0.3.1
Installing thin 1.7.0 with native extensions
Installing em-websocket 0.5.1
Installing pry 0.10.4
Installing pusher 1.3.0
Installing therubyracer 0.12.2 with native extensions
Installing rspec-core 3.5.4
Installing rspec-expectations 3.5.0
Installing rspec-mocks 3.5.0
Installing activesupport 5.0.0.1
Installing adamantium 0.2.0
Installing loofah 2.0.3
Installing xpath 2.0.0
Installing opal 0.10.3
Installing mail 2.6.4
Installing chromedriver-helper 1.0.0
Installing selenium-webdriver 3.0.3
Installing em-http-request 1.1.5
Installing pry-byebug 3.4.2
Installing pry-rescue 1.4.4
Installing pry-stack_explorer 0.4.9.2
Installing rspec-collection_matchers 1.1.2
Installing rspec-its 1.2.0
Installing rspec 3.5.0
Installing rails-dom-testing 2.0.1
Installing globalid 0.3.7
Installing activemodel 5.0.0.1
Installing factory_girl 4.8.0
Installing shoulda-matchers 2.8.0
Installing spring 2.0.0
Installing concord 0.1.5
Installing rails-html-sanitizer 1.0.3
Installing capybara 2.11.0
Installing opal-activesupport 0.3.0
Installing opal-browser 0.2.0
Installing opal-jquery 0.4.2
Installing opal-sprockets 0.4.0.0.10.0.3.0.0
Installing pusher-fake 1.7.0
Installing rspec-steps 2.1.1
Installing rspec-wait 0.0.9
Installing activejob 5.0.0.1
Installing activerecord 5.0.0.1
Installing shoulda 3.5.0
Installing spring-commands-rspec 1.0.4
Installing unparser 0.2.5
Installing actionview 5.0.0.1
Installing poltergeist 1.12.0
Installing actionpack 5.0.0.1
Installing actioncable 5.0.0.1
Installing actionmailer 5.0.0.1
Installing railties 5.0.0.1
Installing sprockets-rails 2.3.3
Installing factory_girl_rails 4.8.0
Installing react-rails 1.10.0
Installing jquery-rails 4.2.1
Installing rspec-rails 3.5.2
Installing rails 5.0.0.1
Installing hyper-react 0.11.0
Installing opal-rails 0.9.1
Installing reactrb-rails-generator 0.2.0
Using hyper-mesh 0.5.3 from source at `.`
Bundle complete! 40 Gemfile dependencies, 132 gems now installed.
Bundled gems are installed into /usr/local/bundle.
Post-install message from opal-rails:
BEWARE: Spec support is being extracted from `opal-rails` into `opal-rspec-rails`
        Please use `opal-rspec-rails` or the 0-8-stable branch.
 ---> b8f93b699e55
Removing intermediate container 084a445fe0a6
Step 14/14 : ADD . .
 ---> a35bbd5a7bb9
Removing intermediate container e8af28c3042e
Successfully built a35bbd5a7bb9
Creating network "hypermesh_default" with the default driver
Creating hypermesh_mysql_1
== Installing dependencies ==
The following gems are missing
 * rake (11.3.0)
 * concurrent-ruby (1.0.2)
 * minitest (5.9.1)
 * coffee-script-source (1.10.0)
 * coffee-script (2.4.1)
 * thor (0.19.1)
 * coffee-rails (4.1.1)
 * connection_pool (2.2.0)
 * sprockets (3.7.0)
 * opal (0.10.2)
 * react-rails (1.4.2)
 * hyper-trace (0.3.0)
 * jbuilder (2.6.0)
 * jquery-ui-rails (5.0.5)
 * libv8 (3.16.14.15)
 * opal-rails (0.9.0)
 * puma (3.6.0)
 * rdoc (4.2.2)
 * react-router-rails (0.13.3.2)
 * reactrb (0.9.0)
 * reactrb-router (0.8.2)
 * sass (3.4.22)
 * sass-rails (5.0.6)
 * sdoc (0.4.2)
 * sqlite3 (1.3.12)
 * turbolinks-source (5.0.0)
 * turbolinks (5.0.1)
 * uglifier (3.0.3)
 * web-console (2.3.0)
Install missing gems with `bundle install`
Fetching gem metadata from https://rubygems.org/...........
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Installing rake 11.3.0
Installing concurrent-ruby 1.0.2
Using i18n 0.7.0
Installing minitest 5.9.1
Using thread_safe 0.3.5
Using builder 3.2.2
Using erubis 2.7.0
Using mini_portile2 2.1.0
Using rack 2.0.1
Using nio4r 1.2.1
Using websocket-extensions 0.1.2
Using mime-types-data 3.2016.0521
Using arel 7.1.4
Using babel-source 5.8.35
Using execjs 2.7.0
Using debug_inspector 0.0.2
Using byebug 9.0.6
Using coderay 1.1.1
Installing coffee-script-source 1.10.0
Using method_source 0.8.2
Installing thor 0.19.1
Installing connection_pool 2.2.0
Using hike 1.2.3
Using sourcemap 0.1.1
Using tilt 2.0.5
Using bundler 1.13.6
Installing hyper-trace 0.3.0
Using multi_json 1.12.1
Using json 1.8.3
Installing libv8 3.16.14.15
Using mysql2 0.4.5
Using paggio 0.2.6
Using slop 3.6.0
Installing puma 3.6.0 with native extensions
Using ref 2.0.0
Installing sass 3.4.22
Installing sqlite3 1.3.12 with native extensions
Installing turbolinks-source 5.0.0
Using tzinfo 1.2.2
Using nokogiri 1.6.8.1
Using rack-test 0.6.3
Installing sprockets 3.7.0
Using websocket-driver 0.6.4
Using mime-types 3.1
Using babel-transpiler 0.7.0
Installing uglifier 3.0.3
Using binding_of_caller 0.7.2
Installing coffee-script 2.4.1
Installing rdoc 4.2.2
Using pry 0.10.4
Using therubyracer 0.12.2
Installing turbolinks 5.0.1
Using activesupport 5.0.0.1
Using loofah 2.0.3
Installing opal 0.10.2
Using mail 2.6.4
Installing sdoc 0.4.2
Using rails-dom-testing 2.0.1
Using globalid 0.3.7
Using activemodel 5.0.0.1
Installing jbuilder 2.6.0
Using spring 2.0.0
Using rails-html-sanitizer 1.0.3
Using opal-activesupport 0.3.0
Using opal-browser 0.2.0
Using opal-jquery 0.4.2
Using activejob 5.0.0.1
Using activerecord 5.0.0.1
Using actionview 5.0.0.1
Using actionpack 5.0.0.1
Using actioncable 5.0.0.1
Using actionmailer 5.0.0.1
Using railties 5.0.0.1
Using sprockets-rails 2.3.3
Installing coffee-rails 4.1.1
Using jquery-rails 4.2.1
Installing jquery-ui-rails 5.0.5
Using rails 5.0.0.1
Installing sass-rails 5.0.6
Installing web-console 2.3.0
Installing react-rails 1.4.2
Installing opal-rails 0.9.0
Using reactrb-rails-generator 0.2.0
Using hyper-react 0.11.0
Installing react-router-rails 0.13.3.2
Installing reactrb 0.9.0
Using hyper-mesh 0.5.3 from source at `../..`
Installing reactrb-router 0.8.2
Bundle complete! 25 Gemfile dependencies, 88 gems now installed.
Bundled gems are installed into /usr/local/bundle.
Post-install message from opal-rails:
BEWARE: Spec support is being extracted from `opal-rails` into `opal-rspec-rails`
        Please use `opal-rspec-rails` or the 0-8-stable branch.
Post-install message from rdoc:
Depending on your version of ruby, you may need to install ruby rdoc/ri data:

<= 1.8.6 : unsupported
 = 1.8.7 : gem install rdoc-data; rdoc-data --install
 = 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!

== Preparing database ==
Created database 'development_db_name'
Created database 'test_db_name'
-- create_table("addresses", {:force=>:cascade})
   -> 0.0986s
-- create_table("child_models", {:force=>:cascade})
   -> 0.1024s
-- create_table("comments", {:force=>:cascade})
   -> 0.1189s
-- create_table("test_models", {:force=>:cascade})
   -> 0.2667s
-- create_table("todo_items", {:force=>:cascade})
   -> 0.1410s
-- create_table("todos", {:force=>:cascade})
   -> 0.1546s
-- create_table("users", {:force=>:cascade})
   -> 0.1469s
-- initialize_schema_migrations_table()
   -> 0.1325s
-- create_table("addresses", {:force=>:cascade})
   -> 0.1513s
-- create_table("child_models", {:force=>:cascade})
   -> 0.1854s
-- create_table("comments", {:force=>:cascade})
   -> 0.1781s
-- create_table("test_models", {:force=>:cascade})
   -> 0.1799s
-- create_table("todo_items", {:force=>:cascade})
   -> 0.1730s
-- create_table("todos", {:force=>:cascade})
   -> 0.1053s
-- create_table("users", {:force=>:cascade})
   -> 0.1004s
-- initialize_schema_migrations_table()
   -> 0.1030s

== Removing old logs and tempfiles ==

== Restarting application server ==
/usr/local/bin/ruby -I/usr/local/bundle/gems/rspec-core-3.5.4/lib:/usr/local/bundle/gems/rspec-support-3.5.0/lib /usr/local/bundle/gems/rspec-core-3.5.4/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb
DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead. (called from needs_init? at /hyper-mesh/lib/synchromesh/connection.rb:4)
DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead. (called from needs_init? at /hyper-mesh/lib/synchromesh/connection.rb:4)
before :each blocks declared for steps are always treated as :all scope (it's possible you want before :step)
Run options:
  include {:focus=>true}
  exclude {:opal=>true}

All examples were filtered out; ignoring {:focus=>true}

reactive-record edge cases
Puma starting in single mode...
* Version 3.6.2 (ruby 2.3.3-p222), codename: Sleepy Sunday Serenity
* Min threads: 0, max threads: 4
* Environment: development
* Listening on tcp://127.0.0.1:43557
Use Ctrl-C to stop
  trims the association tree

many to many associations
  does not effect the base relationship count
  does not effect access to attributes in the base relationship
  can be followed directly

reverting records
  finds that the user Adam has not changed yet
  creates a new todo which should be changed (because its new)
  adds the todo to adam's todos and expects adam to change
  will show that the new todo is still changed
  the todo now has an owner
  can be reverted and the todo will not be changed
  will not have changed adam
  is time to test going the other way, lets give adam a todo again
  can be reverted
  finds the todo is still changed
  can change an attribute, revert, and make sure nothing else changes

updating associations
  a new model will have empty has_many assocation
  the push operator returns the collection
  the push operator adds 1 to the count
  will persist the new has_many association
  and will reconstruct the association and values on reloading
  the inverse belongs_to association will be set
  a model can be moved to a new owner, and will be removed from the old owner
  and will belong to the new owner
  and can be saved and it will remember its new owner
  and after saving will have been removed from original owners association
  a belongs to association can be set to nil and the model saved
  and it will update on the server
  and will not belong to the previous owner anymore
  but can be reassigned to the previous owner
  and it will update the server on saving
  and a model in a belongs_to relationship can be deleted
  will update the server properly
  and it won't exist after being destroyed
  an item in a belongs_to relationship can be created without belonging to anybody
  and can be reloaded
  and can be deleted
  and it will be won't exist the server

updating scopes
  will update .all and rerender after saving a record
  destroying records causes a rerender

HyperMesh::Connection
DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead. (called from needs_init? at /hyper-mesh/lib/synchromesh/connection.rb:4)
DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead. (called from needs_init? at /hyper-mesh/lib/synchromesh/connection.rb:4)
DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead. (called from block (2 levels) in <top (required)> at /hyper-mesh/spec/synchromesh/aaa-unit_tests/connection_spec.rb:15)
DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead. (called from block (2 levels) in <top (required)> at /hyper-mesh/spec/synchromesh/aaa-unit_tests/connection_spec.rb:16)
  creates the tables
  creates the messages queue
  can set the root path
  adding new connection
  new connections expire
  can send and read data from a channel
  will update the expiration time after reading
  will expire a polled connection
  after connecting to the transport
    will pass any pending data back
    will have the root path set for console access
    the channel will still be active even after initial connection time is expired
    will only effect the session being connected
    will begin refreshing the channel list
    refreshing will not effect channels not connected to the transport
    refreshing will not effect channels added during the refresh
    sends messages to the transport as well as open channels

DummyValue
  works with string interpolation (defines a JS .toString method)

column types on client
DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead. (called from needs_init? at /hyper-mesh/lib/synchromesh/connection.rb:4)
DEPRECATION WARNING: #tables currently returns both tables and views. This behavior is deprecated and will be changed with Rails 5.1 to only return tables. Use #data_sources instead. (called from needs_init? at /hyper-mesh/lib/synchromesh/connection.rb:4)
DEPRECATION WARNING: Time columns will become time zone aware in Rails 5.1. This
still causes `String`s to be parsed as if they were in `Time.zone`,
and `Time`s to be converted to `Time.zone`.

To keep the old behavior, you must add the following to your initializer:

    config.active_record.time_zone_aware_types = [:datetime]

To silence this deprecation warning, add the following:

    config.active_record.time_zone_aware_types = [:datetime, :time]
 (called from block in public_columns_hash at /hyper-mesh/lib/reactive_record/active_record/public_columns_hash.rb:14)
  transfers the columns hash to the client
  defines the server method with a default value
  loads the server method
  creates a dummy value of the appropriate type
  loads and converts the value (FAILED - 1)
  while loading the dummy value delegates the correct type with operators etc (FAILED - 2)
2016-12-20 20:23:44 +0000: Rack app error handling request { GET /react_test/1 }
#<ActionView::Template::Error: No such file or directory @ rb_file_s_rename - (/hyper-mesh/spec/test_app/tmp/cache/assets/test/sprockets/v3.0/nB/nB2JBCP9Mq04xKAlzvmLsgcXo1Mc5wYShOKm2uQ2bwA.cache.69880504180100.320.805324, /hyper-mesh/spec/test_app/tmp/cache/assets/test/sprockets/v3.0/nB/nB2JBCP9Mq04xKAlzvmLsgcXo1Mc5wYShOKm2uQ2bwA.cache)>
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:282:in `rename'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:282:in `atomic_write'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/cache/file_store.rb:107:in `set'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/cache.rb:212:in `set'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/cache.rb:136:in `set'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:243:in `store_asset'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:185:in `load_from_unloaded'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:60:in `block in load'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:44:in `load'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:20:in `block in initialize'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:47:in `load'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/bundle.rb:23:in `block in call'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/utils.rb:200:in `dfs'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/bundle.rb:24:in `call'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:75:in `call_processor'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:57:in `block in call_processors'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in `reverse_each'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in `call_processors'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:134:in `load_from_unloaded'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:60:in `block in load'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:44:in `load'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:20:in `block in initialize'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:47:in `load'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/base.rb:66:in `find_asset'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/environment.rb:30:in `find_asset'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/base.rb:92:in `[]'
/usr/local/bundle/gems/sprockets-rails-2.3.3/lib/sprockets/rails/helper.rb:123:in `asset_digest_path'
/usr/local/bundle/gems/sprockets-rails-2.3.3/lib/sprockets/rails/helper.rb:76:in `compute_asset_path'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/helpers/asset_url_helper.rb:144:in `asset_path'
/usr/local/bundle/gems/sprockets-rails-2.3.3/lib/sprockets/rails/helper.rb:91:in `asset_path'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/helpers/asset_url_helper.rb:254:in `javascript_path'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/helpers/asset_tag_helper.rb:61:in `block in javascript_include_tag'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/helpers/asset_tag_helper.rb:59:in `map'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/helpers/asset_tag_helper.rb:59:in `javascript_include_tag'
/usr/local/bundle/gems/sprockets-rails-2.3.3/lib/sprockets/rails/helper.rb:148:in `javascript_include_tag'
/usr/local/bundle/gems/opal-rails-0.9.1/app/helpers/opal_helper.rb:14:in `javascript_include_tag'
inline template:6:in `_inline_template__2090653715659524586_69880505484740'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/template.rb:158:in `block in render'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/notifications.rb:166:in `instrument'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/template.rb:348:in `instrument'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/template.rb:156:in `render'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/template_renderer.rb:54:in `block (2 levels) in render_template'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/abstract_renderer.rb:42:in `block in instrument'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/notifications.rb:164:in `block in instrument'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/notifications.rb:164:in `instrument'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/abstract_renderer.rb:41:in `instrument'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/template_renderer.rb:53:in `block in render_template'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/template_renderer.rb:61:in `render_with_layout'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/template_renderer.rb:52:in `render_template'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/template_renderer.rb:14:in `render'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/renderer.rb:42:in `render_template'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/renderer.rb:23:in `render'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/rendering.rb:103:in `_render_template'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/streaming.rb:217:in `_render_template'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/rendering.rb:83:in `render_to_body'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/rendering.rb:52:in `render_to_body'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/renderers.rb:144:in `render_to_body'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/abstract_controller/rendering.rb:26:in `render'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/rendering.rb:36:in `render'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/instrumentation.rb:44:in `block (2 levels) in render'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/core_ext/benchmark.rb:12:in `block in ms'
/usr/local/lib/ruby/2.3.0/benchmark.rb:308:in `realtime'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/core_ext/benchmark.rb:12:in `ms'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/instrumentation.rb:44:in `block in render'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/instrumentation.rb:87:in `cleanup_view_runtime'
/usr/local/bundle/gems/activerecord-5.0.0.1/lib/active_record/railties/controller_runtime.rb:25:in `cleanup_view_runtime'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/instrumentation.rb:43:in `render'
/hyper-mesh/spec/support/component_helpers.rb:149:in `block (2 levels) in build_test_url_for'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/abstract_controller/base.rb:188:in `process_action'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/rendering.rb:30:in `process_action'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/abstract_controller/callbacks.rb:20:in `block in process_action'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:126:in `call'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:506:in `block (2 levels) in compile'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:455:in `call'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:101:in `__run_callbacks__'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:750:in `_run_process_action_callbacks'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:90:in `run_callbacks'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/abstract_controller/callbacks.rb:19:in `process_action'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/rescue.rb:20:in `process_action'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/notifications.rb:164:in `block in instrument'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/notifications.rb:164:in `instrument'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/instrumentation.rb:30:in `process_action'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/params_wrapper.rb:248:in `process_action'
/usr/local/bundle/gems/activerecord-5.0.0.1/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/abstract_controller/base.rb:126:in `process'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/rendering.rb:30:in `process'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal.rb:190:in `dispatch'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal.rb:262:in `dispatch'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/routing/route_set.rb:32:in `serve'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/journey/router.rb:39:in `block in serve'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/journey/router.rb:26:in `each'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/journey/router.rb:26:in `serve'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/routing/route_set.rb:725:in `call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/etag.rb:25:in `call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/conditional_get.rb:25:in `call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/head.rb:12:in `call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/session/abstract/id.rb:222:in `context'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/session/abstract/id.rb:216:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/cookies.rb:613:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/callbacks.rb:38:in `block in call'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:97:in `__run_callbacks__'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:750:in `_run_call_callbacks'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:90:in `run_callbacks'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/callbacks.rb:36:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/executor.rb:12:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/debug_exceptions.rb:49:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
/usr/local/bundle/gems/railties-5.0.0.1/lib/rails/rack/logger.rb:36:in `call_app'
/usr/local/bundle/gems/railties-5.0.0.1/lib/rails/rack/logger.rb:24:in `block in call'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/tagged_logging.rb:70:in `block in tagged'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/tagged_logging.rb:26:in `tagged'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/tagged_logging.rb:70:in `tagged'
/usr/local/bundle/gems/railties-5.0.0.1/lib/rails/rack/logger.rb:24:in `call'
/hyper-mesh/lib/synchromesh/synchromesh_controller.rb:25:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/request_id.rb:24:in `call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/method_override.rb:22:in `call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/runtime.rb:22:in `call'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/executor.rb:12:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/static.rb:136:in `call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/sendfile.rb:111:in `call'
/usr/local/bundle/gems/railties-5.0.0.1/lib/rails/engine.rb:522:in `call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/urlmap.rb:68:in `block in call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/urlmap.rb:53:in `each'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/urlmap.rb:53:in `call'
/usr/local/bundle/gems/capybara-2.11.0/lib/capybara/server.rb:43:in `call'
/usr/local/bundle/gems/puma-3.6.2/lib/puma/configuration.rb:225:in `call'
/usr/local/bundle/gems/puma-3.6.2/lib/puma/server.rb:578:in `handle_request'
/usr/local/bundle/gems/puma-3.6.2/lib/puma/server.rb:415:in `process_client'
/usr/local/bundle/gems/puma-3.6.2/lib/puma/server.rb:275:in `block in run'
/usr/local/bundle/gems/puma-3.6.2/lib/puma/thread_pool.rb:116:in `block in spawn_thread'
  converts a time string to a time on writing (FAILED - 3)
  converts a integer to a time on writing (FAILED - 4)
  converts a float to a time on writing (FAILED - 5)
  converts a 0, "false" false and nil to a boolean false, everything else is true (FAILED - 6)
2016-12-20 20:42:33 +0000: Rack app error handling request { GET /react_test/1 }
#<ActionView::Template::Error: No such file or directory @ rb_file_s_rename - (/hyper-mesh/spec/test_app/tmp/cache/assets/test/sprockets/v3.0/fY/fY2bD1_SiMAq2IERgxwPIwsyZVnDQPHnVtFAlYBZG6g.cache.69880512341180.320.429901, /hyper-mesh/spec/test_app/tmp/cache/assets/test/sprockets/v3.0/fY/fY2bD1_SiMAq2IERgxwPIwsyZVnDQPHnVtFAlYBZG6g.cache)>
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:282:in `rename'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/path_utils.rb:282:in `atomic_write'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/cache/file_store.rb:107:in `set'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/cache.rb:212:in `set'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/cache.rb:136:in `set'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/legacy.rb:128:in `cache_set'
/usr/local/bundle/gems/opal-0.10.3/lib/opal/sprockets/source_map_server.rb:58:in `set_map_cache'
/usr/local/bundle/gems/opal-0.10.3/lib/opal/sprockets/processor.rb:53:in `evaluate'
/usr/local/bundle/gems/tilt-2.0.5/lib/tilt/template.rb:102:in `render'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/legacy_tilt_processor.rb:25:in `call'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:75:in `call_processor'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:57:in `block in call_processors'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in `reverse_each'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in `call_processors'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:134:in `load_from_unloaded'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:60:in `block in load'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:44:in `load'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:20:in `block in initialize'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:47:in `load'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/bundle.rb:23:in `block in call'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/utils.rb:200:in `dfs'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/bundle.rb:24:in `call'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:75:in `call_processor'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:57:in `block in call_processors'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in `reverse_each'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in `call_processors'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:134:in `load_from_unloaded'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:60:in `block in load'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/loader.rb:44:in `load'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:20:in `block in initialize'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/cached_environment.rb:47:in `load'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/base.rb:66:in `find_asset'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/environment.rb:30:in `find_asset'
/usr/local/bundle/gems/sprockets-3.7.1/lib/sprockets/base.rb:92:in `[]'
/usr/local/bundle/gems/sprockets-rails-2.3.3/lib/sprockets/rails/helper.rb:123:in `asset_digest_path'
/usr/local/bundle/gems/sprockets-rails-2.3.3/lib/sprockets/rails/helper.rb:76:in `compute_asset_path'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/helpers/asset_url_helper.rb:144:in `asset_path'
/usr/local/bundle/gems/sprockets-rails-2.3.3/lib/sprockets/rails/helper.rb:91:in `asset_path'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/helpers/asset_url_helper.rb:254:in `javascript_path'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/helpers/asset_tag_helper.rb:61:in `block in javascript_include_tag'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/helpers/asset_tag_helper.rb:59:in `map'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/helpers/asset_tag_helper.rb:59:in `javascript_include_tag'
/usr/local/bundle/gems/sprockets-rails-2.3.3/lib/sprockets/rails/helper.rb:148:in `javascript_include_tag'
/usr/local/bundle/gems/opal-rails-0.9.1/app/helpers/opal_helper.rb:14:in `javascript_include_tag'
inline template:6:in `_inline_template__2090653715659524586_69880520489540'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/template.rb:158:in `block in render'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/notifications.rb:166:in `instrument'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/template.rb:348:in `instrument'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/template.rb:156:in `render'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/template_renderer.rb:54:in `block (2 levels) in render_template'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/abstract_renderer.rb:42:in `block in instrument'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/notifications.rb:164:in `block in instrument'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/notifications.rb:164:in `instrument'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/abstract_renderer.rb:41:in `instrument'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/template_renderer.rb:53:in `block in render_template'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/template_renderer.rb:61:in `render_with_layout'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/template_renderer.rb:52:in `render_template'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/template_renderer.rb:14:in `render'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/renderer.rb:42:in `render_template'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/renderer/renderer.rb:23:in `render'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/rendering.rb:103:in `_render_template'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/streaming.rb:217:in `_render_template'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/rendering.rb:83:in `render_to_body'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/rendering.rb:52:in `render_to_body'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/renderers.rb:144:in `render_to_body'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/abstract_controller/rendering.rb:26:in `render'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/rendering.rb:36:in `render'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/instrumentation.rb:44:in `block (2 levels) in render'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/core_ext/benchmark.rb:12:in `block in ms'
/usr/local/lib/ruby/2.3.0/benchmark.rb:308:in `realtime'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/core_ext/benchmark.rb:12:in `ms'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/instrumentation.rb:44:in `block in render'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/instrumentation.rb:87:in `cleanup_view_runtime'
/usr/local/bundle/gems/activerecord-5.0.0.1/lib/active_record/railties/controller_runtime.rb:25:in `cleanup_view_runtime'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/instrumentation.rb:43:in `render'
/hyper-mesh/spec/support/component_helpers.rb:149:in `block (2 levels) in build_test_url_for'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/abstract_controller/base.rb:188:in `process_action'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/rendering.rb:30:in `process_action'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/abstract_controller/callbacks.rb:20:in `block in process_action'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:126:in `call'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:506:in `block (2 levels) in compile'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:455:in `call'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:101:in `__run_callbacks__'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:750:in `_run_process_action_callbacks'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:90:in `run_callbacks'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/abstract_controller/callbacks.rb:19:in `process_action'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/rescue.rb:20:in `process_action'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/notifications.rb:164:in `block in instrument'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/notifications.rb:164:in `instrument'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/instrumentation.rb:30:in `process_action'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal/params_wrapper.rb:248:in `process_action'
/usr/local/bundle/gems/activerecord-5.0.0.1/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/abstract_controller/base.rb:126:in `process'
/usr/local/bundle/gems/actionview-5.0.0.1/lib/action_view/rendering.rb:30:in `process'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal.rb:190:in `dispatch'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_controller/metal.rb:262:in `dispatch'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/routing/route_set.rb:50:in `dispatch'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/routing/route_set.rb:32:in `serve'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/journey/router.rb:39:in `block in serve'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/journey/router.rb:26:in `each'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/journey/router.rb:26:in `serve'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/routing/route_set.rb:725:in `call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/etag.rb:25:in `call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/conditional_get.rb:25:in `call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/head.rb:12:in `call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/session/abstract/id.rb:222:in `context'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/session/abstract/id.rb:216:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/cookies.rb:613:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/callbacks.rb:38:in `block in call'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:97:in `__run_callbacks__'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:750:in `_run_call_callbacks'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/callbacks.rb:90:in `run_callbacks'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/callbacks.rb:36:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/executor.rb:12:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/debug_exceptions.rb:49:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
/usr/local/bundle/gems/railties-5.0.0.1/lib/rails/rack/logger.rb:36:in `call_app'
/usr/local/bundle/gems/railties-5.0.0.1/lib/rails/rack/logger.rb:24:in `block in call'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/tagged_logging.rb:70:in `block in tagged'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/tagged_logging.rb:26:in `tagged'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/tagged_logging.rb:70:in `tagged'
/usr/local/bundle/gems/railties-5.0.0.1/lib/rails/rack/logger.rb:24:in `call'
/hyper-mesh/lib/synchromesh/synchromesh_controller.rb:25:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/request_id.rb:24:in `call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/method_override.rb:22:in `call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/runtime.rb:22:in `call'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/executor.rb:12:in `call'
/usr/local/bundle/gems/actionpack-5.0.0.1/lib/action_dispatch/middleware/static.rb:136:in `call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/sendfile.rb:111:in `call'
/usr/local/bundle/gems/railties-5.0.0.1/lib/rails/engine.rb:522:in `call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/urlmap.rb:68:in `block in call'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/urlmap.rb:53:in `each'
/usr/local/bundle/gems/rack-2.0.1/lib/rack/urlmap.rb:53:in `call'
/usr/local/bundle/gems/capybara-2.11.0/lib/capybara/server.rb:43:in `call'
/usr/local/bundle/gems/puma-3.6.2/lib/puma/configuration.rb:225:in `call'
/usr/local/bundle/gems/puma-3.6.2/lib/puma/server.rb:578:in `handle_request'
/usr/local/bundle/gems/puma-3.6.2/lib/puma/server.rb:415:in `process_client'
/usr/local/bundle/gems/puma-3.6.2/lib/puma/server.rb:275:in `block in run'
/usr/local/bundle/gems/puma-3.6.2/lib/puma/thread_pool.rb:116:in `block in spawn_thread'
^Crake aborted!
Interrupt:
/usr/local/bundle/gems/rspec-core-3.5.4/lib/rspec/core/rake_task.rb:79:in `system'
/usr/local/bundle/gems/rspec-core-3.5.4/lib/rspec/core/rake_task.rb:79:in `run_task'
/usr/local/bundle/gems/rspec-core-3.5.4/lib/rspec/core/rake_task.rb:96:in `block (2 levels) in define'
/usr/local/bundle/gems/rspec-core-3.5.4/lib/rspec/core/rake_task.rb:94:in `block in define'
/usr/local/bin/bundle:22:in `load'
/usr/local/bin/bundle:22:in `<main>'
Terminating WebSocket Server
Tasks: TOP => spec
(See full trace by running task with --trace)

@catmando
Copy link
Contributor

so I'm a little confused by #19. does the PR fix this problem?

@costa
Copy link
Author

costa commented Dec 29, 2016

@catmando No, unfortunately, not as such. I was just hoping someone (more experienced with the project) could take a quick look and see if there's a major environment problem or something (since I'm getting a lot of failures). I'm re-running the specs as we speak and I'll hopefully attach the full log when it's done.

@costa
Copy link
Author

costa commented Dec 29, 2016

@catmando ok, it's not as bad as I thought it was, I can probably fix most of the errors easily, one run yields:

Failures:

  1) column types on client loads and converts the value
     Failure/Error:
       expect_promise do
         ReactiveRecord.load do
           TypeTest.columns_hash.collect do |attr, _info|
             [TypeTest.find(1).send(attr).class, TypeTest.find(1).send(attr)]
           end.flatten
         end
       end.to eq([
         'Number', 1,
         'NilClass', nil,
         'Boolean', true,

       expected: ["Number", 1, "NilClass", nil, "Boolean", true, "Date", "2003-02-01", "Time", "2003-02-01T00:00:00+00..."hello", "String", "goodby", "Time", "2000-01-01T00:00:00+0000", "Time", "2003-02-01T00:00:00+0000"]
            got: ["Number", 1, "NilClass", nil, "Boolean", true, "Date", "2003-02-01", "Time", "2003-02-01T00:00:00-00..."hello", "String", "goodby", "Time", "2000-01-01T00:00:00-0000", "Time", "2003-02-01T00:00:00-0000"]

       (compared using ==)
     # ./spec/synchromesh/column_types/column_type_spec.rb:185:in `block (2 levels) in <top (required)>'
     # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

  2) column types on client while loading the dummy value delegates the correct type with operators etc
     Failure/Error:
       expect_evaluate_ruby do
         t = TypeTest.find(1)
         [
           !t.boolean, t.date+1, t.datetime+2.days, t.decimal + 5, t.float + 6, t.integer + 7,
           t.bigint + 8, t.string.length, t.text.length, t.time+3.days, t.timestamp+4.days
         ]
       end.to eq([
         true, "2001-01-02", (Timex.sqlmin+2.days).as_json, 5, 6, 7,
         8, 0, 0, (Timex.sqlmin+3.days).as_json, (Timex.sqlmin+4.days).as_json
       ])

       expected: [true, "2001-01-02", "2001-01-03T00:00:00+0000", 5, 6, 7, 8, 0, 0, "2001-01-04T00:00:00+0000", "2001-01-05T00:00:00+0000"]
            got: [true, "2001-01-02", "2001-01-03T00:00:00-0000", 5, 6, 7, 8, 0, 0, "2001-01-04T00:00:00-0000", "2001-01-05T00:00:00-0000"]

       (compared using ==)
     # ./spec/synchromesh/column_types/column_type_spec.rb:223:in `block (2 levels) in <top (required)>'
     # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

  3) column types on client converts a time string to a time on writing
     Failure/Error:
       expect_evaluate_ruby do
         test = TypeTest.new
         test.datetime = "1/1/2001"
         (test.datetime + 1.minute)
       end.to eq((Timex.parse("1/1/2001") + 1.minute).as_json)

       expected: "2001-01-01T00:01:00+0000"
            got: "2001-01-01T00:01:00-0000"

       (compared using ==)
     # ./spec/synchromesh/column_types/column_type_spec.rb:236:in `block (2 levels) in <top (required)>'
     # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

  4) column types on client converts a integer to a time on writing
     Failure/Error:
       expect_evaluate_ruby do
         test = TypeTest.new
         test.datetime = 12
         test.datetime + 60.seconds
       end.to eq((Timex.at(12)+60.seconds).as_json)

       expected: "1970-01-01T00:01:12+0000"
            got: "1970-01-01T00:01:12-0000"

       (compared using ==)
     # ./spec/synchromesh/column_types/column_type_spec.rb:244:in `block (2 levels) in <top (required)>'
     # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

  5) column types on client converts a float to a time on writing
     Failure/Error:
       expect_evaluate_ruby do
         test = TypeTest.new
         test.datetime = 12.2
         test.datetime + 60.9
       end.to eq((Timex.at(12.2)+60.9).as_json)

       expected: "1970-01-01T00:01:13+0000"
            got: "1970-01-01T00:01:13-0000"

       (compared using ==)
     # ./spec/synchromesh/column_types/column_type_spec.rb:252:in `block (2 levels) in <top (required)>'
     # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

  6) column types on client converts other dates just like time
     Failure/Error:
       expect_evaluate_ruby do
         [:datetime, :time, :timestamp].collect do |attr|
           TypeTest.new(attr => 12).send(attr)
         end.uniq
       end.to eq([Timex.at(12).as_json])

       expected: ["1970-01-01T00:00:12+0000"]
            got: ["1970-01-01T00:00:12-0000"]

       (compared using ==)
     # ./spec/synchromesh/column_types/column_type_spec.rb:268:in `block (2 levels) in <top (required)>'
     # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

  7) column types on client uses the default value if specified for the dummy value
     Failure/Error:
       expect_evaluate_ruby do
         t = DefaultTest.find(1)
         [t.string, t.date, t.datetime]
       end.to eq(["I'm a string!", r.date.as_json, Timex.new(r.datetime.localtime).as_json])

       expected: ["I'm a string!", "2016-12-29", "2016-12-29T17:51:24+0000"]
            got: ["I'm a string!", "2016-12-29", "2016-12-29T17:51:24-0000"]

       (compared using ==)
     # ./spec/synchromesh/column_types/column_type_spec.rb:295:in `block (2 levels) in <top (required)>'
     # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

  8) authorization integration will only synchronize the connected channels
     Failure/Error:
       model1.attributes_on_client(page).should eq({
         id: 1,
         created_at: model1.created_at.localtime.strftime('%Y-%m-%dT%H:%M:%S%z'),
         updated_at: model1.updated_at.localtime.strftime('%Y-%m-%dT%H:%M:%S%z')
       })

       expected: {:id=>1, :created_at=>"2016-12-29T17:55:06+0000", :updated_at=>"2016-12-29T17:55:07+0000"}
            got: {:id=>1, :updated_at=>"2016-12-29T17:55:07-0000", :created_at=>"2016-12-29T17:55:06-0000"}

       (compared using ==)

       Diff:

       @@ -1,4 +1,4 @@
       -:created_at => "2016-12-29T17:55:06+0000",
       +:created_at => "2016-12-29T17:55:06-0000",
        :id => 1,
       -:updated_at => "2016-12-29T17:55:07+0000",
       +:updated_at => "2016-12-29T17:55:07-0000",

     # ./spec/synchromesh/integration/authorization_spec.rb:75:in `block (2 levels) in <top (required)>'
     # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

  9) authorization integration will fail on illegal class connections
     Failure/Error: model1.attributes_on_client(page).should eq({id: 1})

       expected: {:id=>1}
            got: {:id=>2}

       (compared using ==)

       Diff:
       @@ -1,2 +1,2 @@
       -:id => 1,
       +:id => 2,

     # ./spec/synchromesh/integration/authorization_spec.rb:98:in `block (2 levels) in <top (required)>'
     # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

  10) authorization integration will fail on illegal instance connections
      Failure/Error: model1.attributes_on_client(page).should eq({id: 1})

        expected: {:id=>1}
             got: {:id=>3}

        (compared using ==)

        Diff:
        @@ -1,2 +1,2 @@
        -:id => 1,
        +:id => 3,

      # ./spec/synchromesh/integration/authorization_spec.rb:108:in `block (2 levels) in <top (required)>'
      # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

  11) default_scope client tests a default scope can be added server side using either a block or proc
      Failure/Error: page.should have_content("0 unscoped items")
        expected #has_content?("0 unscoped items") to return true, got false
      # ./spec/synchromesh/integration/default_scope_spec.rb:56:in `block (3 levels) in <top (required)>'
      # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

  12) default_scope client tests a default scope can be added client side
      Failure/Error: page.should have_content("0 unscoped items")
        expected #has_content?("0 unscoped items") to return true, got false
      # ./spec/synchromesh/integration/default_scope_spec.rb:96:in `block (3 levels) in <top (required)>'
      # /usr/local/bundle/gems/rspec-wait-0.0.9/lib/rspec/wait.rb:46:in `block (2 levels) in <top (required)>'

Finished in 20 minutes 18 seconds (files took 6.76 seconds to load)
219 examples, 12 failures, 6 pending

@catmando
Copy link
Contributor

Quick look would indicate that the test environment is reporting GMT as -000 instead of expected +000

Failures 10 and 11 are worrisome as they in the auth spec

The last one is tough, as it's against the rendered output which u can't see!

I'll see if there is a way to fix the GMT problem first

@janbiedermann
Copy link
Contributor

for times showing +0000 -0000: This is ruby specifically, see:
https://bugs.ruby-lang.org/issues/691
https://codedump.io/share/jcuvHuHfBsbF/1/forcing-quot0000quot-timezone-for-rfc2822-times-in-ruby
Setting the Timezone will eliminate the problem of +0000 -0000
for tests done in PR#40

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants