TEST = ../../../rtest -v

TESTFILES = \
Modelica.Fluid.Examples.AST_BatchPlant.BaseClasses.Controller.mos \
Modelica.Fluid.Examples.AST_BatchPlant.BaseClasses.InnerTank.mos \
Modelica.Fluid.Examples.AST_BatchPlant.BaseClasses.setReal.mos \
Modelica.Fluid.Examples.AST_BatchPlant.BaseClasses.TankWith3InletOutletArraysWithEvaporatorCondensor.mos \
Modelica.Fluid.Examples.AST_BatchPlant.BaseClasses.TankWithTopPorts.mos \
Modelica.Fluid.Examples.AST_BatchPlant.BaseClasses.TriggeredTrapezoid.mos \
Modelica.Fluid.Examples.ControlledTankSystem.ControlledTanks.mos \
Modelica.Fluid.Examples.ControlledTankSystem.Utilities.NormalOperation.mos \
Modelica.Fluid.Examples.ControlledTankSystem.Utilities.RadioButton.mos \
Modelica.Fluid.Examples.ControlledTankSystem.Utilities.TankController.mos \
Modelica.Fluid.Examples.DrumBoiler.BaseClasses.EquilibriumDrumBoiler.mos \
Modelica.Fluid.Examples.DrumBoiler.DrumBoiler.mos \
Modelica.Fluid.Examples.Explanatory.MeasuringTemperature.mos \
Modelica.Fluid.Examples.HeatExchanger.BaseClasses.WallConstProps.mos \
Modelica.Fluid.Examples.HeatingSystem.mos \
Modelica.Fluid.Fittings.MultiPort.mos \
Modelica.Fluid.Fittings.TeeJunctionIdeal.mos \
Modelica.Fluid.Pipes.BaseClasses.FlowModels.DetailedPipeFlow.mos \
Modelica.Fluid.Pipes.BaseClasses.FlowModels.NominalLaminarFlow.mos \
Modelica.Fluid.Pipes.BaseClasses.FlowModels.NominalTurbulentPipeFlow.mos \
Modelica.Fluid.Pipes.BaseClasses.FlowModels.TurbulentPipeFlow.mos \
Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.ConstantFlowHeatTransfer.mos \
Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.IdealFlowHeatTransfer.mos \
Modelica.Fluid.Pipes.BaseClasses.HeatTransfer.LocalPipeFlowHeatTransfer.mos \
Modelica.Fluid.Pipes.BaseClasses.WallFriction.TestWallFrictionAndGravity.mos \
Modelica.Fluid.Pipes.StaticPipe.mos \
Modelica.Fluid.Sensors.Density.mos \
Modelica.Fluid.Sensors.DensityTwoPort.mos \
Modelica.Fluid.Sensors.Pressure.mos \
Modelica.Fluid.Sensors.MassFlowRate.mos \
Modelica.Fluid.Sensors.RelativePressure.mos \
Modelica.Fluid.Sensors.RelativeTemperature.mos \
Modelica.Fluid.Sensors.SpecificEnthalpy.mos \
Modelica.Fluid.Sensors.SpecificEnthalpyTwoPort.mos \
Modelica.Fluid.Sensors.SpecificEntropy.mos \
Modelica.Fluid.Sensors.SpecificEntropyTwoPort.mos \
Modelica.Fluid.Sensors.Temperature.mos \
Modelica.Fluid.Sensors.TemperatureTwoPort.mos \
Modelica.Fluid.Sensors.TraceSubstances.mos \
Modelica.Fluid.Sensors.TraceSubstancesTwoPort.mos \
Modelica.Fluid.Sensors.VolumeFlowRate.mos \
Modelica.Fluid.System.mos \
Modelica.Fluid.Vessels.BaseClasses.HeatTransfer.ConstantHeatTransfer.mos \
Modelica.Fluid.Vessels.BaseClasses.HeatTransfer.IdealHeatTransfer.mos \
Modelica.Fluid.Valves.ValveVaporizing.mos \
Modelica.Fluid.Valves.ValveCompressible.mos \

