Issue #16679 has been updated by jeremyevans0 (Jeremy Evans).

Status changed from Open to Feedback

From the error you are receiving, it is trying to write to a read-only file, and that is raising an error.  The same tests don't usually raise an error, so this is probably specific to your environment.  Is it possible for you to come up with a way to reproduce the error outside of your environment?

In my environment:

```
make test-all TESTOPTS="-- test/rubygems/test_gem_commands_cert_command.rb"
exec ./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems "./test/runner.rb" --ruby="./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext -- --disable-gems" --excludes-dir=./test/excludes --name=!/memory_leak/ -- test/rubygems/test_gem_commands_cert_command.rb
Run options: "--ruby=./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems" --excludes-dir=./test/excludes --name=!/memory_leak/ --

# Running tests:

Finished tests in 0.942977s, 34.9955 tests/s, 164.3730 assertions/s.
33 tests, 155 assertions, 0 failures, 0 errors, 0 skips

ruby -v: ruby 2.6.6p146 (2020-03-31 revision 67876) [x86_64-openbsd]
```

----------------------------------------
Bug #16679: Test of Ruby fails under multiple OS user userland installations
https://bugs.ruby-lang.org/issues/16679#change-87266

* Author: humptydumpty (Jens With)
* Status: Feedback
* Priority: Normal
* ruby -v: ruby 2.6.5p114 (2019-10-01 revision 67812) [i686-linux]
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
I do user land installations where each of multiple installations of a complex system under it's own OS user installs it's own version of tools from sources if the OS installed version doesn't match necessary criteria.
The system has to be installable under Linux OEL 4.x up to OL8, SuSE 10 up to openSUSE 15.1, and SLES 10 up to SLES 15. 
I always let run `make check/test` for each OSS tool I install from sources.

Ruby has to be one these tools in future versions.
 
One of the errors I run into when testing is:

Current OS user is imppg.

  9) Error:
TestGemCommandsCertCommand#test_execute_re_sign_with_cert_expiration_length_days:
Errno::EACCES: Permission denied @ rb_sysopen - /tmp/expired_cert.pem
    /imphome/imppg/.install/impmake/ruby/ruby-2.6.5/test/rubygems/test_gem_commands_cert_command.rb:627:in `write'
    /imphome/imppg/.install/impmake/ruby/ruby-2.6.5/test/rubygems/test_gem_commands_cert_command.rb:627:in `test_execute_re_sign_with_cert_expiration_length_days'

 10) Error:
TestGemCommandsCertCommand#test_execute_re_sign:
Errno::EACCES: Permission denied @ rb_sysopen - /tmp/expired_cert.pem
    /imphome/imppg/.install/impmake/ruby/ruby-2.6.5/test/rubygems/test_gem_commands_cert_command.rb:596:in `write'
    /imphome/imppg/.install/impmake/ruby/ruby-2.6.5/test/rubygems/test_gem_commands_cert_command.rb:596:in `test_execute_re_sign'

Path of /tmp/expired_cert.pem is identical for every OS user:

imppg@imptstdvl(001):~/impmake/ruby/current$ ls -l /tmp/expired_cert.pem
-rw-r----- 1 imptst imptst 1111 Mar 4 01:11 /tmp/expired_cert.pem



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>