diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..888d6a9a97a892ca419c22e95df6faa7f675325f --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*.sw? +.egg* +.ropeproject +.pytest* +*.egg-info +__pycache__ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000000000000000000000000000000000000..ddc23d29b57a9d32f8a0acc5a3b3895259840429 --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,14 @@ +image: python:3.6 + +stages: + - build + - test + - deploy + +before_script: + - pip install setuptools + - pip install . + +pytest: + stage: test + script: python setup.py test diff --git a/Readme.md b/Readme.md index 0302c8deb3b7364f6fb8bd19b4ef2c439d6ec03e..f5fbc42382f34b10df1731c224babf5a88d42f11 100644 --- a/Readme.md +++ b/Readme.md @@ -74,7 +74,8 @@ setup( Suppose you want to run a `doStuf` function that takes exactly one argument : ```python -runner = safeRunner() +from pySafeRunner import safeRunner +runner = safeRunner.safeRunner() for i in range(0,5): runner.run(doStuff, i) ``` @@ -86,7 +87,6 @@ for i in range(0,5): Suppose you want to run a `doStuf` function that takes exactly two arguments : ```python -runner = safeRunner() for i in range(0,5): for i in range(5,10): runner.run(doStuff, (i,j)) @@ -97,7 +97,6 @@ for i in range(0,5): Suppose you want to run a `doStuf` function that takes 3 named arguments : ```python -runner = safeRunner() for i in range(0,5): for i in range(5,10): runner.run(doStuff, {'i':i,'k':5,'j':j}) diff --git a/pySafeRunner/runner.py b/pySafeRunner/safeRunner.py similarity index 100% rename from pySafeRunner/runner.py rename to pySafeRunner/safeRunner.py diff --git a/pySafeRunner/test_runner.py b/pySafeRunner/test_runner.py new file mode 100644 index 0000000000000000000000000000000000000000..4e0b3fdea0264118f90ca725dcc57f3a67d961f5 --- /dev/null +++ b/pySafeRunner/test_runner.py @@ -0,0 +1,38 @@ +from pySafeRunner import safeRunner + +def compute(i,j=5, k=0): + from random import randint + print("i {}, j {}, k {}".format(i,j,k)) + if randint(0,10) >= 9: + raise Exception("Huge fail") + else: + return i*j+k + +def test_kwargs(): + runner = safeRunner.safeRunner() + for i in range(0,5): + for j in range(5,10): + print(runner.run(compute, {'i':i,'k':5,'j':j})) + +def test_packedargs(): + runner = safeRunner.safeRunner() + for i in range(0,5): + for j in range(5,10): + print(runner.run(compute, (i,j,5))) + +def test_singleArg(): + runner = safeRunner.safeRunner() + for i in range(0,5): + for j in range(5,10): + print(runner.run(compute, i)) + +def test_singlemap(): + runner = safeRunner.safeRunner() + for res in runner.map(compute, range(0,5)): + print(res) + +def test_doublemap(): + runner = safeRunner.safeRunner() + for res in runner.map(compute, range(0,5),range(5,10)): + print(res) +