File tree Expand file tree Collapse file tree 3 files changed +35
-10
lines changed Expand file tree Collapse file tree 3 files changed +35
-10
lines changed Original file line number Diff line number Diff line change @@ -610,9 +610,7 @@ def with_cppflags(flags)
610
610
end
611
611
612
612
def try_cppflags ( flags )
613
- with_cppflags ( flags ) do
614
- try_header ( "int main() {return 0;}" )
615
- end
613
+ try_header ( MAIN_DOES_NOTHING , flags )
616
614
end
617
615
618
616
def with_cflags ( flags )
@@ -624,9 +622,7 @@ def with_cflags(flags)
624
622
end
625
623
626
624
def try_cflags ( flags )
627
- with_cflags ( flags ) do
628
- try_compile ( "int main() {return 0;}" )
629
- end
625
+ try_compile ( MAIN_DOES_NOTHING , flags )
630
626
end
631
627
632
628
def with_ldflags ( flags )
@@ -638,9 +634,7 @@ def with_ldflags(flags)
638
634
end
639
635
640
636
def try_ldflags ( flags )
641
- with_ldflags ( flags ) do
642
- try_link ( "int main() {return 0;}" )
643
- end
637
+ try_link ( MAIN_DOES_NOTHING , flags )
644
638
end
645
639
646
640
def try_static_assert ( expr , headers = nil , opt = "" , &b )
Original file line number Diff line number Diff line change @@ -49,7 +49,9 @@ def write(s)
49
49
@buffer << s if @out
50
50
end
51
51
end
52
+ end
52
53
54
+ module TestMkmf ::Base
53
55
attr_reader :stdout
54
56
55
57
def mkmflog ( msg )
@@ -84,7 +86,7 @@ def setup
84
86
@tmpdir = Dir . mktmpdir
85
87
@curdir = Dir . pwd
86
88
@mkmfobj = Object . new
87
- @stdout = Capture . new
89
+ @stdout = TestMkmf :: Capture . new
88
90
Dir . chdir ( @tmpdir )
89
91
@quiet , Logging . quiet = Logging . quiet , true
90
92
init_mkmf
@@ -127,3 +129,11 @@ def config_value(name)
127
129
nil
128
130
end
129
131
end
132
+
133
+ class TestMkmf
134
+ include TestMkmf ::Base
135
+
136
+ def assert_separately ( args , src , *rest )
137
+ super ( args + [ "-r#{ __FILE__ } " ] , "extend TestMkmf::Base; setup\n #{ src } " , *rest )
138
+ end
139
+ end
Original file line number Diff line number Diff line change @@ -31,5 +31,26 @@ def test_valid_warnflags
31
31
$warnflags = warnflags
32
32
$extmk = val
33
33
end
34
+
35
+ def test_try_ldflag_invalid_opt
36
+ assert_separately ( [ ] , <<-'end;' ) #do
37
+ assert(!try_ldflags("----------"))
38
+ assert(have_devel?, TestMkmf::MKMFLOG)
39
+ end;
40
+ end
41
+
42
+ def test_try_cflag_invalid_opt
43
+ assert_separately ( [ ] , <<-'end;' ) #do
44
+ assert(!try_cflags("----------"))
45
+ assert(have_devel?, TestMkmf::MKMFLOG)
46
+ end;
47
+ end
48
+
49
+ def test_try_cppflag_invalid_opt
50
+ assert_separately ( [ ] , <<-'end;' ) #do
51
+ assert(!try_cppflags("----------"))
52
+ assert(have_devel?, TestMkmf::MKMFLOG)
53
+ end;
54
+ end
34
55
end
35
56
end
You can’t perform that action at this time.
0 commit comments