Skip to content

Commit

Permalink
SGE tests for prepare method
Browse files Browse the repository at this point in the history
  • Loading branch information
jimboid committed Nov 16, 2016
1 parent 04a0154 commit 5f58c20
Show file tree
Hide file tree
Showing 9 changed files with 327 additions and 8 deletions.
4 changes: 3 additions & 1 deletion Longbow/schedulers/sge.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,9 @@ def prepare(job):

for item in scripts:

jobfile.write(item.strip() + "\n\n")
jobfile.write(item.strip() + "\n")

jobfile.write("\n")

# Add in module to be loaded.
if job["modules"] is not "":
Expand Down
10 changes: 10 additions & 0 deletions Tests/standards/sgesubfile_testcase1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash --login
#$ -cwd -V
#$ -N testjob
#$ -q debug
#$ -l h_rt=24:00:00
#$ -pe mpi 24

module load amber

mpirun -n 24 pmemd.MPI -O -i e.in -c e.min -p e.top -o e.out
12 changes: 12 additions & 0 deletions Tests/standards/sgesubfile_testcase2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash --login
#$ -cwd -V
#$ -N testjob
#$ -q debug
#$ -l h_rt=24:00:00
#$ -t 1-5
#$ -pe mpi 24

module load amber

cd rep${SGE_TASK_ID}/
mpirun -n 24 pmemd.MPI -O -i e.in -c e.min -p e.top -o e.out
11 changes: 11 additions & 0 deletions Tests/standards/sgesubfile_testcase3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash --login
#$ -cwd -V
#$ -N testjob
#$ -q debug
#$ -A accno1234
#$ -l h_rt=24:00:00
#$ -pe mpi 24

module load amber

mpirun -n 24 pmemd.MPI -O -i e.in -c e.min -p e.top -o e.out
11 changes: 11 additions & 0 deletions Tests/standards/sgesubfile_testcase4.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/bash --login
#$ -cwd -V
#$ -N testjob
#$ -q debug
#$ -P accno1234
#$ -l h_rt=24:00:00
#$ -pe mpi 24

module load amber

mpirun -n 24 pmemd.MPI -O -i e.in -c e.min -p e.top -o e.out
12 changes: 12 additions & 0 deletions Tests/standards/sgesubfile_testcase5.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash --login
#$ -cwd -V
#$ -N testjob
#$ -q debug
#$ -l h_rt=24:00:00
#$ -m bn
#$ -M test.email@server.com
#$ -pe mpi 24

module load amber

mpirun -n 24 pmemd.MPI -O -i e.in -c e.min -p e.top -o e.out
13 changes: 13 additions & 0 deletions Tests/standards/sgesubfile_testcase6.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash --login
#$ -cwd -V
#$ -N testjob
#$ -q debug
#$ -l h_rt=24:00:00
#$ -pe mpi 24

ls /dir
cd /dir

module load amber

mpirun -n 24 pmemd.MPI -O -i e.in -c e.min -p e.top -o e.out
8 changes: 8 additions & 0 deletions Tests/standards/sgesubfile_testcase7.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash --login
#$ -cwd -V
#$ -N testjob
#$ -q debug
#$ -l h_rt=24:00:00
module load amber

