Since 1.8 does not canonicalize the filename that is required, the same file can be required multiple time. This is particularly true for spec_helper.rb, however it could also affect execution of the specs. On 1.9, the path is canonicalized. Using File.expand_path should eliminate this difference on 1.8 and 1.9.
See http://rubyspec.org/wiki/rubyspec/Guards for the correct use of all the guards. In particular, note that the compliant_on/ not_compliant_on guarded specs will always run on MRI. The deviates_on, extended_on, and not_supported_on never run on MRI. These latter three guards will now raise an exception if passed :ruby. Also, platforms like :windows are not proper for any of these implementation compliance guards. Use ruby_version_is or ruby_bug guards for version-specific specs or specs that expose bugs in MRI.