diff options
author | William Deegan <bill@baddogconsulting.com> | 2016-01-26 16:19:45 (GMT) |
---|---|---|
committer | William Deegan <bill@baddogconsulting.com> | 2016-01-26 16:19:45 (GMT) |
commit | b7bf26899595e90e1cc6937fb18fd5702bec8d8d (patch) | |
tree | cea8759fb2828a43d09d5cc540fd2739a20b5b2d /test | |
parent | 6cc2ad09d86e6da5812485b0e50a820e2560b31b (diff) | |
parent | 04ffc9290157c8643f25404b6469b423589ee72d (diff) | |
download | SCons-b7bf26899595e90e1cc6937fb18fd5702bec8d8d.zip SCons-b7bf26899595e90e1cc6937fb18fd5702bec8d8d.tar.gz SCons-b7bf26899595e90e1cc6937fb18fd5702bec8d8d.tar.bz2 |
Merged in bdbaddog/scons (pull request #298)
fix for tigris bug # 2622 - AlwaysBuild / MSVC regression
Diffstat (limited to 'test')
-rw-r--r-- | test/Batch/SConstruct_changed_sources_alwaysBuild | 8 | ||||
-rw-r--r-- | test/Batch/changed_sources_alwaysbuild.py | 54 | ||||
-rw-r--r-- | test/Batch/changed_sources_main.cpp | 7 |
3 files changed, 69 insertions, 0 deletions
diff --git a/test/Batch/SConstruct_changed_sources_alwaysBuild b/test/Batch/SConstruct_changed_sources_alwaysBuild new file mode 100644 index 0000000..c260316 --- /dev/null +++ b/test/Batch/SConstruct_changed_sources_alwaysBuild @@ -0,0 +1,8 @@ +# Testcase for tigris bug 2622 + +object = Object('changed_sources_main.cpp') +AlwaysBuild(object) + +program = Program('test', source = [object]) + +Default(program) diff --git a/test/Batch/changed_sources_alwaysbuild.py b/test/Batch/changed_sources_alwaysbuild.py new file mode 100644 index 0000000..ba947d6 --- /dev/null +++ b/test/Batch/changed_sources_alwaysbuild.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python +# +# __COPYRIGHT__ +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be included +# in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +# KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +# WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# + +__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__" + +""" +Verify that files marked AlwaysBuild also get put into CHANGED_SOURCES. +Tigris bug 2622 +""" + +import TestSCons + +test = TestSCons.TestSCons() +test.file_fixture('SConstruct_changed_sources_alwaysBuild','SConstruct') +test.file_fixture('changed_sources_main.cpp') +# always works on first run +test.run() + +# On second run prior to fix the file hasn't changed and so never +# makes it into CHANGED_SOURCES. +# Compile is triggered because SCons knows it needs to build it. +# This tests that on second run the source file is in the scons +# output. Also prior to fix the compile would fail because +# it would produce a compile command line lacking a source file. +test.run() +test.must_contain_all_lines(test.stdout(),['changed_sources_main.cpp']) +test.pass_test() + +# Local Variables: +# tab-width:4 +# indent-tabs-mode:nil +# End: +# vim: set expandtab tabstop=4 shiftwidth=4: diff --git a/test/Batch/changed_sources_main.cpp b/test/Batch/changed_sources_main.cpp new file mode 100644 index 0000000..038fea3 --- /dev/null +++ b/test/Batch/changed_sources_main.cpp @@ -0,0 +1,7 @@ +
+#include <iostream>
+
+int main()
+{
+ std::cout << "Hello, world!\n";
+}
|