mpiexec pmemd.MPI -O -i e.in -c e.min -p e.top -o e.out
254 changes: 247 additions & 7 deletions Tests/unit/schedulers_sge/test_sge_prepare.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,257 @@
This test module contains tests for the SGE scheduler plugin.
"""

try:
import os
import Longbow.schedulers.sge as sge

from unittest import mock

except ImportError:
def test_prepare_case1():

import mock
"""
Simple test
"""

import pytest
job = {
"account": "",
"cluster": "",
"cores": "24",
"corespernode": "",
"executableargs": "pmemd.MPI -O -i e.in -c e.min -p e.top -o e.out",
"handler": "mpirun",
"email-address": "",
"email-flags": "",
"jobname": "testjob",
"localworkdir": "/tmp",
"maxtime": "24:00",
"memory": "",
"modules": "amber",
"queue": "debug",
"replicates": "1",
"scripts": "",
"sge-peflag": "mpi",
"sge-peoverride": "false",
"upload-include": "file1, file2"
}

import Longbow.corelibs.exceptions as exceptions
import Longbow.schedulers.sge as sge
sge.prepare(job)

assert job["subfile"] == "submit.sge"
assert job["upload-include"] == "file1, file2, submit.sge"
assert open("/tmp/submit.sge", "rb").read() == open(
os.path.join(os.getcwd(),
"Tests/standards/sgesubfile_testcase1.txt"), "rb").read()


def test_prepare_case2():

"""
Test replicates
"""

job = {
"account": "",
"cluster": "",
"cores": "24",
"corespernode": "",
"executableargs": "pmemd.MPI -O -i e.in -c e.min -p e.top -o e.out",
"handler": "mpirun",
"email-address": "",
"email-flags": "",
"jobname": "testjob",
"localworkdir": "/tmp",
"maxtime": "24:00",
"memory": "",
"modules": "amber",
"queue": "debug",
"replicates": "5",
"scripts": "",
"sge-peflag": "mpi",
"sge-peoverride": "false",
"upload-include": "file1, file2"
}

sge.prepare(job)

assert open("/tmp/submit.sge", "rb").read() == open(
os.path.join(os.getcwd(),
"Tests/standards/sgesubfile_testcase2.txt"), "rb").read()


def test_prepare_case3():

"""
Test account parameter
"""

job = {
"account": "accno1234",
"accountflag": "",
"cluster": "",
"cores": "24",
"corespernode": "",
"executableargs": "pmemd.MPI -O -i e.in -c e.min -p e.top -o e.out",
"handler": "mpirun",
"email-address": "",
"email-flags": "",
"jobname": "testjob",
"localworkdir": "/tmp",
"maxtime": "24:00",
"memory": "",
"modules": "amber",
"queue": "debug",
"replicates": "1",
"scripts": "",
"sge-peflag": "mpi",
"sge-peoverride": "false",
"upload-include": "file1, file2"
}

sge.prepare(job)

assert open("/tmp/submit.sge", "rb").read() == open(
os.path.join(os.getcwd(),
"Tests/standards/sgesubfile_testcase3.txt"), "rb").read()


def test_prepare_case4():

"""
Test account parameter
"""

job = {
"account": "accno1234",
"accountflag": "-P",
"cluster": "",
"cores": "24",
"corespernode": "",
"executableargs": "pmemd.MPI -O -i e.in -c e.min -p e.top -o e.out",
"handler": "mpirun",
"email-address": "",
"email-flags": "",
"jobname": "testjob",
"localworkdir": "/tmp",
"maxtime": "24:00",
"memory": "",
"modules": "amber",
"queue": "debug",
"replicates": "1",
"scripts": "",
"sge-peflag": "mpi",
"sge-peoverride": "false",
"upload-include": "file1, file2"
}

sge.prepare(job)

assert open("/tmp/submit.sge", "rb").read() == open(
os.path.join(os.getcwd(),
"Tests/standards/sgesubfile_testcase4.txt"), "rb").read()


def test_prepare_case5():

"""
Test email parameters
"""

job = {
"account": "",
"accountflag": "",
"cluster": "",
"cores": "24",
"corespernode": "",
"executableargs": "pmemd.MPI -O -i e.in -c e.min -p e.top -o e.out",
"handler": "mpirun",
"email-address": "test.email@server.com",
"email-flags": "bn",
"jobname": "testjob",
"localworkdir": "/tmp",
"maxtime": "24:00",
"memory": "",
"modules": "amber",
"queue": "debug",
"replicates": "1",
"scripts": "",
"sge-peflag": "mpi",
"sge-peoverride": "false",
"upload-include": "file1, file2"
}

sge.prepare(job)

assert open("/tmp/submit.sge", "rb").read() == open(
os.path.join(os.getcwd(),
"Tests/standards/sgesubfile_testcase5.txt"), "rb").read()


def test_prepare_case6():

"""
Test script parameters
"""

job = {
"account": "",
"accountflag": "",
"cluster": "",
"cores": "24",
"corespernode": "",
"executableargs": "pmemd.MPI -O -i e.in -c e.min -p e.top -o e.out",
"handler": "mpirun",
"email-address": "",
"email-flags": "",
"jobname": "testjob",
"localworkdir": "/tmp",
"maxtime": "24:00",
"memory": "",
"modules": "amber",
"queue": "debug",
"replicates": "1",
"scripts": "ls /dir, cd /dir",
"sge-peflag": "mpi",
"sge-peoverride": "false",
"upload-include": "file1, file2"
}

sge.prepare(job)

assert open("/tmp/submit.sge", "rb").read() == open(
os.path.join(os.getcwd(),
"Tests/standards/sgesubfile_testcase6.txt"), "rb").read()


def test_prepare_case7():

"""
Test single core parameter for GPU
"""

job = {
"account": "",
"accountflag": "",
"cluster": "",
"cores": "1",
"corespernode": "",
"executableargs": "pmemd.MPI -O -i e.in -c e.min -p e.top -o e.out",
"handler": "mpiexec",
"email-address": "",
"email-flags": "",
"jobname": "testjob",
"localworkdir": "/tmp",
"maxtime": "24:00",
"memory": "",
"modules": "amber",
"queue": "debug",
"replicates": "1",
"scripts": "",
"sge-peflag": "mpi",
"sge-peoverride": "false",
"upload-include": "file1, file2"
}

sge.prepare(job)

assert open("/tmp/submit.sge", "rb").read() == open(
os.path.join(os.getcwd(),
"Tests/standards/sgesubfile_testcase7.txt"), "rb").read()

0 comments on commit 5f58c20

Please sign in to comment.