SubDir PLASMA HSTS test ;

if ! $(PLASMA_READY) {

#
# Heuristics Tests
#

HSTS_Test_Files = [ FGristFiles AtSubgoalRule DNPConstraints ] ;
ModuleObjects $(HSTS_Test_Files:S=.cc) : HSTS ;

# ConstraintTesting.hh is in ConstraintEngine/test, not here.
# !!This doesn't work, however, so I've changed the source to '#include "test/ConstraintingTest.hh"' to see if that works.
# INCLUDES on module-tests.cc += [ FDirName $($(_top)) ConstraintEngine test ] ;

ModuleMain hsts-module-tests : $(HSTS_Test_Files:S=$(SUFOBJ)) $(CET_Files:S=$(SUFOBJ)) hsts-test-module.cc module-tests.cc 
                               HSTSConstraintTesting.cc : HSTS : CBPlanner ;
RunModuleMain run-hsts-module-tests : hsts-module-tests ;

LocalDepends tests : run-hsts-module-tests ;

# Commented out tests are failing for various reasons; see each test for more info.
LocalDepends run-hsts-planner-tests :
        xmonkey
#       litaEuropa2 # See missionExec.init.e2; broken since before 24 Aug 2005
        monkey-timeline
        monkey-timeline-hacked
        monkey-timeline-hacked2
        monkey-timeline-hacked3
# 3114      monkey-timeline-newHeur
        monkey-timeline-extendedHeur
        monkey1-timeline1
        monkey1-timeline-objvar
#       monkey1-timeline-twomonkeys-objvar # see timeline-twomonkeys-objvar.nddl
#       monkey1-timeline-twomonkeys # see timeline-twomonkeys.nddl
# 3114        monkey2-timeline2 # see timeline2.nddl
# 3114        monkey2-timeline22 # see timeline22.nddl
# 3114        monkey2-timeline23 # see timeline23.nddl
        robotTests
        roverTest1
        roverTest2
        roverTest3
        roverTest4
        merTest1
        merTest2
        merTest3
        merTest4
        merTest5
        merTest6
        merTest7
        merTest8
        merTest9
        merTest10 # needs heuristics?! ... or 1938 steps
        merTest11
        merTest12
        merTest13
        merTest14
        merTest15
        merTest16
        merTest17
        merTest18
        merTest1-h
        #merTest2-h
       # merTest3-h
#3114        merTest4-h # see R2-files-R21-Bill.nddl
#3114        merTest5-h # see R2-files-R21-IDD2_g
        merTest6-h
        #merTest7-h
        merTest8-h
        merTest9-h
        #merTest10-h
#3114        merTest11-h # see mer-bill-2.nddl
        #merTest12-h
        merTest13-h
        merTest14-h
        #merTest15-h
        merTest16-h
        merTest17-h
        merTest18-h
        gnats-C3
#       gnats-NoBranchBug # Will not pass while singleton guards ignore no branch designations.
#3114        gnats-P4-C3 # see P4-C3-init.nddl
#3114        gnats-P4-C3eq # identical to prior except for a different constraint is used, which does not affect the semantics of the problem.
        gnats-SC
        gnats-rover-fixed
        gnats-sum
        dnp-timeline
#3114        dnp-DNP2 # see DNP2.timeline.nddl
#3114        dnp-allDSS # see allDSS.nddl
#       dnp-fourFreeObs # see fourFreeObs.nddl
#       dnp-DNP3fourFreeObs # see DNP3.fourFreeObs.nddl
#       dnp-DNP3 # see DNP3.timeline.nddl
#       dnp-fourFreeObsNotEmpty # see fourFreeObs-initBufNotEmpty.nddl
#       dnp-freeObs # see freeObs.nddl
#       dnp-freeObsNoEmpty # see freeObs.noEmpty.nddl
#       dnp-tenFreeObs # see tenFreeObs.nddl
        dnp-threeFreeObs
#       dnp-twentyFreeObs # see twentyFreeObs.nddl
#       dnp-twoFreeObs # see twoFreeObs.nddl
        dnp-timeline-h
#       dnp-DNP2-h 
#       dnp-DNP23-h
#       dnp-allDSS-h 
#       dnp-fourFreeObs-h
#       dnp-DNP3fourFreeObs-h
#       dnp-DNP3-h
#       dnp-fourFreeObsNotEmpty-h
#       dnp-freeObs-h
#       dnp-freeObsNoEmpty-h
#       dnp-tenFreeObs-h
#       dnp-threeFreeObs-h
#       dnp-twentyFreeObs-h
#       dnp-twoFreeObs-h
        ;

#
# EUROPA1 TESTS
#   Converted from NewPlan/ModuleTests/Parser, e.g.
#
ModuleObjects runEUROPAtest.cc : HSTS ;
ModuleObjects runSolverTest.cc : HSTS ;

rule EUROPA_NDDL {
  local initState = $(1) ;
  local hh = $(initState:S=.hh) ;
  local cc = [ FGristFiles $(initState:S=.cc) ] ;
  NddlCompiler $(hh) $(cc) : $(initState) ;
  # create .hh, .cc, .o, and .xml for a .nddl
  Includes $(cc) : $(hh) ;
  ModuleObjects $(cc) : NDDL ;
}

rule RunEUROPATest {

 local target = $(1) ;
 local initialStates = $(2) ;
 local heur = $(3) ;
 local planId = $(4) ;

 local model ;
 for model in $(initialStates) {
  local exe = $(model:S=) ;
  local hh = $(model:S=.hh) ;
  local cc = [ FGristFiles $(model:S=.cc) ] ;
  local other_cc = runEUROPAtest.cc DNPConstraints.cc ;
  local xml = $(model:S=.xml) ;
  local o = $(cc:S=$(SUFOBJ)) $(other_cc:S=$(SUFOBJ)) ;
  local lib = $(model:S=) ;
  local options = " -i "$(xml) ;
  local addTarget = "" ;
  if $(heur) {
    options += " -h "$(heur) ;
    addTarget = "-h"$(heur) ;
  }
  if ($planId) {
    options += " -p "$(planId) ;
# All current tests that have a plan id file also have a heuristics file, so this isn't need and is messy to do correctly
#   output = ?? ;
  }
  local output = "run-$(exe).output$(addTarget).output" ;

  # create planner with linked model
  ModuleMain $(exe) : $(o) : HSTS ;
  RunModuleMain "run-$(exe)$(addTarget)" : $(exe) : $(options) : time : "$(output)" ;
  LocalDepends $(target) : run-$(exe)$(addTarget) ;
 }
}

rule RunSolverTest {
  local target = $(1) ;
  local initialStates = $(2) ;
  local config = $(3) ;
  
  local model ;
  for model in $(initialStates) {
    local exe = $(model:S=)-solver ;
    local hh = $(model:S=.hh) ;
    local cc = [ FGristFiles $(model:S=.cc) ] ;
    local other_cc = runSolverTest.cc DNPConstraints.cc ;
    local xml = $(model:S=.xml) ;
    local o = $(cc:S=$(SUFOBJ)) $(other_cc:S=$(SUFOBJ)) ;
    local lib = $(model:S=) ;
    local options = " -i "$(xml)" -c "$(config) ;
    local output = run-$(exe).output$(xml)$(config).output ;

    ModuleMain $(exe) : $(o) : HSTS ;
    RunModuleMain run-$(exe)$(xml)$(config) : $(exe) : $(options) : time : $(output) ;
    LocalDepends $(target) : run-$(exe)$(xml)$(config) ;
  }
}

rule RunBothTests {
  local target = $(1) ;
  local initialStates = $(2) ;
  local heur = $(3) ;
  local planId = $(4) ;
  local solverConfig = $(heur)".solver.xml" ;

  RunEUROPATest $(target)-hsts : $(initialStates) : $(heur) : $(planId) ;
  RunSolverTest $(target)-solver : $(initialStates) : $(solverConfig) ;
  LocalDepends $(target) : $(target)-hsts ;
  LocalDepends $(target) : $(target)-solver ;
}

EUROPA_NDDL timeline0.nddl ;
RunEUROPATest monkey-timeline : timeline0.nddl ;
EUROPA_NDDL timeline-hacked.nddl ;
RunEUROPATest monkey-timeline-hacked : timeline-hacked.nddl ;
EUROPA_NDDL timeline-hacked2.nddl ;
RunEUROPATest monkey-timeline-hacked2 : timeline-hacked2.nddl ;
EUROPA_NDDL timeline-hacked3.nddl ;
RunEUROPATest monkey-timeline-hacked3 : timeline-hacked3.nddl ;

RunEUROPATest monkey-timeline-newHeur : timeline0.nddl : monkeyNewHeur.xml ; #have solver xml PASS
#RunSolverTest monkey-timeline-newHeur-solver : timeline0.nddl : monkeyNewHeur.xml.solver.xml ;
#RunBothTests monkey-timeline-newHeur : timeline0.nddl : monkeyNewHeur.xml ;

#RunEUROPATest monkey-timeline-extendedHeur : timeline0.nddl : monkeyExtendedHeur.xml ; #have solver xml PASS
RunBothTests monkey-timeline-extendedHeur : timeline0.nddl : monkeyExtendedHeur.xml ;

EUROPA_NDDL timeline1.nddl ;
RunEUROPATest monkey1-timeline1 : timeline1.nddl ;
EUROPA_NDDL timeline-objvar.nddl ;
RunEUROPATest monkey1-timeline-objvar : timeline-objvar.nddl ;

# Three () indicates commented out by PJarvis to allow nightly builds to work. 

# Fails to find a plan in 2000 steps.
#   Seems to prefer adding tokens to deciding a compat variable.
#   Reported as GNATS 2849.
EUROPA_NDDL timeline-twomonkeys-objvar.nddl ;
RunEUROPATest monkey1-timeline-twomonkeys-objvar : timeline-twomonkeys-objvar.nddl ;

# Fails to find a plan in 2000 steps.
#   Likely same root cause as prior test.
EUROPA_NDDL timeline-twomonkeys.nddl ;
RunEUROPATest monkey1-timeline-twomonkeys : timeline-twomonkeys.nddl ;

# These three fail to find a plan in 1000 steps
#   The first one, at least, seems to not be enforcing the neq() constraints near line 87 of monkey2.nddl
#     and still does not find a plan within 3000 steps.
#   Reported as GNATS 2850.
EUROPA_NDDL timeline2.nddl ;
RunEUROPATest monkey2-timeline2 : timeline2.nddl ; 
EUROPA_NDDL timeline22.nddl ;
RunEUROPATest monkey2-timeline22 : timeline22.nddl ;

# Working
EUROPA_NDDL timeline23.nddl ;
RunEUROPATest monkey2-timeline23 : timeline23.nddl ;

EUROPA_NDDL req1.nddl ;
RunEUROPATest robotTests : req1.nddl ;

EUROPA_NDDL rover-test.nddl ;
RunEUROPATest roverTest1 : rover-test.nddl ;
EUROPA_NDDL rover3-test.nddl ;
RunEUROPATest roverTest3 : rover3-test.nddl ;
EUROPA_NDDL rover4-test.nddl ;
RunEUROPATest roverTest4 : rover4-test.nddl ;

EUROPA_NDDL multrover-test.nddl ;
RunEUROPATest roverTest2 : multrover-test.nddl ;

# These use constraint tokens, which Europa2 (PLASMA) does not support.
#   Verified as mentioned in PLASMA/MigrationNotes (entry 8 currently).
# EUROPA_NDDL rover2-test.nddl ;
# EUROPA_NDDL rover2a-test.nddl ;
# EUROPA_NDDL rover2b-test.nddl ;
# RunEUROPATest roverCTTests : rover2-test.nddl rover2a-test.nddl rover2b-test.nddl ;

# Working
EUROPA_NDDL R1-files-p1.nddl ;
RunEUROPATest merTest1 : R1-files-p1.nddl ;
EUROPA_NDDL R1-files-p2.nddl ;
RunEUROPATest merTest2 : R1-files-p2.nddl ;

# Failing with no error message
#   First wants over 2GB of RAM, so it is likely to be the limits in System/test/autobuild.
#   Other MER related failures may have similar causes.
# First two were never run by NewPlan tests without heuristics files.
EUROPA_NDDL R1-files-p3.nddl ;
RunEUROPATest merTest3 : R1-files-p3.nddl ;
# Third was not being run by NewPlan tests at all.
EUROPA_NDDL R2-files-R21-Bill.nddl ;
RunEUROPATest merTest4 : R2-files-R21-Bill.nddl ;

# Working
EUROPA_NDDL R2-files-R21-IDD1.nddl ;
RunEUROPATest merTest5 : R2-files-R21-IDD1.nddl ;

# Failing with no error message
#   Next one, at least, wants over 1GB of RAM.
# These two were also not being run by any NewPlan tests.
EUROPA_NDDL R2-files-R21-IDD2.nddl ;
RunEUROPATest merTest6 : R2-files-R21-IDD2.nddl ;
EUROPA_NDDL R2-files-R21-IDD3.nddl ;
RunEUROPATest merTest7 : R2-files-R21-IDD3.nddl ;

# Working
EUROPA_NDDL R2-files-R21-PMA1.nddl ;
RunEUROPATest merTest8 : R2-files-R21-PMA1.nddl ;
EUROPA_NDDL R2-files-R21-PMA2.nddl ;
RunEUROPATest merTest9 : R2-files-R21-PMA2.nddl ;

# Failing with no error message
#   First wanted more than 1GB of RAM at only 63 seconds of CPU time.
#   Also, the Debug.cfg file was either ignored or cerr's buffer was not flushed.
# All three were never run by NewPlan tests without the heuristics file.
EUROPA_NDDL mer-1.nddl ;
RunEUROPATest merTest10 : mer-1.nddl ;
EUROPA_NDDL mer-bill-2.nddl ;
RunEUROPATest merTest11 : mer-bill-2.nddl ;
EUROPA_NDDL mer-bill.nddl ;
RunEUROPATest merTest12 : mer-bill.nddl ;

# Working
EUROPA_NDDL mer-idd1.nddl ;
RunEUROPATest merTest13 : mer-idd1.nddl ;

# Failing with no error message
#   First wanted more than 1GB of RAM at only 26 CPU seconds and also had no output despite Debug.cfg.
# All three were never run by NewPlan tests without the heuristics file.
EUROPA_NDDL mer-idd2.nddl ;
RunEUROPATest merTest14 : mer-idd2.nddl ;
EUROPA_NDDL mer-idd3.nddl ;
RunEUROPATest merTest15 : mer-idd3.nddl ;
EUROPA_NDDL mer-pma-comm.nddl ;
RunEUROPATest merTest16 : mer-pma-comm.nddl ;

# Working
EUROPA_NDDL mer-pma1.nddl ;
RunEUROPATest merTest17 : mer-pma1.nddl ;
EUROPA_NDDL mer-pma2.nddl ;
RunEUROPATest merTest18 : mer-pma2.nddl ;

# Same set as just above plus the heuristics and no branch files.

#Working
#RunEUROPATest merTest1-h : R1-files-p1.nddl : mer-p1-3.xml : mer-p1-3.nobr ; #have solver xml
RunBothTests merTest1-h :  R1-files-p1.nddl : mer-p1-3.xml : mer-p1-3.nobr ; #ERROR: decision order difference.  
#Given variables 2 and 3 with the same priority and number of choices, solver chooses 3 because it has the higher key
#HTX chooses 2 because it hits 2 first and doesn't consider the key comparison because they have the same number of choices

RunEUROPATest merTest2-h : R1-files-p2.nddl : mer-p1-3.xml : mer-p1-3.nobr ; #have solver xml
#RunBothTests merTest2-h : R1-files-p2.nddl : mer-p1-3.xml : mer-p1-3.nobr ;

RunEUROPATest merTest3-h : R1-files-p3.nddl : mer-p1-3.xml : mer-p1-3.nobr ; #have solver xml
#RunBothTests merTest3-h : R1-files-p3.nddl : mer-p1-3.xml : mer-p1-3.nobr ; 

RunEUROPATest merTest4-h : R2-files-R21-Bill.nddl : mer-p1-3.xml : mer-p1-3.nobr ; #have solver xml
#RunBothTests merTest4-h : R2-files-R21-Bill.nddl : mer-p1-3.xml : mer-p1-3.nobr ;

RunEUROPATest merTest5-h : R2-files-R21-IDD1.nddl : mer-p1-3.xml : mer-p1-3.nobr ; #have solver xml
#RunBothTests merTest5-h : R2-files-R21-IDD1.nddl : mer-p1-3.xml : mer-p1-3.nobr ;

#RunEUROPATest merTest6-h : R2-files-R21-IDD2.nddl : mer-p1-3.xml : mer-p1-3.nobr ; #have solver xml
RunBothTests merTest6-h : R2-files-R21-IDD2.nddl : mer-p1-3.xml : mer-p1-3.nobr ;

RunEUROPATest merTest7-h : R2-files-R21-IDD3.nddl : mer-p1-3.xml : mer-p1-3.nobr ; #have solver xml
#RunBothTests merTest7-h : R2-files-R21-IDD3.nddl : mer-p1-3.xml : mer-p1-3.nobr ;

#RunEUROPATest merTest8-h : R2-files-R21-PMA1.nddl : mer-p1-3.xml : mer-p1-3.nobr ; #have solver xml
RunBothTests merTest8-h : R2-files-R21-PMA1.nddl : mer-p1-3.xml : mer-p1-3.nobr ; #have solver xml

#RunEUROPATest merTest9-h : R2-files-R21-PMA2.nddl : mer-p1-3.xml : mer-p1-3.nobr ; #have solver xml
RunBothTests merTest9-h : R2-files-R21-PMA2.nddl : mer-p1-3.xml : mer-p1-3.nobr ; #have solver xml

RunEUROPATest merTest10-h : mer-1.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml
#RunBothTests merTest10-h : mer-1.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml

RunEUROPATest merTest11-h : mer-bill-2.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml
#RunBothTests merTest11-h : mer-bill-2.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml

RunEUROPATest merTest12-h : mer-bill.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml
#RunBothTests merTest12-h : mer-bill.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml

#RunEUROPATest merTest13-h : mer-idd1.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml
RunBothTests merTest13-h : mer-idd1.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml

#RunEUROPATest merTest14-h : mer-idd2.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml
RunBothTests merTest14-h : mer-idd2.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml

RunEUROPATest merTest15-h : mer-idd3.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml
#RunBothTests merTest15-h : mer-idd3.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml

#RunEUROPATest merTest16-h : mer-pma-comm.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml
RunBothTests merTest16-h : mer-pma-comm.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml

#RunEUROPATest merTest17-h : mer-pma1.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml
RunBothTests merTest17-h : mer-pma1.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml

#RunEUROPATest merTest18-h : mer-pma2.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml
RunBothTests merTest18-h : mer-pma2.nddl : mer-heur-high.xml : mer-heur-high.nobr ; #have solver xml

# Working
EUROPA_NDDL C3-init.nddl ;
RunEUROPATest gnats-C3 : C3-init.nddl ;
EUROPA_NDDL NoBranchBug-init.nddl ;
RunEUROPATest gnats-NoBranchBug : NoBranchBug-init.nddl : NoBranchBug.xml : NoBranchBug.nobr ; #have solver xml
#RunBothTests  gnats-NoBranchBug : NoBranchBug-init.nddl : NoBranchBug.xml : NoBranchBug.nobr ;

# These two take multiple hours without completing on Token for some reason and may be infinite loop or similar.
#   Reported as GNATS 2796.
# Avoided by constraining token parameters within [-1000 1000] rather than allowing [-INF INF].
EUROPA_NDDL P4-C3-init.nddl ;
RunEUROPATest gnats-P4-C3 : P4-C3-init.nddl ;
EUROPA_NDDL P4-C3eq-init.nddl ;
RunEUROPATest gnats-P4-C3eq : P4-C3eq-init.nddl ;

# These three work.
EUROPA_NDDL SC-init.nddl ;
RunEUROPATest gnats-SC : SC-init.nddl ;
EUROPA_NDDL rover-fixed-init.nddl ;
RunEUROPATest gnats-rover-fixed : rover-fixed-init.nddl ;
EUROPA_NDDL sum-init.nddl ;
RunEUROPATest gnats-sum : sum-init.nddl ;

# DNP tests need the DNP specific constraints.

# Working
EUROPA_NDDL DNP.timeline.nddl ;
RunEUROPATest dnp-timeline : DNP.timeline.nddl ;

# These fail; no idea why yet.
# None are run by NewPlan tests without a heuristics file.
# Probably fail due to creating huge numbers of ChoiceId's like the prior test.
EUROPA_NDDL DNP2.timeline.nddl ;
RunEUROPATest dnp-DNP2 : DNP2.timeline.nddl ;
EUROPA_NDDL allDSS.nddl ;
RunEUROPATest dnp-allDSS : allDSS.nddl ;
EUROPA_NDDL fourFreeObs.nddl ;
RunEUROPATest dnp-fourFreeObs : fourFreeObs.nddl ;
EUROPA_NDDL DNP3.fourFreeObs.nddl ;
RunEUROPATest dnp-DNP3fourFreeObs : DNP3.fourFreeObs.nddl ;
EUROPA_NDDL DNP3.timeline.nddl ;
RunEUROPATest dnp-DNP3 : DNP3.timeline.nddl ;
EUROPA_NDDL fourFreeObs-initBufNotEmpty.nddl ;
RunEUROPATest dnp-fourFreeObsNotEmpty : fourFreeObs-initBufNotEmpty.nddl ;

# These two fail to find plans in 1000 steps.
# None are run by NewPlan tests without a heuristics file.
# Probably fail due to creating huge numbers of ChoiceId's like dnp-timeline.
EUROPA_NDDL freeObs.nddl ;
RunEUROPATest dnp-freeObs : freeObs.nddl ;
EUROPA_NDDL freeObs.noEmpty.nddl ;
RunEUROPATest dnp-freeObsNoEmpty : freeObs.noEmpty.nddl ;

# Failing with no error message
# None are run by NewPlan tests without a heuristics file.
# Probably fail due to creating huge numbers of ChoiceId's like dnp-timeline.
EUROPA_NDDL tenFreeObs.nddl ;
RunEUROPATest dnp-tenFreeObs : tenFreeObs.nddl ;

# Running for a while - not sure if it fails or not
EUROPA_NDDL threeFreeObs.nddl ;
RunEUROPATest dnp-threeFreeObs : threeFreeObs.nddl ;

# This one fails with no error message
EUROPA_NDDL twentyFreeObs.nddl ;
RunEUROPATest dnp-twentyFreeObs : twentyFreeObs.nddl ;

# Working
EUROPA_NDDL twoFreeObs.nddl ;
RunEUROPATest dnp-twoFreeObs : twoFreeObs.nddl ;

# Same set as just prior set plus heuristics and no branch info.

# Working
#RunEUROPATest dnp-timeline-h : DNP.timeline.nddl : DNPheur2.xml ; #have solver xml
RunBothTests dnp-timeline-h : DNP.timeline.nddl : DNPheur2.xml ; #have solver xml

RunEUROPATest dnp-DNP2-h : DNP2.timeline.nddl : DNP2heur.xml ; #have solver xml
#RunBothTests dnp-DNP2-h : DNP2.timeline.nddl : DNP2heur.xml ; #have solver xml

RunEUROPATest dnp-DNP23-h : DNP2.timeline.nddl : DNP2heur3.xml ; #have solver xml
#RunBothTests dnp-DNP23-h : DNP2.timeline.nddl : DNP2heur3.xml ; #have solver xml

RunEUROPATest dnp-allDSS-h : allDSS.nddl : DNP2heur3.xml ; #have solver xml
#RunBothTests dnp-allDSS-h : allDSS.nddl : DNP2heur3.xml ; #have solver xml

# Times out
RunEUROPATest dnp-fourFreeObs-h : fourFreeObs.nddl : DNP2heur3.xml ; #have solver xml
#RunBothTests dnp-fourFreeObs-h : fourFreeObs.nddl : DNP2heur3.xml ;

# Runs for a while
RunEUROPATest dnp-DNP3fourFreeObs-h : DNP3.fourFreeObs.nddl : DNP3heur.xml : DNP3nobr ; #have solver xml
#RunBothTests dnp-DNP3fourFreeObs-h : DNP3.fourFreeObs.nddl : DNP3heur.xml : DNP3nobr ;

# Working
RunEUROPATest dnp-DNP3-h : DNP3.timeline.nddl : DNP3heur.xml : DNP3nobr ; #have solver xml
#RunEUROPATest dnp-DNP3-h : DNP3.timeline.nddl : DNP3heur.xml : DNP3nobr ; #have solver xml

# Runs for a while
RunEUROPATest dnp-fourFreeObsNotEmpty-h : fourFreeObs-initBufNotEmpty.nddl : DNP3heur.xml : DNP3nobr ;
#RunBothTests dnp-fourFreeObsNotEmpty-h : fourFreeObs-initBufNotEmpty.nddl : DNP3heur.xml : DNP3nobr ;

RunEUROPATest dnp-freeObs-h : freeObs.nddl : DNP3heur.xml : DNP3nobr ;
#RunBothTests dnp-freeObs-h : freeObs.nddl : DNP3heur.xml : DNP3nobr ;

RunEUROPATest dnp-freeObsNoEmpty-h : freeObs.noEmpty.nddl : DNP3heur.xml : DNP3nobr ;
#RunBothTests dnp-freeObsNoEmpty-h : freeObs.noEmpty.nddl : DNP3heur.xml : DNP3nobr ;

RunEUROPATest dnp-tenFreeObs-h : tenFreeObs.nddl : DNP3heur.xml : DNP3nobr ;
#RunBothTests dnp-tenFreeObs-h : tenFreeObs.nddl : DNP3heur.xml : DNP3nobr ;

RunEUROPATest dnp-threeFreeObs-h : threeFreeObs.nddl : DNP3heur.xml : DNP3nobr ;
#RunBothTests dnp-threeFreeObs-h : threeFreeObs.nddl : DNP3heur.xml : DNP3nobr ;

RunEUROPATest dnp-twentyFreeObs-h : twentyFreeObs.nddl : DNP3heur.xml : DNP3nobr ;
#RunBothTests dnp-twentyFreeObs-h : twentyFreeObs.nddl : DNP3heur.xml : DNP3nobr ;

# Working
RunEUROPATest dnp-twoFreeObs-h : twoFreeObs.nddl : DNP3heur.xml : DNP3nobr ;
#RunBothTests dnp-twoFreeObs-h : twoFreeObs.nddl : DNP3heur.xml : DNP3nobr ;

# LITA
# we don't have these files in system test.
#EUROPA_NDDL lita-init.nddl ;
#RunEUROPATest lita : lita-init.nddl : lita-heur.xml : lita.pi ;

#LITA - from Vijay
EUROPA_NDDL missionExec.init.e2 ; 
RunEUROPATest litaEuropa2 : missionExec.init.e2 : missionExec.heuristics.e2 : missionExec.noBranch.e2 ;

#XMONKEY - from Olga
EUROPA_NDDL xmonkey-timeline.init.nddl ;
RunEUROPATest xmonkey : xmonkey-timeline.init.nddl : deliberative.heuristics.xml : xmonkey.nobr ;

} # PLASMA_READY
