WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] tools/tests: Add syntax check for differe

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] tools/tests: Add syntax check for different versions of python
From: Xen patchbot-unstable <patchbot-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 28 Jul 2009 09:10:45 -0700
Delivery-date: Tue, 28 Jul 2009 09:13:25 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1248795488 -3600
# Node ID 298a35c11ad16a3f8a33c215aa3553d03db9437d
# Parent  49ea12238cf9a71a8783064f61bd9c23982081c0
tools/tests: Add syntax check for different versions of python

From: Andreas Florath <xen@xxxxxxxxxxxx>
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 .hgignore                                             |    3 
 tools/tests/regression/Makefile                       |   83 ++++++++++++++++++
 tools/tests/regression/README                         |   39 ++++++++
 tools/tests/regression/scripts/build_python.sh        |   24 +++++
 tools/tests/regression/scripts/check_python_syntax.sh |   19 ++++
 tools/tests/regression/scripts/download_python.sh     |   12 ++
 6 files changed, 180 insertions(+)

diff -r 49ea12238cf9 -r 298a35c11ad1 .hgignore
--- a/.hgignore Tue Jul 28 16:34:16 2009 +0100
+++ b/.hgignore Tue Jul 28 16:38:08 2009 +0100
@@ -209,6 +209,9 @@
 ^tools/tests/blowfish\.h$
 ^tools/tests/test_x86_emulator$
 ^tools/tests/x86_emulate$
+^tools/tests/regression/installed/.*$
+^tools/tests/regression/build/.*$
+^tools/tests/regression/downloads/.*$
 ^tools/vnet/Make.local$
 ^tools/vnet/build/.*$
 ^tools/vnet/gc$
