-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Rack v2.2.15 raises NameError: uninitialized constant CGI::Cookie #2334
Copy link
Copy link
Closed
Description
Thank you for releasing the Rack v2.2.15 to support Ruby 3.5.
https://github.com/rack/rack/blob/v2.2.15/CHANGELOG.md#2215---2025-05-18
Rails CI against Ruby master branch with Rack v2.2.15 shows NameError: uninitialized constant CGI::Cookie.
https://buildkite.com/rails/rails-nightly/builds/2248#0196ea59-3eab-4a37-bc05-24126a9ad23d/1181-2640
Steps to reproduce
This error can be reproduced as follows.
- Install Ruby master branch
- Run these steps to run unit tests against the 2-2-stable branch
git clone -b 2-2-stable_cgi_cookie https://github.com/yahonda/rack # add ostruct and logger gem to the 2-2-stable branch
cd rack
bundle install
bundle exec rake testExpected behavior
All of tests should pass.
Actual behavior
NameError: uninitialized constant CGI::Cookie raised
$ ruby -v
ruby 3.5.0dev (2025-05-19T17:34:29Z master a7ef9a44a6) +PRISM [x86_64-linux]
$ bundle exec rake test
/home/yahonda/.local/share/mise/installs/ruby/trunk/bin/ruby -I"lib:test" /home/yahonda/.local/share/mise/installs/ruby/trunk/lib/ruby/gems/3.5.0+1/gems/rake-13.2.1/lib/rake/rake_test_loader.rb "test/spec_auth_basic.rb" "test/spec_auth_digest.rb" "test/spec_body_proxy.rb" "test/spec_builder.rb" "test/spec_cascade.rb" "test/spec_chunked.rb" "test/spec_common_logger.rb" "test/spec_conditional_get.rb" "test/spec_config.rb" "test/spec_content_length.rb" "test/spec_content_type.rb" "test/spec_deflater.rb" "test/spec_directory.rb" "test/spec_etag.rb" "test/spec_events.rb" "test/spec_files.rb" "test/spec_handler.rb" "test/spec_head.rb" "test/spec_lint.rb" "test/spec_lobster.rb" "test/spec_lock.rb" "test/spec_logger.rb" "test/spec_media_type.rb" "test/spec_method_override.rb" "test/spec_mime.rb" "test/spec_mock.rb" "test/spec_multipart.rb" "test/spec_null_logger.rb" "test/spec_query_parser.rb" "test/spec_recursive.rb" "test/spec_request.rb" "test/spec_response.rb" "test/spec_rewindable_input.rb" "test/spec_runtime.rb" "test/spec_sendfile.rb" "test/spec_server.rb" "test/spec_session_abstract_id.rb" "test/spec_session_abstract_persisted.rb" "test/spec_session_abstract_persisted_secure_secure_session_hash.rb" "test/spec_session_abstract_session_hash.rb" "test/spec_session_cookie.rb" "test/spec_session_pool.rb" "test/spec_show_exceptions.rb" "test/spec_show_status.rb" "test/spec_static.rb" "test/spec_tempfile_reaper.rb" "test/spec_thin.rb" "test/spec_urlmap.rb" "test/spec_utils.rb" "test/spec_version.rb" "test/spec_webrick.rb" "test/gemloader.rb"
Run options: --seed 742
# Running:
........................................................................................................................................................................................................................................................................................................EEEEE....................................................................................................EE.EEEEEE...EEEEEE.EEE...EEEEE.................................................................................................................................................................................................................................................S...........................................................S.........................................................................EEEEE.E..EEE.E.EE..........................................................................EEEE.E.EEE...........................................................................................................................................Parsing options from the first comment line is deprecated!
....E.EEEEEEEE....EEEEE......................................................................Parsing options from the first comment line is deprecated!
..........................
Finished in 3.892215s, 299.3154 runs/s, 1008.9369 assertions/s.
1) Error:
Rack::MockResponse::headers#test_0004_add_header:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:366:in 'block (2 levels) in <top (required)>'
2) Error:
Rack::MockResponse::headers#test_0005_delete_header:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:366:in 'block (2 levels) in <top (required)>'
3) Error:
Rack::MockResponse::headers#test_0002_get_header:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:366:in 'block (2 levels) in <top (required)>'
4) Error:
Rack::MockResponse::headers#test_0001_has_header?:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:366:in 'block (2 levels) in <top (required)>'
5) Error:
Rack::MockResponse::headers#test_0003_set_header:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:366:in 'block (2 levels) in <top (required)>'
6) Error:
Rack::Session::Cookie#test_0014_loads from a cookie with accept-only integrity hash for graceful key rotation:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:294:in 'block (2 levels) in <top (required)>'
7) Error:
Rack::Session::Cookie#test_0006_passes through same_site option to session cookie:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:200:in 'block (2 levels) in <top (required)>'
8) Error:
Rack::Session::Cookie#test_0010_destroys session:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:244:in 'block (2 levels) in <top (required)>'
9) Error:
Rack::Session::Cookie#test_0020_returns the session id in the session hash:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:379:in 'block (2 levels) in <top (required)>'
10) Error:
Rack::Session::Cookie#test_0005_creates a new cookie:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:194:in 'block (2 levels) in <top (required)>'
11) Error:
Rack::Session::Cookie#test_0015_ignores tampered with session cookies:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:307:in 'block (2 levels) in <top (required)>'
12) Error:
Rack::Session::Cookie#test_0028_allows passing in a hash with session data from middleware in front:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:433:in 'block (2 levels) in <top (required)>'
13) Error:
Rack::Session::Cookie#test_0016_supports either of secret or old_secret:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:322:in 'block (2 levels) in <top (required)>'
14) Error:
Rack::Session::Cookie#test_0013_loads from a cookie with integrity hash:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:280:in 'block (2 levels) in <top (required)>'
15) Error:
Rack::Session::Cookie#test_0007_allows using a lambda to specify same_site option, because some browsers require different settings:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:209:in 'block (2 levels) in <top (required)>'
16) Error:
Rack::Session::Cookie#test_0019_can handle middleware that inspects the env:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:371:in 'block (2 levels) in <top (required)>'
17) Error:
Rack::Session::Cookie#test_0004_uses a coder:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:186:in 'block (2 levels) in <top (required)>'
18) Error:
Rack::Session::Cookie#test_0009_renew session id:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:227:in 'block (2 levels) in <top (required)>'
19) Error:
Rack::Session::Cookie#test_0008_loads from a cookie:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:217:in 'block (2 levels) in <top (required)>'
20) Error:
Rack::Session::Cookie#test_0029_allows modifying session data with session data from middleware in front:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:439:in 'block (2 levels) in <top (required)>'
21) Error:
Rack::Session::Cookie#test_0031_allows for non-strict encoded cookie:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:486:in 'block (2 levels) in <top (required)>'
22) Error:
Rack::Session::Cookie#test_0018_can handle Rack::Lint middleware:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:353:in 'block (2 levels) in <top (required)>'
23) Error:
Rack::Session::Cookie#test_0017_supports custom digest class:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:339:in 'block (2 levels) in <top (required)>'
24) Error:
Rack::Session::Cookie#test_0030_allows more than one '--' in the cookie when calculating digests:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:459:in 'block (2 levels) in <top (required)>'
25) Error:
Rack::Session::Cookie#test_0011_survives broken cookies:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:258:in 'block (2 levels) in <top (required)>'
26) Error:
Rack::Session::Cookie#test_0024_returns even if not read/written if :expire_after is set:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:411:in 'block (2 levels) in <top (required)>'
27) Error:
Rack::Session::Cookie#test_0021_does not return a cookie if set to secure but not using ssl:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_cookie.rb:58:in 'response_for'
test/spec_session_cookie.rb:393:in 'block (2 levels) in <top (required)>'
28) Error:
Rack::Session::Pool#test_0010_passes through same_site option to session pool:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_pool.rb:184:in 'block (2 levels) in <top (required)>'
29) Error:
Rack::Session::Pool#test_0009_drops the session in the legacy id as well:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_pool.rb:167:in 'block (2 levels) in <top (required)>'
30) Error:
Rack::Session::Pool#test_0017_doesn't allow session id to be reused:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_pool.rb:288:in 'block (2 levels) in <top (required)>'
31) Error:
Rack::Session::Pool#test_0006_provides new session id with :renew option:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_pool.rb:112:in 'block (2 levels) in <top (required)>'
32) Error:
Rack::Session::Pool#test_0004_does not send the same session id if it did not change:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_pool.rb:68:in 'block (2 levels) in <top (required)>'
33) Error:
Rack::Session::Pool#test_0008_can read the session with the legacy id:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_pool.rb:148:in 'block (2 levels) in <top (required)>'
34) Error:
Rack::Session::Pool#test_0002_determines session from a cookie:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_pool.rb:50:in 'block (2 levels) in <top (required)>'
35) Error:
Rack::Session::Pool#test_0003_survives nonexistent cookies:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_pool.rb:60:in 'block (2 levels) in <top (required)>'
36) Error:
Rack::Session::Pool#test_0015_returns even if not read/written if :expire_after is set:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_pool.rb:255:in 'block (2 levels) in <top (required)>'
37) Error:
Rack::Session::Pool#test_0001_creates a new cookie:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_pool.rb:42:in 'block (2 levels) in <top (required)>'
38) Error:
Rack::Session::Pool#test_0005_deletes cookies with :drop option:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_pool.rb:90:in 'block (2 levels) in <top (required)>'
39) Error:
Rack::Session::Pool#test_0011_allows using a lambda to specify same_site option, because some browsers require different settings:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_session_pool.rb:191:in 'block (2 levels) in <top (required)>'
40) Error:
Rack::MockResponse#test_0002_provide access to the HTTP status:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:261:in 'block (2 levels) in <top (required)>'
41) Error:
Rack::MockResponse#test_0009_provide access to the Rack errors:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:339:in 'block (2 levels) in <top (required)>'
42) Error:
Rack::MockResponse#test_0007_return nil if a non existent cookie is requested:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:325:in 'block (2 levels) in <top (required)>'
43) Error:
Rack::MockResponse#test_0004_provide access to session cookies:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:293:in 'block (2 levels) in <top (required)>'
44) Error:
Rack::MockResponse#test_0006_provide access to secure cookies:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:315:in 'block (2 levels) in <top (required)>'
45) Error:
Rack::MockResponse#test_0003_provide access to the HTTP headers:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:282:in 'block (2 levels) in <top (required)>'
46) Error:
Rack::MockResponse#test_0008_provide access to the HTTP body:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:330:in 'block (2 levels) in <top (required)>'
47) Error:
Rack::MockResponse#test_0005_provide access to persistent cookies:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:304:in 'block (2 levels) in <top (required)>'
48) Error:
Rack::MockRequest#test_0014_accept params and build url encoded params for POST requests:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:58:in 'Rack::MockRequest#post'
test/spec_mock.rb:184:in 'block (2 levels) in <top (required)>'
49) Error:
Rack::MockRequest#test_0010_prepend slash to uri path:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:145:in 'block (2 levels) in <top (required)>'
50) Error:
Rack::MockRequest#test_0016_accept params and build multipart encoded params for POST requests:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:58:in 'Rack::MockRequest#post'
test/spec_mock.rb:205:in 'block (2 levels) in <top (required)>'
51) Error:
Rack::MockRequest#test_0007_allow posting:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:105:in 'block (2 levels) in <top (required)>'
52) Error:
Rack::MockRequest#test_0004_provide sensible defaults:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
test/spec_mock.rb:49:in 'block (2 levels) in <top (required)>'
53) Error:
Rack::MockRequest#test_0008_use all parts of an URL:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:116:in 'block (2 levels) in <top (required)>'
54) Error:
Rack::MockRequest#test_0009_set SSL port and HTTP flag on when using https:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:130:in 'block (2 levels) in <top (required)>'
55) Error:
Rack::MockRequest#test_0015_accept raw input in params for POST requests:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:58:in 'Rack::MockRequest#post'
test/spec_mock.rb:194:in 'block (2 levels) in <top (required)>'
56) Error:
Rack::MockRequest#test_0005_allow GET/POST/PUT/DELETE/HEAD:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:63:in 'block (2 levels) in <top (required)>'
57) Error:
Rack::MockRequest#test_0001_return a MockResponse:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:30:in 'block (2 levels) in <top (required)>'
58) Error:
Rack::MockRequest#test_0013_accept raw input in params for GET requests:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:174:in 'block (2 levels) in <top (required)>'
59) Error:
Rack::MockRequest#test_0012_accept params and build query string for GET requests:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:164:in 'block (2 levels) in <top (required)>'
60) Error:
Rack::MockRequest#test_0017_behave valid according to the Rack spec:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
lib/rack/mock.rb:56:in 'Rack::MockRequest#get'
test/spec_mock.rb:217:in 'block (2 levels) in <top (required)>'
61) Error:
Rack::MockRequest#test_0011_properly convert method name to an uppercase string:
NameError: uninitialized constant CGI::Cookie
lib/rack/mock.rb:268:in 'block in Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:265:in 'Array#each'
lib/rack/mock.rb:265:in 'Rack::MockResponse#parse_cookies_from_header'
lib/rack/mock.rb:216:in 'Rack::MockResponse#initialize'
lib/rack/mock.rb:84:in 'Rack::MockRequest#request'
test/spec_mock.rb:158:in 'block (2 levels) in <top (required)>'
1165 runs, 3927 assertions, 0 failures, 61 errors, 2 skips
You have skipped tests. Run with --verbose for details.
rake aborted!
Command failed with status (1): [ruby -I"lib:test" /home/yahonda/.local/share/mise/installs/ruby/trunk/lib/ruby/gems/3.5.0+1/gems/rake-13.2.1/lib/rake/rake_test_loader.rb "test/spec_auth_basic.rb" "test/spec_auth_digest.rb" "test/spec_body_proxy.rb" "test/spec_builder.rb" "test/spec_cascade.rb" "test/spec_chunked.rb" "test/spec_common_logger.rb" "test/spec_conditional_get.rb" "test/spec_config.rb" "test/spec_content_length.rb" "test/spec_content_type.rb" "test/spec_deflater.rb" "test/spec_directory.rb" "test/spec_etag.rb" "test/spec_events.rb" "test/spec_files.rb" "test/spec_handler.rb" "test/spec_head.rb" "test/spec_lint.rb" "test/spec_lobster.rb" "test/spec_lock.rb" "test/spec_logger.rb" "test/spec_media_type.rb" "test/spec_method_override.rb" "test/spec_mime.rb" "test/spec_mock.rb" "test/spec_multipart.rb" "test/spec_null_logger.rb" "test/spec_query_parser.rb" "test/spec_recursive.rb" "test/spec_request.rb" "test/spec_response.rb" "test/spec_rewindable_input.rb" "test/spec_runtime.rb" "test/spec_sendfile.rb" "test/spec_server.rb" "test/spec_session_abstract_id.rb" "test/spec_session_abstract_persisted.rb" "test/spec_session_abstract_persisted_secure_secure_session_hash.rb" "test/spec_session_abstract_session_hash.rb" "test/spec_session_cookie.rb" "test/spec_session_pool.rb" "test/spec_show_exceptions.rb" "test/spec_show_status.rb" "test/spec_static.rb" "test/spec_tempfile_reaper.rb" "test/spec_thin.rb" "test/spec_urlmap.rb" "test/spec_utils.rb" "test/spec_version.rb" "test/spec_webrick.rb" "test/gemloader.rb" ]
/home/yahonda/.local/share/mise/installs/ruby/trunk/bin/bundle:25:in 'Kernel#load'
/home/yahonda/.local/share/mise/installs/ruby/trunk/bin/bundle:25:in '<main>'
Tasks: TOP => test => test:regular
(See full trace by running task with --trace)
$Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels