diff options
author | Steven Knight <knight@baldmt.com> | 2008-12-11 05:37:35 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2008-12-11 05:37:35 (GMT) |
commit | dc9330eb6885bf75b25953ec9b9bcef78054eab4 (patch) | |
tree | bd97fc1cfe788c0328ac7b83b415b94de5aa52e8 /test/Deprecated | |
parent | a7565584cb59a3bd03d82b27c817ad64ae364922 (diff) | |
download | SCons-dc9330eb6885bf75b25953ec9b9bcef78054eab4.zip SCons-dc9330eb6885bf75b25953ec9b9bcef78054eab4.tar.gz SCons-dc9330eb6885bf75b25953ec9b9bcef78054eab4.tar.bz2 |
Issue 2231: Add a --warn=future-deprecated option, along with
FutureDeprecatedWarning and MandatoryDeprecatedWarning subclasses.
Use these to future-deprecate the Taskmaster.Task class, which we intend
to turn into an abstract base class by requiring subclasses to implement
the .needs_execute() method.
Diffstat (limited to 'test/Deprecated')
-rw-r--r-- | test/Deprecated/TaskmasterNeedsExecute.py | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/test/Deprecated/TaskmasterNeedsExecute.py b/test/Deprecated/TaskmasterNeedsExecute.py new file mode 100644 index 0000000..6aedf59 --- /dev/null +++ b/test/Deprecated/TaskmasterNeedsExecute.py @@ -0,0 +1,58 @@ +#!/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 the message about the deprecated Taskmaster.needs_task() +method, and the ability to suppress it. +""" + +import TestSCons + +test = TestSCons.TestSCons(match = TestSCons.match_re_dotall) + +test.write('SConstruct', """ +import SCons.Taskmaster +tm = SCons.Taskmaster.Taskmaster() +task = SCons.Taskmaster.Task(tm, [], True, None) +task.needs_execute() +""") + +expect = """ +scons: warning: Direct use of the Taskmaster.Task class will be deprecated +\tin a future release. +""" + +test.run(arguments = '.') + +test.run(arguments = '--warn=taskmaster-needs-execute .', + stderr = TestSCons.re_escape(expect) + TestSCons.file_expr) + +test.run(arguments = '--warn=no-taskmaster-needs-execute .') + +test.run(arguments = '--warn=future-deprecated .', + stderr = TestSCons.re_escape(expect) + TestSCons.file_expr) + +test.pass_test() |