Skip to content

Problem with running tests #306

Description

@katafrakt

When I try to run the tests for this repo locally, sometimes my test run looks like this:

Randomized with seed 7379
................................................................................................*..................................mysql: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb' instead
WARNING: option --ssl-verify-server-cert is disabled, because of an insecure passwordless login.


Pending: (Failures listed here are expected and do not affect your suite's status)

  1) Hanami::CLI::Commands::App::Generate::Action generate for app, without hanami view bundled allows to specify MIME Type for template
     # Temporarily skipped with xit
     # ./spec/unit/hanami/cli/commands/app/generate/action_spec.rb:252


Finished in 8.57 seconds (files took 0.85412 seconds to load)
132 examples, 0 failures, 1 pending

Other times like this:

Randomized with seed 6645
...................mysql: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb' instead
WARNING: option --ssl-verify-server-cert is disabled, because of an insecure passwordless login.


Finished in 4.46 seconds (files took 0.84088 seconds to load)
20 examples, 0 failures

Either way, the whole suite is pretty much never completed. It looks like something (probably around mysql tests) kills the test process abruptly, but in a way that the RSpec runner thinks that all the test are run. I'm not sure how to start debugging it. Running with doc format does not reveal any further hints.

Example:


Randomized with seed 15437

Hanami::CLI::Server
  #call
    delegates config as config
    delegates debug as debug
    delegates port as Port
    delegates warn as warn
    delegates host as Host

Hanami::CLI::Commands::App::DB::Structure::Load
  mysql
mysql: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb' instead
WARNING: option --ssl-verify-server-cert is disabled, because of an insecure passwordless login.

Finished in 0.32933 seconds (files took 1.25 seconds to load)
6 examples, 0 failures

Another example (truncated)

Randomized with seed 49833

bin/hanami
  console
    defaulting to pry when it's present
      starts pry console
    irb
      starts irb console (PENDING: Temporarily skipped with xit)
[...]
Hanami::CLI::Commands::App::DB::Structure::Dump
  postgres
    prints errors for any dumps that fail and exits with non-zero status
    dumps the structure for the app db when given --app
    dumps the structure for each db, including schema_migrations
    dumps the structure for a slice db when given --slice
  sqlite
    prints errors for any dumps that fail and exits with non-zero status
    dumps the structure for each db, including schema_migrations
    dumps the structure for the app db when given --app
    dumps the structure for a slice db when given --slice
    slice with gateways
      dumps the structure for for a slice's gateway when given --slice and --gateway
      dumps the structure for all the slice's gateways when given --slice
    app with gateways
      dumps the structure for all the app's gateways when given --app
      dumps the structure for for a slice's gateway when given --app and --gateway
  mysql
mysql: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb' instead
WARNING: option --ssl-verify-server-cert is disabled, because of an insecure passwordless login.

Pending: (Failures listed here are expected and do not affect your suite's status)

  1) bin/hanami console irb starts irb console
     # Temporarily skipped with xit
     # ./spec/integration/run_spec.rb:59


Finished in 9.42 seconds (files took 0.55687 seconds to load)
47 examples, 0 failures, 1 pending

And a somewhat related question:

Could setup for running the tests be documented somewhere in the repository, perhaps the README? I find myself reverse-engineering Github Actions setup every time, just to figure out how to run against different databases and perhaps I'm doing something wrong in that regard.

The command I used to run above is:

MYSQL_BASE_URL=mysql2://[email protected]/hanami_cli_test POSTGRES_BASE_URL=postgres://postgres:password@localhost:5432/hanami_cli_test bundle exec rake spec

(tried replacing with bundle exec rspec but the outcome is the same)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions