Ishan Bhatt
Ishan Bhatt

Reputation: 10241

How to run nosetests in jenkins

I have a project which has two folders on same level /home/ishan/my_repo/jenkins_test/business_logic /home/ishan/my_repo/jenkins_test/test_cases

test_cases has two files test_fib and test_fact when I run nosetests --exe at /home/ishan/my_repo/jenkins_test/ it runs correctly showing

....
----------------------------------------------------------------------
Ran 4 tests in 0.036s

OK

I am trying to run these test cases so, I created following script at /home/ishan/my_repo

#!/bin/bash
source /home/ishan/venv/bin/activate
nosetests --exe /home/ishan/sf_shared/my_repo/jenkin_test/
deactivate

When I run it using source /home/ishan/my_repo/test_runner.sh it shows correct output.

So, I tried to put it in jenksins build step. So, I added the same line source /home/ishan/my_repo/test_runner.sh in command section of Execute Shell in jenkins.

Now, when I trigger the build using build now it fails saying

Started by user anonymous
Building in workspace /var/lib/jenkins/workspace/jenkins_test
[jenkins_test] $ /bin/sh -xe /tmp/hudson5020664150857393715.sh
+ source /home/ishan/sf_shared/test_runner.sh
/tmp/hudson5020664150857393715.sh: 2: /tmp/hudson5020664150857393715.sh: source: not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE

I think it doesn't even execute any test cases. It fails long before. Can you suggest what am I doing wrong?

Upvotes: 0

Views: 2080

Answers (2)

Ishan Bhatt
Ishan Bhatt

Reputation: 10241

Resolved it, issue was with the following line

source /home/ishan/venv/bin/activate

I replaced it source with standard . then it worked. So, my line became

. /home/ishan/venv/bin/activate

Upvotes: 1

krynio
krynio

Reputation: 2492

Maybe this will works:

 /home/ishan/venv/bin/nosetests --exe /home/ishan/sf_shared/my_repo/jenkin_test/

Upvotes: 2

Related Questions