Bug #16679
closedTest of Ruby fails under multiple OS user userland installations
Description
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.
-
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:inwrite' /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' -
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:inwrite' /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
Updated by jeremyevans0 (Jeremy Evans) about 4 years ago
- 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]
Updated by jeremyevans0 (Jeremy Evans) over 3 years ago
- Status changed from Feedback to Closed