添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

Hello,
I’m not sure why but RSpec is returning on my circleCI environment with error code 1 despite all tests passing?

Warning: NLS_LANG is not set. fallback to US7ASCII.
WARNING: Unexpected middleware set after the adapter. This won't be supported from Faraday 1.0.
WARNING: Unexpected middleware set after the adapter. This won't be supported from Faraday 1.0.
Run options:
  include {:focus=>true}
  exclude {:broken=>true}
All examples were filtered out; ignoring {:focus=>true}
Top 10 slowest examples (5.52 seconds, 39.9% of total time):
  CloneStyleService#clone with a basic style only calls the style's writeback once
    1.55 seconds ./spec/services/clone_style_service_spec.rb:40
  CloneStyleService#clone with a basic style ignores color priority attribute and copies colors in id order
    0.50374 seconds ./spec/services/clone_style_service_spec.rb:335
  CloneStyleService#clone with a basic style blanks out supporting image image data
    0.47192 seconds ./spec/services/clone_style_service_spec.rb:350
  CloneStyleService#clone with a basic style only sets some attributes to nil
    0.44804 seconds ./spec/services/clone_style_service_spec.rb:55
  CloneStyleService#clone with a basic style copies all colors except retired colors
    0.44649 seconds ./spec/services/clone_style_service_spec.rb:128
  CloneStyleService#clone with a basic style resets 'deployed_at' and 'deploy_type' on new colors
    0.43403 seconds ./spec/services/clone_style_service_spec.rb:153
  CloneStyleService#clone with a basic style copies complementary styles to have the same groups if include_complements is true
    0.43389 seconds ./spec/services/clone_style_service_spec.rb:195
  CloneStyleService#clone with a basic style creates the other one-to-many relations with matching important data
    0.41101 seconds ./spec/services/clone_style_service_spec.rb:163
  CloneStyleService#clone with a basic style creates the same number of one-to-many relations
    0.41083 seconds ./spec/services/clone_style_service_spec.rb:94
  CloneStyleService#clone with a basic style creates view image records without copying any image data
    0.40754 seconds ./spec/services/clone_style_service_spec.rb:306
invalid option: --profile
minitest options:
    -h, --help                       Display this help.
        --no-plugins                 Bypass minitest plugin auto-loading (or set $MT_NO_PLUGINS).
    -s, --seed SEED                  Sets random seed. Also via env. Eg: SEED=n rake
    -v, --verbose                    Verbose. Show progress processing files.
    -n, --name PATTERN               Filter run on /regexp/ or string.
    -e, --exclude PATTERN            Exclude /regexp/ or string from run.
Known extensions: rails, pride
    -b, --backtrace                  Show the complete backtrace
    -d, --defer-output               Output test failures and errors after the test run
    -f, --fail-fast                  Abort test run on first failure or error
    -c, --[no-]color                 Enable color in the output
    -p, --pride                      Pride. Show your testing pride!
Coverage report generated for RSpec to /home/circleci/mms/coverage. 1648 / 5948 LOC (27.71%) covered.
Exited with code 1

I don’t understand why it’s complaining about the arguments. They work just fine on another project.
Invoking the command like this :

#!/bin/bash -eo pipefail
bundle exec rspec --fail-fast --profile 10 --require rspec_junit_formatter --format RspecJunitFormatter --out ./tmp/test-results/rspec/results.xml $(circleci tests glob "spec/**/*_spec.rb" | circleci tests split --split-by=timings)

I think running an SSH job and trying the command manually would help in this case, then.

https://circleci.com/docs/2.0/ssh-access-jobs/

Okay,

I’ve used the SSH to get onto the box, and it seems as soon as I pass in the --format option to RSpec it doesn’t like this. Which makes no sense, because this is a core feature of RSpec.

I’ve opened an issue with RSpec about this, but none of it makes sense.
This is just supposed to work.

Looks like someone is having trouble with --format here too. I wonder if there is a bug where, by virtue of running it in a particular environment - say with env vars missing - it reports a rather unhelpful error? In this case, someone is trying to run the command from within an IDE, which may also tamper with RSpec’s environment.

I’ve actually resolved the issue.
The problem is that when you run RSpec, and your code is auto-loading minitest or test-unit, their runners get confused and try to parse the arguments you hand over to RSpec.
It’s not RSpec that’s returning the error code 1, it’s actually minitest.

In our case, we had the line require rails/test_helper in our specs, which loaded minitest.
As soon as I removed that line, everything worked normally.