Skip to content

Commit

Permalink
Add Python to run-tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
nathanielmanistaatgoogle committed Jan 22, 2015
1 parent 59d095a commit 840615e
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 2 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ gens
libs
objs

# Python virtual environment (pre-3.4 only)
python2.7_virtual_environment

# gcov coverage data
coverage
*.gcno
Expand Down
2 changes: 1 addition & 1 deletion INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ A typical unix installation won't require any more steps than running:
You don't need anything else than GNU Make and gcc. Under a Debian or
Ubuntu system, this should boil down to the following package:

# apt-get install build-essential
# apt-get install build-essential python-all-dev python-virtualenv


*******************************
Expand Down
10 changes: 10 additions & 0 deletions tools/run_tests/build_python.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash

set -ex

# change to grpc repo root
cd $(dirname $0)/../..

root=`pwd`
virtualenv python2.7_virtual_environment
python2.7_virtual_environment/bin/pip install enum34==1.0.4 futures==2.2.0
10 changes: 10 additions & 0 deletions tools/run_tests/run_python.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash

set -ex

# change to grpc repo root
cd $(dirname $0)/../..

root=`pwd`
python2.7_virtual_environment/bin/python2.7 -B -m unittest discover -s src/python -p '*.py'
python3.4 -B -m unittest discover -s src/python -p '*.py'
18 changes: 17 additions & 1 deletion tools/run_tests/run_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,21 @@ def build_steps(self):
return [['tools/run_tests/build_php.sh']]


class PythonLanguage(object):

def __init__(self):
self.allow_hashing = False

def test_binaries(self, config):
return ['tools/run_tests/run_python.sh']

def make_targets(self):
return[]

def build_steps(self):
return [['tools/run_tests/build_python.sh']]


# different configurations we can run under
_CONFIGS = {
'dbg': SimpleConfig('dbg'),
Expand All @@ -92,7 +107,8 @@ def build_steps(self):
_LANGUAGES = {
'c++': CLanguage('cxx', 'c++'),
'c': CLanguage('c', 'c'),
'php': PhpLanguage()
'php': PhpLanguage(),
'python': PythonLanguage(),
}

# parse command line
Expand Down

0 comments on commit 840615e

Please sign in to comment.