aboutsummaryrefslogtreecommitdiffstats
path: root/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_steps_vstudio.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_steps_vstudio.py')
-rw-r--r--lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_steps_vstudio.py824
1 files changed, 0 insertions, 824 deletions
diff --git a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_steps_vstudio.py b/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_steps_vstudio.py
deleted file mode 100644
index d2cfcb63..00000000
--- a/lib/python2.7/site-packages/buildbot-0.8.8-py2.7.egg/buildbot/test/unit/test_steps_vstudio.py
+++ /dev/null
@@ -1,824 +0,0 @@
-# This file is part of Buildbot. Buildbot is free software: you can
-# redistribute it and/or modify it under the terms of the GNU General Public
-# License as published by the Free Software Foundation, version 2.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
-# details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-# Copyright Buildbot Team Members
-
-from buildbot.status.results import SUCCESS, FAILURE, WARNINGS
-from buildbot.steps import vstudio
-from buildbot.test.fake.remotecommand import ExpectShell
-from buildbot.test.util import steps
-from twisted.trial import unittest
-from buildbot.process.properties import Property
-
-from mock import Mock
-
-real_log = r"""
-1>------ Build started: Project: lib1, Configuration: debug Win32 ------
-1>Compiling...
-1>SystemLog.cpp
-1>c:\absolute\path\to\systemlog.cpp(7) : warning C4100: 'op' : unreferenced formal parameter
-1>c:\absolute\path\to\systemlog.cpp(12) : warning C4100: 'statusword' : unreferenced formal parameter
-1>c:\absolute\path\to\systemlog.cpp(12) : warning C4100: 'op' : unreferenced formal parameter
-1>c:\absolute\path\to\systemlog.cpp(17) : warning C4100: 'retryCounter' : unreferenced formal parameter
-1>c:\absolute\path\to\systemlog.cpp(17) : warning C4100: 'op' : unreferenced formal parameter
-1>c:\absolute\path\to\systemlog.cpp(22) : warning C4100: 'op' : unreferenced formal parameter
-1>Creating library...
-1>Build log was saved at "file://c:\another\absolute\path\to\debug\BuildLog.htm"
-1>lib1 - 0 error(s), 6 warning(s)
-2>------ Build started: Project: product, Configuration: debug Win32 ------
-2>Linking...
-2>LINK : fatal error LNK1168: cannot open ../../debug/directory/dllname.dll for writing
-2>Build log was saved at "file://c:\another\similar\path\to\debug\BuildLog.htm"
-2>product - 1 error(s), 0 warning(s)
-========== Build: 1 succeeded, 1 failed, 6 up-to-date, 0 skipped ==========
-"""
-
-class TestAddEnvPath(unittest.TestCase):
-
- def do_test(self, initial_env, name, value, expected_env):
- vstudio.addEnvPath(initial_env, name, value)
- self.assertEqual(initial_env, expected_env)
-
- def test_new(self):
- self.do_test({}, 'PATH', r'C:\NOTHING',
- { 'PATH' : r'C:\NOTHING;' })
-
- def test_new_semi(self):
- self.do_test({}, 'PATH', r'C:\NOTHING;',
- { 'PATH' : r'C:\NOTHING;' })
-
- def test_existing(self):
- self.do_test({'PATH' : '/bin' }, 'PATH', r'C:\NOTHING',
- { 'PATH' : r'/bin;C:\NOTHING;' })
-
- def test_existing_semi(self):
- self.do_test({'PATH' : '/bin;' }, 'PATH', r'C:\NOTHING',
- { 'PATH' : r'/bin;C:\NOTHING;' })
-
- def test_existing_both_semi(self):
- self.do_test({'PATH' : '/bin;' }, 'PATH', r'C:\NOTHING;',
- { 'PATH' : r'/bin;C:\NOTHING;' })
-
-
-class MSLogLineObserver(unittest.TestCase):
-
- def setUp(self):
- self.warnings = []
- lw = Mock()
- lw.addStdout = lambda l : self.warnings.append(l.rstrip())
-
- self.errors = []
- self.errors_stderr = []
- le = Mock()
- le.addStdout = lambda l : self.errors.append(('o', l.rstrip()))
- le.addStderr = lambda l : self.errors.append(('e', l.rstrip()))
-
- self.llo = vstudio.MSLogLineObserver(lw, le)
-
- self.progress = {}
- self.llo.step = Mock()
- self.llo.step.setProgress = \
- lambda n,prog : self.progress.__setitem__(n, prog)
-
- def receiveLines(self, *lines):
- for line in lines:
- self.llo.outLineReceived(line)
-
- def assertResult(self, nbFiles=0, nbProjects=0, nbWarnings=0, nbErrors=0,
- errors=[], warnings=[], progress={}):
- self.assertEqual(
- dict(nbFiles=self.llo.nbFiles, nbProjects=self.llo.nbProjects,
- nbWarnings=self.llo.nbWarnings,
- nbErrors=self.llo.nbErrors, errors=self.errors,
- warnings=self.warnings, progress=self.progress),
- dict(nbFiles=nbFiles, nbProjects=nbProjects, nbWarnings=nbWarnings,
- nbErrors=nbErrors, errors=errors,
- warnings=warnings, progress=progress))
-
- def test_outLineReceived_empty(self):
- self.llo.outLineReceived('abcd\r\n')
- self.assertResult()
-
- def test_outLineReceived_projects(self):
- lines = [
- "123>----- some project 1 -----",
- "123>----- some project 2 -----",
- ]
- self.receiveLines(*lines)
- self.assertResult(nbProjects=2, progress=dict(projects=2),
- errors=[ ('o', l) for l in lines ],
- warnings=lines)
-
- def test_outLineReceived_files(self):
- lines = [
- "123>SomeClass.cpp",
- "123>SomeStuff.c",
- "123>SomeStuff.h", # .h files not recognized
- ]
- self.receiveLines(*lines)
- self.assertResult(nbFiles=2, progress=dict(files=2))
-
- def test_outLineReceived_warnings(self):
- lines = [
- "abc: warning ABC123: xyz!",
- "def : warning DEF456: wxy!",
- ]
- self.receiveLines(*lines)
- self.assertResult(nbWarnings=2, progress=dict(warnings=2),
- warnings=lines)
-
- def test_outLineReceived_errors(self):
- lines = [
- "error ABC123: foo",
- " error DEF456 : bar",
- " error : bar",
- " error: bar", # NOTE: not matched
- ]
- self.receiveLines(*lines)
- self.assertResult(nbErrors=3, # note: no progress
- errors=[
- ('e', "error ABC123: foo"),
- ('e', " error DEF456 : bar"),
- ('e', " error : bar"),
- ])
-
- def test_outLineReceived_real(self):
- # based on a real logfile donated by Ben Allard
- lines = real_log.split("\n")
- self.receiveLines(*lines)
- errors = [
- ('o', '1>------ Build started: Project: lib1, Configuration: debug Win32 ------'),
- ('o', '2>------ Build started: Project: product, Configuration: debug Win32 ------'),
- ('e', '2>LINK : fatal error LNK1168: cannot open ../../debug/directory/dllname.dll for writing')
- ]
- warnings = [
- '1>------ Build started: Project: lib1, Configuration: debug Win32 ------',
- "1>c:\\absolute\\path\\to\\systemlog.cpp(7) : warning C4100: 'op' : unreferenced formal parameter",
- "1>c:\\absolute\\path\\to\\systemlog.cpp(12) : warning C4100: 'statusword' : unreferenced formal parameter",
- "1>c:\\absolute\\path\\to\\systemlog.cpp(12) : warning C4100: 'op' : unreferenced formal parameter",
- "1>c:\\absolute\\path\\to\\systemlog.cpp(17) : warning C4100: 'retryCounter' : unreferenced formal parameter",
- "1>c:\\absolute\\path\\to\\systemlog.cpp(17) : warning C4100: 'op' : unreferenced formal parameter",
- "1>c:\\absolute\\path\\to\\systemlog.cpp(22) : warning C4100: 'op' : unreferenced formal parameter",
- '2>------ Build started: Project: product, Configuration: debug Win32 ------',
- ]
- self.assertResult(nbFiles=1, nbErrors=1, nbProjects=2, nbWarnings=6,
- progress={'files': 1, 'projects': 2, 'warnings': 6},
- errors=errors, warnings=warnings)
-
-class VCx(vstudio.VisualStudio):
-
- def start(self):
- command = ["command", "here"]
- self.setCommand(command)
- return vstudio.VisualStudio.start(self)
-
-class VisualStudio(steps.BuildStepMixin, unittest.TestCase):
- """
- Test L{VisualStudio} with a simple subclass, L{VCx}.
- """
-
- def setUp(self):
- return self.setUpBuildStep()
-
- def tearDown(self):
- return self.tearDownBuildStep()
-
- def test_default_config(self):
- vs = vstudio.VisualStudio()
- self.assertEqual(vs.config, 'release')
-
- def test_simple(self):
- self.setupStep(VCx())
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['command', 'here'])
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
- def test_installdir(self):
- self.setupStep(VCx(installdir=r'C:\I'))
- self.step.exp_installdir = r'C:\I'
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['command', 'here'])
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- d = self.runStep()
- def check_installdir(_):
- self.assertEqual(self.step.installdir, r'C:\I')
- d.addCallback(check_installdir)
- return d
-
- def test_evaluateCommand_failure(self):
- self.setupStep(VCx())
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['command', 'here'])
- + 1
- )
- self.expectOutcome(result=FAILURE,
- status_text=["compile", "0 projects", "0 files", "failed"])
- return self.runStep()
-
- def test_evaluateCommand_errors(self):
- self.setupStep(VCx())
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['command', 'here'])
- + ExpectShell.log('stdio',
- stdout='error ABC123: foo\r\n')
- + 0
- )
- self.expectOutcome(result=FAILURE,
- status_text=["compile", "0 projects", "0 files",
- "1 errors", "failed"])
- return self.runStep()
-
- def test_evaluateCommand_warnings(self):
- self.setupStep(VCx())
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['command', 'here'])
- + ExpectShell.log('stdio',
- stdout='foo: warning ABC123: foo\r\n')
- + 0
- )
- self.expectOutcome(result=WARNINGS,
- status_text=["compile", "0 projects", "0 files",
- "1 warnings", "warnings"])
- return self.runStep()
-
- def test_env_setup(self):
- self.setupStep(VCx(
- INCLUDE=[ r'c:\INC1', r'c:\INC2' ],
- LIB=[ r'c:\LIB1', r'C:\LIB2' ],
- PATH=[ r'c:\P1', r'C:\P2' ]))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['command', 'here'],
- env=dict(
- INCLUDE=r'c:\INC1;c:\INC2;',
- LIB=r'c:\LIB1;C:\LIB2;',
- PATH=r'c:\P1;C:\P2;'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
- def test_env_setup_existing(self):
- self.setupStep(VCx(
- INCLUDE=[ r'c:\INC1', r'c:\INC2' ],
- LIB=[ r'c:\LIB1', r'C:\LIB2' ],
- PATH=[ r'c:\P1', r'C:\P2' ]))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['command', 'here'],
- env=dict(
- INCLUDE=r'c:\INC1;c:\INC2;',
- LIB=r'c:\LIB1;C:\LIB2;',
- PATH=r'c:\P1;C:\P2;'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
- def test_rendering(self):
- self.setupStep(VCx(
- projectfile=Property('a'),
- config=Property('b'),
- project=Property('c')))
- self.properties.setProperty('a', 'aa', 'Test')
- self.properties.setProperty('b', 'bb', 'Test')
- self.properties.setProperty('c', 'cc', 'Test')
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['command', 'here'])
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- d = self.runStep()
- def check_props(_):
- self.assertEqual(
- [ self.step.projectfile, self.step.config, self.step.project ],
- [ 'aa', 'bb', 'cc' ])
- d.addCallback(check_props)
- return d
-
-
-class TestVC6(steps.BuildStepMixin, unittest.TestCase):
-
- def setUp(self):
- return self.setUpBuildStep()
-
- def tearDown(self):
- return self.tearDownBuildStep()
-
- def getExpectedEnv(self, installdir, l=None, p=None, i=None):
- include = [
- installdir + r'\VC98\INCLUDE;',
- installdir + r'\VC98\ATL\INCLUDE;',
- installdir + r'\VC98\MFC\INCLUDE;',
- ]
- lib = [
- installdir + r'\VC98\LIB;',
- installdir + r'\VC98\MFC\LIB;',
- ]
- path = [
- installdir + r'\Common\msdev98\BIN;',
- installdir + r'\VC98\BIN;',
- installdir + r'\Common\TOOLS\WINNT;',
- installdir + r'\Common\TOOLS;',
- ]
- if p:
- path.insert(0, '%s;' % p)
- if i:
- include.insert(0, '%s;' % i)
- if l:
- lib.insert(0, '%s;' % l)
- return dict(
- INCLUDE = ''.join(include),
- LIB = ''.join(lib),
- PATH = ''.join(path),
- )
-
- def test_args(self):
- self.setupStep(vstudio.VC6(projectfile='pf', config='cfg',
- project='pj'))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['msdev', 'pf', '/MAKE',
- 'pj - cfg', '/REBUILD'],
- env=self.getExpectedEnv(
- r'C:\Program Files\Microsoft Visual Studio'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
- def test_clean(self):
- self.setupStep(vstudio.VC6(projectfile='pf', config='cfg',
- project='pj', mode='clean'))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['msdev', 'pf', '/MAKE',
- 'pj - cfg', '/CLEAN'],
- env=self.getExpectedEnv(
- r'C:\Program Files\Microsoft Visual Studio'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
- def test_noproj_build(self):
- self.setupStep(vstudio.VC6(projectfile='pf', config='cfg',
- mode='build'))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['msdev', 'pf', '/MAKE',
- 'ALL - cfg', '/BUILD'],
- env=self.getExpectedEnv(
- r'C:\Program Files\Microsoft Visual Studio'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
- def test_env_prepend(self):
- self.setupStep(vstudio.VC6(projectfile='pf', config='cfg',
- project='pj', PATH=['p'], INCLUDE=['i'],
- LIB=['l']))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['msdev', 'pf', '/MAKE',
- 'pj - cfg', '/REBUILD',
- '/USEENV'], # note extra param
- env=self.getExpectedEnv(
- r'C:\Program Files\Microsoft Visual Studio',
- l='l', p='p', i='i'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
-
-class TestVC7(steps.BuildStepMixin, unittest.TestCase):
-
- def setUp(self):
- return self.setUpBuildStep()
-
- def tearDown(self):
- return self.tearDownBuildStep()
-
- def getExpectedEnv(self, installdir, l=None, p=None, i=None):
- include = [
- installdir + r'\VC7\INCLUDE;',
- installdir + r'\VC7\ATLMFC\INCLUDE;',
- installdir + r'\VC7\PlatformSDK\include;',
- installdir + r'\SDK\v1.1\include;',
- ]
- lib = [
- installdir + r'\VC7\LIB;',
- installdir + r'\VC7\ATLMFC\LIB;',
- installdir + r'\VC7\PlatformSDK\lib;',
- installdir + r'\SDK\v1.1\lib;',
- ]
- path = [
- installdir + r'\Common7\IDE;',
- installdir + r'\VC7\BIN;',
- installdir + r'\Common7\Tools;',
- installdir + r'\Common7\Tools\bin;',
- ]
- if p:
- path.insert(0, '%s;' % p)
- if i:
- include.insert(0, '%s;' % i)
- if l:
- lib.insert(0, '%s;' % l)
- return dict(
- INCLUDE = ''.join(include),
- LIB = ''.join(lib),
- PATH = ''.join(path),
- )
-
- def test_args(self):
- self.setupStep(vstudio.VC7(projectfile='pf', config='cfg',
- project='pj'))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['devenv.com', 'pf', '/Rebuild', 'cfg',
- '/Project', 'pj'],
- env=self.getExpectedEnv(
- r'C:\Program Files\Microsoft Visual Studio .NET 2003'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
- def test_clean(self):
- self.setupStep(vstudio.VC7(projectfile='pf', config='cfg',
- project='pj', mode='clean'))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['devenv.com', 'pf', '/Clean', 'cfg',
- '/Project', 'pj'],
- env=self.getExpectedEnv(
- r'C:\Program Files\Microsoft Visual Studio .NET 2003'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
- def test_noproj_build(self):
- self.setupStep(vstudio.VC7(projectfile='pf', config='cfg',
- mode='build'))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['devenv.com', 'pf', '/Build', 'cfg'],
- env=self.getExpectedEnv(
- r'C:\Program Files\Microsoft Visual Studio .NET 2003'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
- def test_env_prepend(self):
- self.setupStep(vstudio.VC7(projectfile='pf', config='cfg',
- project='pj', PATH=['p'], INCLUDE=['i'],
- LIB=['l']))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['devenv.com', 'pf', '/Rebuild', 'cfg',
- '/UseEnv', '/Project', 'pj' ],
- env=self.getExpectedEnv(
- r'C:\Program Files\Microsoft Visual Studio .NET 2003',
- l='l', p='p', i='i'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
-
-class VC8ExpectedEnvMixin(object):
- # used for VC8 and VC9Express
- def getExpectedEnv(self, installdir, x64=False, l=None, i=None, p=None):
- include = [
- installdir + r'\VC\INCLUDE;',
- installdir + r'\VC\ATLMFC\include;',
- installdir + r'\VC\PlatformSDK\include;',
- ]
- lib = [
- installdir + r'\VC\LIB;',
- installdir + r'\VC\ATLMFC\LIB;',
- installdir + r'\VC\PlatformSDK\lib;',
- installdir + r'\SDK\v2.0\lib;',
- ]
- path = [
- installdir + r'\Common7\IDE;',
- installdir + r'\VC\BIN;',
- installdir + r'\Common7\Tools;',
- installdir + r'\Common7\Tools\bin;',
- installdir + r'\VC\PlatformSDK\bin;',
- installdir + r'\SDK\v2.0\bin;',
- installdir + r'\VC\VCPackages;',
- r'${PATH};',
- ]
- if x64:
- path.insert(1, installdir + r'\VC\BIN\x86_amd64;')
- lib = [ lb[:-1] + r'\amd64;' for lb in lib ]
- if l:
- lib.insert(0, '%s;' % l)
- if p:
- path.insert(0, '%s;' % p)
- if i:
- include.insert(0, '%s;' % i)
- return dict(
- INCLUDE = ''.join(include),
- LIB = ''.join(lib),
- PATH = ''.join(path),
- )
-
-class TestVC8(VC8ExpectedEnvMixin, steps.BuildStepMixin, unittest.TestCase):
-
- def setUp(self):
- return self.setUpBuildStep()
-
- def tearDown(self):
- return self.tearDownBuildStep()
-
- def test_args(self):
- self.setupStep(vstudio.VC8(projectfile='pf', config='cfg',
- project='pj', arch='arch'))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['devenv.com', 'pf', '/Rebuild',
- 'cfg', '/Project', 'pj' ],
- env=self.getExpectedEnv(
- r'C:\Program Files\Microsoft Visual Studio 8'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
- def test_args_x64(self):
- self.setupStep(vstudio.VC8(projectfile='pf', config='cfg',
- project='pj', arch='x64'))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['devenv.com', 'pf', '/Rebuild',
- 'cfg', '/Project', 'pj' ],
- env=self.getExpectedEnv(
- r'C:\Program Files\Microsoft Visual Studio 8',
- x64=True))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
- def test_clean(self):
- self.setupStep(vstudio.VC8(projectfile='pf', config='cfg',
- project='pj', mode='clean'))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['devenv.com', 'pf', '/Clean',
- 'cfg', '/Project', 'pj' ],
- env=self.getExpectedEnv(
- r'C:\Program Files\Microsoft Visual Studio 8'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
- def test_rendering(self):
- self.setupStep(vstudio.VC8(projectfile='pf', config='cfg',
- arch=Property('a')))
- self.properties.setProperty('a', 'x64', 'Test')
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['devenv.com', 'pf', '/Rebuild', 'cfg'],
- env=self.getExpectedEnv(
- r'C:\Program Files\Microsoft Visual Studio 8',
- x64=True)) # property has expected effect
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- d = self.runStep()
- def check_props(_):
- self.assertEqual(self.step.arch, 'x64')
- d.addCallback(check_props)
- return d
-
-
-class TestVCExpress9(VC8ExpectedEnvMixin, steps.BuildStepMixin,
- unittest.TestCase):
-
- def setUp(self):
- return self.setUpBuildStep()
-
- def tearDown(self):
- return self.tearDownBuildStep()
-
- def test_args(self):
- self.setupStep(vstudio.VCExpress9(projectfile='pf', config='cfg',
- project='pj'))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['vcexpress', 'pf', '/Rebuild',
- 'cfg', '/Project', 'pj' ],
- env=self.getExpectedEnv(
- # note: still uses version 8 (?!)
- r'C:\Program Files\Microsoft Visual Studio 8'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
- def test_clean(self):
- self.setupStep(vstudio.VCExpress9(projectfile='pf', config='cfg',
- project='pj', mode='clean'))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['vcexpress', 'pf', '/Clean',
- 'cfg', '/Project', 'pj' ],
- env=self.getExpectedEnv(
- # note: still uses version 8 (?!)
- r'C:\Program Files\Microsoft Visual Studio 8'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
- def test_mode_build_env(self):
- self.setupStep(vstudio.VCExpress9(projectfile='pf', config='cfg',
- project='pj', mode='build', INCLUDE=['i']))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['vcexpress', 'pf', '/Build',
- 'cfg', '/UseEnv', '/Project', 'pj' ],
- env=self.getExpectedEnv(
- r'C:\Program Files\Microsoft Visual Studio 8',
- i='i'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
-
-class TestVC9(VC8ExpectedEnvMixin, steps.BuildStepMixin, unittest.TestCase):
-
- def setUp(self):
- return self.setUpBuildStep()
-
- def tearDown(self):
- return self.tearDownBuildStep()
-
- def test_installdir(self):
- self.setupStep(vstudio.VC9(projectfile='pf', config='cfg',
- project='pj'))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['devenv.com', 'pf', '/Rebuild',
- 'cfg', '/Project', 'pj' ],
- env=self.getExpectedEnv(
- r'C:\Program Files\Microsoft Visual Studio 9.0'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
-
-class TestVC10(VC8ExpectedEnvMixin, steps.BuildStepMixin, unittest.TestCase):
-
- def setUp(self):
- return self.setUpBuildStep()
-
- def tearDown(self):
- return self.tearDownBuildStep()
-
- def test_installdir(self):
- self.setupStep(vstudio.VC10(projectfile='pf', config='cfg',
- project='pj'))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['devenv.com', 'pf', '/Rebuild',
- 'cfg', '/Project', 'pj' ],
- env=self.getExpectedEnv(
- r'C:\Program Files\Microsoft Visual Studio 10.0'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
-
-class TestVC11(VC8ExpectedEnvMixin, steps.BuildStepMixin, unittest.TestCase):
-
- def setUp(self):
- return self.setUpBuildStep()
-
- def tearDown(self):
- return self.tearDownBuildStep()
-
- def test_installdir(self):
- self.setupStep(vstudio.VC11(projectfile='pf', config='cfg',
- project='pj'))
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['devenv.com', 'pf', '/Rebuild',
- 'cfg', '/Project', 'pj' ],
- env=self.getExpectedEnv(
- r'C:\Program Files\Microsoft Visual Studio 11.0'))
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["compile", "0 projects", "0 files"])
- return self.runStep()
-
-
-class TestMsBuild(steps.BuildStepMixin, unittest.TestCase):
-
- def setUp(self):
- return self.setUpBuildStep()
-
- def tearDown(self):
- return self.tearDownBuildStep()
-
- def test_build_project(self):
- self.setupStep(vstudio.MsBuild(projectfile='pf', config='cfg', platform='Win32', project='pj'))
-
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['%VCENV_BAT%', 'x86', '&&',
- 'msbuild', 'pf', '/p:Configuration=cfg', '/p:Platform=Win32',
- '/t:pj'],
- env={'VCENV_BAT': '"${VS110COMNTOOLS}..\\..\\VC\\vcvarsall.bat"'})
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["built", "pj for", 'cfg|Win32'])
- return self.runStep()
-
- def test_build_solution(self):
- self.setupStep(vstudio.MsBuild(projectfile='pf', config='cfg', platform='x64'))
-
- self.expectCommands(
- ExpectShell(workdir='wkdir', usePTY='slave-config',
- command=['%VCENV_BAT%', 'x86', '&&',
- 'msbuild', 'pf', '/p:Configuration=cfg', '/p:Platform=x64'],
- env={'VCENV_BAT': '"${VS110COMNTOOLS}..\\..\\VC\\vcvarsall.bat"'})
- + 0
- )
- self.expectOutcome(result=SUCCESS,
- status_text=["built", "solution for", 'cfg|x64'])
- return self.runStep()
-
-
-class Aliases(unittest.TestCase):
-
- def test_vs2003(self):
- self.assertIdentical(vstudio.VS2003, vstudio.VC7)
-
- def test_vs2005(self):
- self.assertIdentical(vstudio.VS2005, vstudio.VC8)
-
- def test_vs2008(self):
- self.assertIdentical(vstudio.VS2008, vstudio.VC9)
-
- def test_vs2010(self):
- self.assertIdentical(vstudio.VS2010, vstudio.VC10)
-
- def test_vs2012(self):
- self.assertIdentical(vstudio.VS2012, vstudio.VC11)