diff --git a/spec/build_tests_spec.rb b/spec/build_tests_spec.rb index b06ccab..77d40f7 100644 --- a/spec/build_tests_spec.rb +++ b/spec/build_tests_spec.rb @@ -81,4 +81,20 @@ describe Rscons do `./header`.should =~ /The value is 33/ end end + + it 'rebuilds a C source when a header it uses changes' do + setup_testdir(['header.c', 'header.h']) do + env = Rscons::Environment.new + env.Program('header', 'header.c') + File.exist?('header.o').should be_true + `./header`.should =~ /The value is 33/ + h = File.read('header.h') + File.open('header.h', 'w') do |fh| + fh.puts h.sub('33', '42') + end + clear_cache + env.Program('header', 'header.c') + `./header`.should =~ /The value is 42/ + end + end end