def test_mode_incremental_repourl_not_updatable_svninfo_mismatch(self): self.setupStep( svn.SVN(repourl=ConstantRenderable('http://svn.local/trunk/app'), mode='incremental')) self.expectCommands( ExpectShell(workdir='wkdir', command=['svn', '--version']) + 0, Expect('stat', dict(file='wkdir/.svn', logEnviron=True)) + 0, ExpectShell(workdir='wkdir', command=[ 'svn', 'info', '--non-interactive', '--no-auth-cache' ]) + ExpectShell.log( 'stdio', # expecting ../trunk/app stdout="URL: http://svn.local/branch/foo/app") + 0, Expect('rmdir', { 'dir': 'wkdir', 'logEnviron': True }) + 0, ExpectShell(workdir='wkdir', command=[ 'svn', 'checkout', 'http://svn.local/trunk/app', '.', '--non-interactive', '--no-auth-cache' ]) + 0, ExpectShell(workdir='wkdir', command=['svnversion']) + ExpectShell.log('stdio', stdout='100') + 0, ) self.expectOutcome(result=SUCCESS, status_text=["update"]) return self.runStep()
def test_mode_full_stream_renderable_p4branch(self): self.setupStep( P4(p4port='localhost:12000', mode='full', p4base='//depot', p4branch=ConstantRenderable('render_branch'), p4user='******', p4client='p4_client1', p4passwd='pass', stream=True)) root_dir = '/home/user/workspace/wkdir' if _is_windows: root_dir = r'C:\Users\username\Workspace\wkdir' client_spec = textwrap.dedent('''\ Client: p4_client1 Owner: user Description: \tCreated by user Root:\t%s Options:\tallwrite rmdir LineEnd:\tlocal Stream:\t//depot/render_branch ''' % root_dir) self._full(client_stdin=client_spec)
def test_mode_full_renderable_p4branch(self): # Note that the config check skips checking p4base if it's a renderable self.setupStep( P4(p4port='localhost:12000', mode='full', p4base='//depot', p4branch=ConstantRenderable('render_branch'), p4user='******', p4client='p4_client1', p4passwd='pass')) root_dir = '/home/user/workspace/wkdir' if _is_windows: root_dir = r'C:\Users\username\Workspace\wkdir' client_stdin = textwrap.dedent('''\ Client: p4_client1 Owner: user Description: \tCreated by user Root:\t%s Options:\tallwrite rmdir LineEnd:\tlocal View: \t//depot/render_branch/... //p4_client1/...\n''' % root_dir) self._full(client_stdin=client_stdin)
def test_mode_full_renderable_p4viewspec(self): self.setupStep( P4(p4port='localhost:12000', mode='full', p4viewspec=[(ConstantRenderable('//depot/render_trunk/'), '')], p4user='******', p4client='p4_client1', p4passwd='pass')) root_dir = '/home/user/workspace/wkdir' if _is_windows: root_dir = r'C:\Users\username\Workspace\wkdir' client_stdin = textwrap.dedent('''\ Client: p4_client1 Owner: different_user Description: \tCreated by different_user Root:\t%s Options:\tallwrite rmdir LineEnd:\tlocal View: \t//depot/render_trunk/... //p4_client1/...\n''' % root_dir) self._full(client_stdin=client_stdin, p4user='******')
def test_mode_incremental_repourl_renderable(self): self.setupStep( svn.SVN(repourl=ConstantRenderable('http://svn.local/trunk'), mode='incremental')) self.expectCommands( ExpectShell(workdir='wkdir', command=['svn', '--version']) + 0, Expect('stat', dict(file='wkdir/.svn', logEnviron=True)) + 0, ExpectShell(workdir='wkdir', command=[ 'svn', 'info', '--non-interactive', '--no-auth-cache' ]) + ExpectShell.log('stdio', stdout="URL: http://svn.local/trunk") + 0, ExpectShell(workdir='wkdir', command=[ 'svn', 'update', '--non-interactive', '--no-auth-cache' ]) + 0, ExpectShell(workdir='wkdir', command=['svnversion']) + ExpectShell.log('stdio', stdout='100') + 0, ) self.expectOutcome(result=SUCCESS, status_text=["update"]) return self.runStep()
def test_mode_incremental_repourl_not_updatable(self): self.setupStep( svn.SVN( repourl=ConstantRenderable('http://svn.local/trunk/app'), mode='incremental', )) self.expectCommands( ExpectShell(workdir='wkdir', command=['svn', '--version']) + 0, Expect('stat', dict(file='wkdir/.svn', logEnviron=True)) + 1, Expect('rmdir', { 'dir': 'wkdir', 'logEnviron': True }) + 0, ExpectShell(workdir='wkdir', command=[ 'svn', 'checkout', 'http://svn.local/trunk/app', '.', '--non-interactive', '--no-auth-cache' ]) + 0, ExpectShell(workdir='wkdir', command=['svn', 'info']) + ExpectShell.log('stdio', stdout=self.svn_info_stdout) + 0, ) self.expectOutcome(result=SUCCESS, status_text=["update"]) self.expectProperty('got_revision', '100', 'SVN') return self.runStep()
def test_setProperty_notJsonable(self): self.props.setProperty("project", ConstantRenderable('testing'), "test") self.props.setProperty("project", object, "test") self.assertEqual( len(self.flushWarnings([self.test_setProperty_notJsonable])), 2)
def test_TargetConfigMulti_Renderable(self): return self.createTest(target_config=ConstantRenderable( ["Development", "Shipping"]), )
def test_TitleId_Renderable(self): return self.createTest( title_id=ConstantRenderable("Title_ID_A"), extra_arguments=["-TitleID=Title_ID_A"], )
def test_kwargs_renderable(self): command = Interpolate("echo '%(kw:test)s'", test=ConstantRenderable('testing')) d = self.build.render(command) d.addCallback(self.failUnlessEqual, "echo 'testing'") return d
def targetConfigurationImplementation(self): return self.createTest(target_config=ConstantRenderable(target_config))
def test_TitleIdMulti_Renderable(self): return self.createTest( title_id=ConstantRenderable( ["Title_ID_A", "Title_ID_B", "Title_ID_C"]), extra_arguments=["-TitleID=Title_ID_A+Title_ID_B+Title_ID_C"], )
def test_BasedOnReleaseVersion_Renderable(self): return self.createTest( base_version=ConstantRenderable("v1.2.3"), extra_arguments=["-BasedOnReleaseVersion=v1.2.3"])
def test_ExtraArgsString_Renderable(self): return self.createTest( extra_args=ConstantRenderable("-Something -Other"), extra_arguments=["-Something -Other"], )
def test_EngineTypeSource_Renderable(self): return self.createTest(engine_type=ConstantRenderable("Source"))
def test_DLCName_Renderable(self): return self.createTest( dlc_name=ConstantRenderable("TestDLC"), extra_arguments=["-DLCName=TestDLC"], )
def test_EngineTypeRocket_Renderable(self): return self.createTest(engine_type=ConstantRenderable("Rocket"))
def test_EngineTypeInstalled_Renderable(self): return self.createTest(engine_type=ConstantRenderable("Installed"))
from buildbot.test.util import config from buildbot.test.util import gpo from buildbot.test.util import logging from buildbot.test.util import steps from buildbot.test.util import config as configmixin from buildbot.test.util.properties import ConstantRenderable from buildbot.test.fake.remotecommand import ExpectShell from buildbot.test.fake.remotecommand import Expect from buildbot.process.results import EXCEPTION from buildbot.process.results import FAILURE from buildbot.process.results import SKIPPED from buildbot.process.results import SUCCESS from buildbot.process.results import WARNINGS constant_true = ConstantRenderable(True) constant_false = ConstantRenderable(False) class TestBuildCookRunLogLineObserver(unittest.TestCase): def setUp(self): self.warnings = [] mocked_warnings = Mock() mocked_warnings.addStdout = lambda l: self.warnings.append(l.rstrip()) self.cook = [] mocked_cook = Mock() mocked_cook.addStdout = lambda l: self.cook.append(l.rstrip()) self.errors = [] self.errors_stderr = []
def test_TargetPlatformMulti_Renderable(self): return self.createTest(target_platform=ConstantRenderable( ["Win64", "PS4"]), )
def test_RunDevices_Renderable(self): return self.createTest( devices=ConstantRenderable(["PCA", "ConsoleB", "MobileC"]), extra_arguments=["-Device=PCA+ConsoleB+MobileC"])
def test_ExtraArgsList_Renderable(self): return self.createTest( extra_args=ConstantRenderable(["-Something", "-Other"]), extra_arguments=["-Something", "-Other"], )
def test_Map_Renderable(self): return self.createTest(map=ConstantRenderable(["MapA", "MapB", "MapC"]), extra_arguments=["-Map=MapA+MapB+MapC"])
def test_ArhiveDirectory_Renderable(self): return self.createTest( archive_directory=ConstantRenderable("There/Archive"), extra_arguments=["-ArchiveDirectory=There/Archive"])
def targetPlatformImplementation(self): return self.createTest( target_platform=ConstantRenderable(target_platform))