mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	IO#readpartial rejects bad args
Sometimes a sleepy developer will want to swap read_nonblock for readpartial forget to remove "exception: false" * io.c (io_getpartial): remove unused kwarg from template * test/ruby/test_io.rb (test_readpartial_bad_args): new [Bug #11885] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
		
							parent
							
								
									509cfc4c37
								
							
						
					
					
						commit
						edea151a4b
					
				
					 3 changed files with 18 additions and 1 deletions
				
			
		|  | @ -1,3 +1,9 @@ | |||
| Sun Dec 27 15:14:20 2015  Eric Wong  <e@80x24.org> | ||||
| 
 | ||||
| 	* io.c (io_getpartial): remove unused kwarg from template | ||||
| 	* test/ruby/test_io.rb (test_readpartial_bad_args): new | ||||
| 	  [Bug #11885] | ||||
| 
 | ||||
| Sun Dec 27 11:50:53 2015  Kuniaki IGARASHI  <igaiga@gmail.com> | ||||
| 
 | ||||
| 	* test/ruby/test_string.rb (test_rstrip, test_lstrip): Add tests | ||||
|  |  | |||
							
								
								
									
										2
									
								
								io.c
									
										
									
									
									
								
							
							
						
						
									
										2
									
								
								io.c
									
										
									
									
									
								
							|  | @ -2506,7 +2506,7 @@ io_getpartial(int argc, VALUE *argv, VALUE io, VALUE opts, int nonblock) | |||
|     long n, len; | ||||
|     struct read_internal_arg arg; | ||||
| 
 | ||||
|     rb_scan_args(argc, argv, "11:", &length, &str, NULL); | ||||
|     rb_scan_args(argc, argv, "11", &length, &str); | ||||
| 
 | ||||
|     if ((len = NUM2LONG(length)) < 0) { | ||||
| 	rb_raise(rb_eArgError, "negative length %ld given", len); | ||||
|  |  | |||
|  | @ -3186,6 +3186,17 @@ End | |||
|     } | ||||
|   end | ||||
| 
 | ||||
|   def test_readpartial_bad_args | ||||
|     IO.pipe do |r, w| | ||||
|       w.write '.' | ||||
|       buf = String.new | ||||
|       assert_raise(ArgumentError) { r.readpartial(1, buf, exception: false) } | ||||
|       assert_raise(TypeError) { r.readpartial(1, exception: false) } | ||||
|       assert_equal [[r],[],[]], IO.select([r], nil, nil, 1) | ||||
|       assert_equal '.', r.readpartial(1) | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def test_sysread_unlocktmp_ensure | ||||
|     bug8669 = '[ruby-core:56121] [Bug #8669]' | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 normal
						normal