[pypy-svn] r54794 - pypy/build/bot
exarkun at codespeak.net
exarkun at codespeak.net
Fri May 16 18:11:06 CEST 2008
Author: exarkun
Date: Fri May 16 18:11:03 2008
New Revision: 54794
Modified:
pypy/build/bot/pypybuilders.py
Log:
platform specific build factories
Modified: pypy/build/bot/pypybuilders.py
==============================================================================
--- pypy/build/bot/pypybuilders.py (original)
+++ pypy/build/bot/pypybuilders.py Fri May 16 18:11:03 2008
@@ -6,7 +6,7 @@
from buildbot.steps.transfer import FileUpload, FileDownload
from buildbot.steps.python_twisted import Trial
-from bot.netstring import netstringparser
+from netstring import netstringparser
from twisted.spread.banana import decode, encode
from twisted.spread.jelly import unjelly, jelly
@@ -48,11 +48,6 @@
TEST_PACKAGE = object()
TEST_ARGUMENTS = object()
- command = [
- "find", TEST_PACKAGE, "-name", "test", "-type", "d", "-exec",
- PYTHON_EXECUTABLE,
- "py/bin/py.test", "--session=MySession", TEST_ARGUMENTS, "{}", ";"]
-
haltOnFailure = False
def __init__(self, testPackage, testArguments, workdir="build/pypy-src",
@@ -70,40 +65,24 @@
stdout = ''.join(log.getChunks(channels=[LOG_CHANNEL_STDOUT],
onlyText=True))
create_summary(stdout, self.addCompleteLog)
- return
-
- resultLists = {
- 'passed': [],
- 'failed': [],
- 'skipped': [],
- }
- weird = []
- results = netstringparser(stdout)
- while True:
- try:
- testName = results.next()
- outcome = results.next()
- if outcome == 'failed':
- message = results.next()
- else:
- message = None
- except StopIteration:
- break
- else:
- if outcome in resultLists:
- resultLists[outcome].append(testName)
- else:
- weird.append(testName)
- resultLists['weird'] = weird
-
- for testGroup, testNames in resultLists.iteritems():
- if testNames:
- self.addCompleteLog(
- '%d %s' % (len(testNames), testGroup),
- '\n'.join(testNames))
+class POSIXPyTest(PyTest):
+ command = [
+ "find", PyTest.TEST_PACKAGE, "-name", "test", "-type", "d", "-exec",
+ PyTest.PYTHON_EXECUTABLE,
+ "py/bin/py.test", "--session=MySession", PyTest.TEST_ARGUMENTS, "{}",
+ ";"]
+
+
+
+class WindowsPyTest(PyTest):
+ command = [
+ "per-directory-py-test.py",
+ PyTest.PYTHON_EXECUTABLE, PyTest.TEST_PACKAGE,
+ PyTest.TEST_ARGUMENTS]
+
class PySwitch(ShellCommand):
@@ -120,6 +99,8 @@
class PyPyBuildFactory(BuildFactory):
+ PyTestStep = None
+
def __init__(self, pytestArguments, translationArguments,
targetArguments, *a, **kw):
BuildFactory.__init__(self, *a, **kw)
@@ -133,7 +114,7 @@
self.addStep(PySwitch)
self.addStep(
FileDownload,
- mastersrc="netstring-conftest.py",
+ mastersrc="netstring_conftest.py",
slavedest="conftest.py",
workdir="build/pypy-src")
@@ -144,19 +125,25 @@
workdir="build/pypy-src")
self.addStep(
+ FileDownload,
+ mastersrc="per-directory-py-test.py",
+ slavedest="per-directory-py-test.py",
+ workdir="build/pypy-src")
+
+ self.addStep(
Translate,
translationArgs=translationArguments,
targetArgs=targetArguments)
if pytestArguments is not None:
self.addStep(
- PyTest,
+ self.PyTestStep,
testPackage="pypy",
testArguments=pytestArguments,
timeout=60 * 60)
self.addStep(
- PyTest,
+ self.PyTestStep,
python="pypy/translator/goal/pypy-c",
testPackage="pypy",
# Exclude --boxed if it was specified, because -A shouldn't
@@ -164,9 +151,9 @@
testArguments=["-A"] + list(arg for arg in pytestArguments if arg != "--boxed"),
timeout=60 * 60)
- # self.addStep(FileUpload,
- # slavesrc="pypy-src/pypy/translator/goal/pypy-c",
- # masterdest="pypy-c")
+ self.addStep(FileUpload,
+ slavesrc="pypy-src/pypy/translator/goal/pypy-c",
+ masterdest="pypy-c")
self.addStep(
SVN,
@@ -183,3 +170,13 @@
trial="../../../../Twisted-src/bin/trial",
tests=["twisted"],
env={"PATH": "."})
+
+
+
+class POSIXPyPyBuildFactory(PyPyBuildFactory):
+ PyTestStep = POSIXPyTest
+
+
+
+class WindowsPyPyBuildFactory(PyPyBuildFactory):
+ PyTestStep = WindowsPyTest
More information about the Pypy-commit
mailing list