diff -r 49ea12238cf9 -r 298a35c11ad1 tools/tests/regression/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/tests/regression/Makefile   Tue Jul 28 16:38:08 2009 +0100
@@ -0,0 +1,83 @@
+#
+# Sets up some regression applications
+# Runs regression tests
+#
+# To run this, at least the basic build / development environment must
+# be installed (gcc, ...)
+#
+XEN_ROOT=${PWD}/..
+
+PYTHON_VERSIONS=python-2.3 python-2.4 python-2.5 python-2.6 python-3.1
+
+.PHONY: all
+all: check-python-syntax
+
+.PHONY: check-python-syntax
+check-python-syntax: runtime-environment
+       @(set -e && for p in ${PYTHON_VERSIONS}; do \
+         ${XEN_ROOT}/tests/scripts/check_python_syntax.sh ${XEN_ROOT} $$p; 
done)
+
+.PHONY: runtime-environment
+runtime-environment: ${PYTHON_VERSIONS}
+
+.PHONY: dist-clean
+dist-clean:
+       rm -fr ${XEN_ROOT}/tests/installed ${XEN_ROOT}/tests/downloads \
+               ${XEN_ROOT}/tests/build
+
+### Python 2.3
+
+.PHONY: python-2.3
+python-2.3: ${XEN_ROOT}/tests/installed/python-2.3/bin/python2.3
+
+${XEN_ROOT}/tests/installed/python-2.3/bin/python2.3: \
+       ${XEN_ROOT}/tests/downloads/Python-2.3.7.tgz
+       @${XEN_ROOT}/tests/scripts/build_python.sh ${XEN_ROOT} 2.3 2.3.7
+${XEN_ROOT}/tests/downloads/Python-2.3.7.tgz:
+       @${XEN_ROOT}/tests/scripts/download_python.sh ${XEN_ROOT} 2.3.7
+
+### Python 2.4
+
+.PHONY: python-2.4
+python-2.4: ${XEN_ROOT}/tests/installed/python-2.4/bin/python2.4
+
+${XEN_ROOT}/tests/installed/python-2.4/bin/python2.4: \
+       ${XEN_ROOT}/tests/downloads/Python-2.4.6.tgz
+       @${XEN_ROOT}/tests/scripts/build_python.sh ${XEN_ROOT} 2.4 2.4.6
+${XEN_ROOT}/tests/downloads/Python-2.4.6.tgz:
+       @${XEN_ROOT}/tests/scripts/download_python.sh ${XEN_ROOT} 2.4.6
+
+### Python 2.5
+
+.PHONY: python-2.5
+python-2.5: ${XEN_ROOT}/tests/installed/python-2.5/bin/python2.5
+
+${XEN_ROOT}/tests/installed/python-2.5/bin/python2.5: \
+       ${XEN_ROOT}/tests/downloads/Python-2.5.4.tgz
+       @${XEN_ROOT}/tests/scripts/build_python.sh ${XEN_ROOT} 2.5 2.5.4
+${XEN_ROOT}/tests/downloads/Python-2.5.4.tgz:
+       @${XEN_ROOT}/tests/scripts/download_python.sh ${XEN_ROOT} 2.5.4
+
+### Python 2.6
+
+.PHONY: python-2.6
+python-2.6: ${XEN_ROOT}/tests/installed/python-2.6/bin/python2.6
+
+${XEN_ROOT}/tests/installed/python-2.6/bin/python2.6: \
+       ${XEN_ROOT}/tests/downloads/Python-2.6.2.tgz
+       @${XEN_ROOT}/tests/scripts/build_python.sh ${XEN_ROOT} 2.6 2.6.2
+${XEN_ROOT}/tests/downloads/Python-2.6.2.tgz:
+       @${XEN_ROOT}/tests/scripts/download_python.sh ${XEN_ROOT} 2.6.2
+
+### Python 3.0.1 has reached end of life and is not (longer) supported
+
+### Python 3.1
+
+.PHONY: python-3.1
+python-3.1: ${XEN_ROOT}/tests/installed/python-3.1/bin/python3.1
+
+${XEN_ROOT}/tests/installed/python-3.1/bin/python3.1: \
+       ${XEN_ROOT}/tests/downloads/Python-3.1.tgz
+       @${XEN_ROOT}/tests/scripts/build_python.sh ${XEN_ROOT} 3.1 3.1
+${XEN_ROOT}/tests/downloads/Python-3.1.tgz:
+       @${XEN_ROOT}/tests/scripts/download_python.sh ${XEN_ROOT} 3.1
diff -r 49ea12238cf9 -r 298a35c11ad1 tools/tests/regression/README
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/tests/regression/README     Tue Jul 28 16:38:08 2009 +0100
@@ -0,0 +1,39 @@
+
+Regression Test Environment for Xen
+-------------------------------------
+
+This is an initial regression tool environment for Xen.
+
+With the help of the Makefile, it is possible to compile a couple of
+different python versions and check all .py files against all verions
+for syntax errors.  Note that due to the dynmic of python not all
+syntax errors might be detected.
+
+Currently the following versions of python are supported:
+2.3.7 2.4.6 2.5.4 2.6.2 3.1
+
+
+Usage
+-----
+
+To download all supported versions of python, compile them, install
+them and run a basic syntax check, run
+
+$ make
+
+(The download and compilation of python is only done if not already
+available.)
+
+To delete all automatically build files:
+
+$ make dist-clean
+
+
+
+Runing unittests with a specific version
+----------------------------------------
+
+This does not work at the moment, because a lot of additional python
+packages are needed for this (which are currently not automatically
+build).
+
diff -r 49ea12238cf9 -r 298a35c11ad1 
tools/tests/regression/scripts/build_python.sh
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/tests/regression/scripts/build_python.sh    Tue Jul 28 16:38:08 
2009 +0100
@@ -0,0 +1,24 @@
+#!/bin/bash
+#
+# This script builds python in the dir 
+# installed/python-${DEST} from package downloads/Python-{PKG_VERS}.tgz
+#
+
+set -e
+
+XEN_ROOT=$1
+DEST=$2
+PKG_VERS=$3
+
+SUB_MAKES_MINUS_J=-j4
+
+BUILD_DIR=${XEN_ROOT}/tests/build
+
+mkdir -p ${BUILD_DIR}
+(cd ${BUILD_DIR} && tar -xf ${XEN_ROOT}/tests/downloads/Python-$PKG_VERS.tgz)
+(cd ${BUILD_DIR}/Python-$PKG_VERS &&
+ ./configure --enable-shared --enable-ipv6 --without-cxx \
+       --with-threads --prefix=${XEN_ROOT}/tests/installed/python-$DEST &&
+make ${SUB_MAKES_MINUS_J} &&
+make install)
+rm -fr ${BUILD_DIR}/Python-$PKG_VERS
diff -r 49ea12238cf9 -r 298a35c11ad1 
tools/tests/regression/scripts/check_python_syntax.sh
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/tests/regression/scripts/check_python_syntax.sh     Tue Jul 28 
16:38:08 2009 +0100
@@ -0,0 +1,19 @@
+#!/bin/bash
+#
+# Checks the syntax of all .py files
+# (compiles them into .pyc files)
+#
+
+XEN_ROOT=$1
+p=$2
+
+echo "Syntax check for $p"
+PYTHON_EXECUTABLE=`echo $p | tr -d "-"`
+export LD_LIBRARY_PATH=${XEN_ROOT}/tests/installed/$p/lib
+export PATH=${XEN_ROOT}/tests/installed/$p/bin:$PATH
+# -m is available starting with python 2.4
+# When support for 2.3 (and earlier) is dropped,
+# the following line will do.
+# ${PYTHON_EXECUTABLE} -m compileall -f -q -x 
".*\.hg.*|^\.\./tests/installed.*" ..
+${PYTHON_EXECUTABLE} 
${XEN_ROOT}/tests/installed/$p/lib/${PYTHON_EXECUTABLE}/compileall.py -f -q -x 
".*\.hg.*|.*/tests/installed.*" ..
+exit $?
diff -r 49ea12238cf9 -r 298a35c11ad1 
tools/tests/regression/scripts/download_python.sh
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/tests/regression/scripts/download_python.sh Tue Jul 28 16:38:08 
2009 +0100
@@ -0,0 +1,12 @@
+#!/bin/bash
+#
+# Downloads python with version $1 and stores in into the downloads dir.
+#
+
+set -e
+
+XEN_ROOT=$1
+VERSION=$2
+
+mkdir -p ${XEN_ROOT}/tests/downloads
+wget -q -O ${XEN_ROOT}/tests/downloads/Python-${VERSION}.tgz 
http://www.python.org/ftp/python/${VERSION}/Python-${VERSION}.tgz

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] tools/tests: Add syntax check for different versions of python, Xen patchbot-unstable <=