I
Ishpeck
I'm using Python to automate testing software for my company. I
wanted the computers in my testing lab to automatically fetch the
latest version of the python scripts from a CVS repository and then
ask a local database server which of the scripts to run.
I built the following:
#!/bin/bash
# Batcher will run the specified scripts.
cvs update
while true
do
# This part makes sure that
# every hour or so, we get the latest
# snapshot of the suite from CVS.
if [ $(date +%M) = 0 ]; then
cvs update
sleep 360
fi
# Then we grab the name of
# a randomly-selected script
i=$(python randomRun.py)
# If the return-value of randomRun.py
#is empty, we don't run it.
if ["$i"=""]; then
echo Not running anything
sleep 3600
# If randomRun doesn't return
# empty, we run the script that it prints.
else
python "$i";
sleep 2
fi
done
--------- END BASH FILE --------
For debugging purposes, you can just build "randomRun.py" to do the
following:
print "randomRun.py"
It's silly but works.
Whenever I run this script, Python decides that it doesn't like the
way BASH feeds it the name of the script. I get the following
message:
': [Errno 22] Invalid argumentopen file 'foo.py
I dunno. Maybe this is a better question for a BASH-related group.
How do I get around this?
wanted the computers in my testing lab to automatically fetch the
latest version of the python scripts from a CVS repository and then
ask a local database server which of the scripts to run.
I built the following:
#!/bin/bash
# Batcher will run the specified scripts.
cvs update
while true
do
# This part makes sure that
# every hour or so, we get the latest
# snapshot of the suite from CVS.
if [ $(date +%M) = 0 ]; then
cvs update
sleep 360
fi
# Then we grab the name of
# a randomly-selected script
i=$(python randomRun.py)
# If the return-value of randomRun.py
#is empty, we don't run it.
if ["$i"=""]; then
echo Not running anything
sleep 3600
# If randomRun doesn't return
# empty, we run the script that it prints.
else
python "$i";
sleep 2
fi
done
--------- END BASH FILE --------
For debugging purposes, you can just build "randomRun.py" to do the
following:
print "randomRun.py"
It's silly but works.
Whenever I run this script, Python decides that it doesn't like the
way BASH feeds it the name of the script. I get the following
message:
': [Errno 22] Invalid argumentopen file 'foo.py
I dunno. Maybe this is a better question for a BASH-related group.
How do I get around this?