Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix global config load #311

Merged
merged 2 commits into from
Jul 13, 2014
Merged

Conversation

lasseebert
Copy link
Contributor

This fix prevents an error when $HOME is not set in the build environment. (Then ~ can not be expanded)

I'm not sure how to write a unit test for this, so I didn't. Tried to use the branch on environments with and without $HOME, which worked as expected.

global_config_path = File.join(File.expand_path("~"), '.simplecov')
load global_config_path if File.exist?(global_config_path)
if ENV['HOME']
global_config_path = File.join(File.expand_path("~"), '.simplecov')
Copy link
Collaborator

Choose a reason for hiding this comment

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

That is linux specific. I wonder what the behavior would be on windows. There is also an etc library that can give the home directory is the USER is either set or passed in. I think it can even check the passwd file.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ok, thanks for noticing. I will try to create something cross-OS.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Actually, I think I spoke too soon, as the '~' as pre-existing. I do think there should be a more general solution.

require 'etc'
home_dir = Dir.home || Etc.getpwuid.dir || (user = ENV["USER"] && Dir.home(user))

@bf4 bf4 merged commit 1230f59 into simplecov-ruby:master Jul 13, 2014
@lasseebert
Copy link
Contributor Author

Thanks. And sorry for not looking into this myself.

@bf4
Copy link
Collaborator

bf4 commented Jul 13, 2014

No problem.. I actually remembered it from a RubyTapas episode...

jsonn pushed a commit to jsonn/pkgsrc that referenced this pull request Feb 3, 2015
0.9.1, 2014-09-21 ([changes](simplecov-ruby/simplecov@v0.9.0...v0.9.1))
====================

## Bugfixes

 * In 0.9.0, we introduced a regression that made SimpleCov no-op mode fail on Ruby 1.8, while
   dropping 1.8 support altogether is announced only for v1.0. This has been fixed.
   See [#333](simplecov-ruby/simplecov#333) (thanks (@sferik)


0.9.0, 2014-07-17 ([changes](simplecov-ruby/simplecov@v0.8.2...v0.9.0))
====================

**A warm welcome and big thank you to the new contributors [@xaviershay](https://github.com/xaviershay), [@sferik](https://github.com/sferik) and especially [@bf4](https://github.com/bf4) for tackling a whole lot of issues and pull requests for this release!**

## Enhancements

  * New interface to specify multiple formatters.
    See [#317](simplecov-ruby/simplecov#317) (thanks @sferik)
  * Document in the README how to exclude code from coverage reports,
    and that the feature shouldn't be abused for skipping untested
    private code.
    See [#304](simplecov-ruby/simplecov#304)
  * Clarify Ruby version support.
    See [#279](simplecov-ruby/simplecov#279) (thanks @deivid-rodriguez)

## Bugfixes

  * Ensure calculations return Floats, not Fixnum or Rational. Fixes segfaults with mathn.
    See [#245](simplecov-ruby/simplecov#245) (thanks to @bf4)
  * Using `Kernel.exit` instead of exit to avoid uncaught throw :IRB_EXIT when
    exiting irb sessions.
    See [#287](simplecov-ruby/simplecov#287) (thanks @wless1)
    See [#285](simplecov-ruby/simplecov#285)
  * Does not look for .simplecov in ~/ when $HOME is not set.
    See [#311](simplecov-ruby/simplecov#311) (thanks @lasseebert)
  * Exit with code only if it's Numeric > 0.
    See [#302](simplecov-ruby/simplecov#303 @hajder)
  * Make default filter case insensitive.
    See [#280](simplecov-ruby/simplecov#280) (thanks @ryanatball)
  * Improve regexp that matches functional tests.
    See [#276](simplecov-ruby/simplecov#276) (thanks @sferik)
  * Fix TravisCI [#272](simplecov-ruby/simplecov#272) [#278](simplecov-ruby/simplecov#278), [#302](simplecov-ruby/simplecov#302)
  * Fix global config load.
    See [#311](simplecov-ruby/simplecov#311) (thanks @lasseebert)
@lasseebert lasseebert deleted the fix_global_config_load branch June 5, 2015 08:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants