Ruby 3.3.0 changed the BasicSocket#recv method to return nil instead of an empty string when used on a closed socket. The netsed tests need to be adjusted to account for that. See https://github.com/ruby/ruby/commit/2e4e4c82c282622a94b9499c182a7e52e21a23b4 diff -upr netsed-1.3.orig/test/tc_tcp.rb netsed-1.3/test/tc_tcp.rb --- netsed-1.3.orig/test/tc_tcp.rb 2024-07-11 20:49:02.453610429 +0200 +++ netsed-1.3/test/tc_tcp.rb 2024-07-11 20:49:31.873686975 +0200 @@ -61,7 +61,7 @@ class TC_TCPTest < Test::Unit::TestCase # Check when there is no server def test_case_02_NoServer datarecv = TCPSingleDataRecv(self.class::CONFIG[:SERVER], LPORT, 100) - assert_equal('', datarecv) + assert_equal(nil, datarecv) end # Check when the client sends the data