# test that currently fail. Move up when fixed. 
# Run make testfailing
FAILINGTESTFILES= \
Modelica.Fluid.Examples.AST_BatchPlant.BatchPlant_StandardWater.mos \
Modelica.Fluid.Examples.AST_BatchPlant.Test.OneTank.mos \
Modelica.Fluid.Examples.AST_BatchPlant.Test.TanksWithEmptyingPipe1.mos \
Modelica.Fluid.Examples.AST_BatchPlant.Test.TanksWithEmptyingPipe2.mos \
Modelica.Fluid.Examples.AST_BatchPlant.Test.TankWithEmptyingPipe1.mos \
Modelica.Fluid.Examples.AST_BatchPlant.Test.TankWithEmptyingPipe2.mos \
Modelica.Fluid.Examples.AST_BatchPlant.Test.TwoTanks.mos \
Modelica.Fluid.Examples.BranchingDynamicPipes.mos \
Modelica.Fluid.Examples.Explanatory.MomentumBalanceFittings.mos \
Modelica.Fluid.Examples.HeatExchanger.BaseClasses.BasicHX.mos \
Modelica.Fluid.Examples.HeatExchanger.HeatExchangerSimulation.mos \
Modelica.Fluid.Examples.IncompressibleFluidNetwork.mos \
Modelica.Fluid.Examples.InverseParameterization.mos \
Modelica.Fluid.Examples.PumpingSystem.mos \
Modelica.Fluid.Examples.Tanks.EmptyTanks.mos \
Modelica.Fluid.Examples.Tanks.TanksWithOverflow.mos \
Modelica.Fluid.Examples.Tanks.ThreeTanks.mos \
Modelica.Fluid.Examples.TraceSubstances.RoomCO2.mos \
Modelica.Fluid.Examples.TraceSubstances.RoomCO2WithControls.mos \
Modelica.Fluid.Fittings.AbruptAdaptor.mos \
Modelica.Fluid.Fittings.BaseClasses.QuadraticTurbulent.TestWallFriction.mos \
Modelica.Fluid.Fittings.SharpEdgedOrifice.mos \
Modelica.Fluid.Fittings.SimpleGenericOrifice.mos \
Modelica.Fluid.Fittings.TeeJunctionVolume.mos \
Modelica.Fluid.Machines.ControlledPump.mos \
Modelica.Fluid.Machines.PrescribedPump.mos \
Modelica.Fluid.Machines.Pump.mos \
Modelica.Fluid.Machines.SweptVolume.mos \
Modelica.Fluid.Pipes.DynamicPipe.mos \
Modelica.Fluid.Sources.Boundary_ph.mos \
Modelica.Fluid.Sources.Boundary_pT.mos \
Modelica.Fluid.Sources.FixedBoundary.mos \
Modelica.Fluid.Sources.MassFlowSource_h.mos \
Modelica.Fluid.Sources.MassFlowSource_T.mos \
Modelica.Fluid.Vessels.ClosedVolume.mos



# Dependency files that are not .mo .mos or Makefile
# Add them here or they will be cleaned.
DEPENDENCIES = \
*.mo \
*.mos \
Makefile 


CLEAN = `ls | grep -w -v -f deps.tmp`

.PHONY : test clean getdeps failingtest

test:
	@echo
	@echo Running tests...
	@echo
	@echo OPENMODELICAHOME=" $(OPENMODELICAHOME) "
	@$(TEST) $(TESTFILES) 
	
# Cleans all files that are not listed as dependencies 
clean :
	@echo $(DEPENDENCIES) | sed 's/ /\\|/g' > deps.tmp
	@rm -f $(CLEAN)

# Run this if you want to list out the files (dependencies).
# do it after cleaning and updating the folder
# then you can get a list of file names (which must be dependencies
# since you got them from repository + your own new files)
# then add them to the DEPENDENCIES. You can find the 
# list in deps.txt
getdeps: 
	@echo $(DEPENDENCIES) | sed 's/ /\\|/g' > deps.tmp
	@echo $(CLEAN) | sed -r 's/deps.txt|deps.tmp//g' | sed 's/ / \\\n/g' > deps.txt	
	@echo Dependency list saved in deps.txt.
	@echo Copy the list from deps.txt and add it to the Makefile @DEPENDENCIES
	
failingtest :
	@echo
	@echo Running failing tests...
	@echo
	@$(TEST) $(FAILINGTESTFILES) 
