Checkout Part 1 of the series first!

When I started working on this os repair project a fresh checkout of the source code would not bundle install.

I was able to fix the problem, but these issues are like peeling an onion. After fixing bundler the tests would not run, and how can you merge a PR if the test suite hasn’t been run?

The critical change for bundler is removing the os gem from being a dependency of the os gem.

# Removed:
s.add_runtime_dependency(%q<os>.freeze, [">= 0"])

The critical change for RSpec is constraining the version to the last known good state, which thankfully was recorded in the Gemfile.lock.

# Locked down to patch level:
s.add_dependency(%q<test-unit>.freeze, ["~> 3.2.0"])
s.add_dependency(%q<rspec>.freeze, ["~> 2.5.0"])

Additionally it fixes two broken tests, where it is clear the author and I have different platforms, and so we hit different paths in the test code.

Bundle fixed, and tests passing!

Check out the pull request and give it a thumbs up or a heart if you are feeling generous!

Stay tuned for further posts in this series!

Hero image (cropped) by Jon Tyson