mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	if available. * lib/mkmf.rb (init_mkmf): ignore warnings in mkmf tests. * test/mkmf/base.rb (setup, teardown): restore config values. * test/mkmf/test_flags.rb: split from test_find_executable.rb. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30550 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
require_relative 'base'
 | 
						|
 | 
						|
class TestMkmf
 | 
						|
  class TestFlags < TestMkmf
 | 
						|
    def test_valid_warnflags
 | 
						|
      val = $extmk
 | 
						|
      warnflags = $warnflags
 | 
						|
      makefile = mkmf do
 | 
						|
        $extmk = false
 | 
						|
        self.class::CONFIG['warnflags'] = %w"-Wextra
 | 
						|
        -Wno-unused-parameter -Wno-parentheses -Wno-long-long
 | 
						|
        -Wno-missing-field-initializers -Werror=pointer-arith
 | 
						|
        -Werror=write-strings -Werror=declaration-after-statement
 | 
						|
        -Werror=shorten-64-to-32
 | 
						|
        -Werror-implicit-function-declaration
 | 
						|
        ".join(' ')
 | 
						|
        self.class::CONFIG['GCC'] = 'yes'
 | 
						|
        init_mkmf(self.class::CONFIG)
 | 
						|
        configuration '.'
 | 
						|
      end
 | 
						|
      generated_flags = makefile.grep(/warnflags/).first[/^warnflags = (.*)$/, 1].split
 | 
						|
 | 
						|
      assert_equal %w"
 | 
						|
      -Wextra -Wno-unused-parameter -Wno-parentheses
 | 
						|
      -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith
 | 
						|
      -Wwrite-strings -Wdeclaration-after-statement
 | 
						|
      -Wshorten-64-to-32 -Wimplicit-function-declaration
 | 
						|
      ", generated_flags
 | 
						|
 | 
						|
    ensure
 | 
						|
      $warnflags = warnflags
 | 
						|
      $extmk = val
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |