# List of tests in the Py-ChemShell test suite
# ============================================
# 
# Notes:
#
#  - Tests not in this list are ignored, so can be safely kept as
#    works-in-progress, etc.
#
#  - Similarly, if for any reason a test should be skipped on a particular
#    platform, it can be commented out of this list.
#
#  - The order of tests in the list is respected by the testing framework.
#    As a general rule, simpler tests should come first.
# 
#  - Subsets of tests can be run based on folder names
#    e.g. "qmmm" will run all tests in the qmmm folder,
#         "mndo-gulp" will run all tests involving MNDO & GULP,
#         "qmmm/mndo-gulp" will run only MNDO+GULP tests in the qmmm folder.
#
# TWK 12/7/2023
#

# Fragment Object
fragment:
connect_ethane.py
connect_urea.py
connect_quartz.py
connect_mgo.py
connect_mgo_shells.py
connect_options.py
connect_none.py
connect_sod1.py
connect_p450.py
connect_mgo_cluster.py
save_dcd_alanine.py
save_json_ethane.py
save_json_mgo.py
save_json_mgo_shells.py
save_punch_ethane.py
save_punch_mgo.py
save_punch_mgo_shells.py
bind_p450_no.py

# Cluster cutting
cluster:
bulk_coordination_scaled_cart.py
bulk_coordination_scaled_frac.py
bulk_molecular.py
bulk_valence_matrix.py
bulk_partition_implicit.py
bulk_partition_explicit.py
surface_coordination_scaled.py
surface_partition_implicit.py
surface_partition_explicit.py

# QM PACKAGES SUPPORTING DIRECT LINKING

# NWChem interface
nwchem:
h2o_energy_hf.py
h2o_energy_blyp.py
h2o_energy_blyp-d3orig.py
h2o_energy_blyp-d3bj.py
no2_energy_uhf.py
h2o_energy_tdblyp.py
h2o_energy_tdublyp.py
no2_energy_rohf.py
no2p_energy_hf.py
no2_energy_ublyp.py
no2_energy_roblyp.py
no2_energy_tdublyp.py
no2p_energy_blyp.py
h2o_opt_hf.py
h2o_opt_blyp.py
h2o_opt_blyp-d3orig.py
h2o_opt_blyp-d3bj.py
no2_opt_uhf.py
no2_opt_rohf.py
no2p_opt_hf.py
no2_opt_ublyp.py
no2_opt_roblyp.py
no2p_opt_blyp.py

# GAMESS-UK interface
gamess_uk:
h2o_energy_hf.py
h2o_energy_blyp.py
no2_energy_uhf.py
no2_energy_rohf.py
no2p_energy_hf.py
no2_energy_ublyp.py
no2p_energy_blyp.py
h2o_opt_hf.py
h2o_opt_blyp.py
no2_opt_uhf.py
no2_opt_rohf.py
no2p_opt_hf.py
no2_opt_ublyp.py
no2p_opt_blyp.py

# LSDalton interface
lsdalton:
energy_hf.py
energy_blyp.py
opt_hf.py
opt_blyp.py

# FHI-aims interface
fhi-aims:
h2o_energy_pbe.py
h2o_opt_pbe.py

# CP2K interface
cp2k:
energy_carbon.py
Si_sp_energy.py
water_sp_energy.py
butanol_sp.py
Si2_opt.py

# CASTEP interface
castep:
Si_sp_energy.py
water_sp_energy.py
Si2-lbfgs.py
water_opt_lda.py

# QM PACKAGES NOT SUPPORTING DIRECT LINKING

# ORCA interface
orca:
h2o_energy_hf.py
h2o_energy_blyp.py
h2o_energy_blyp_standard_input.py
h2o_energy_blyp-d3orig.py
h2o_energy_blyp-d3bj.py
h2o_energy_cam-b3lyp.py
h2o_energy_ri-b3lyp.py
h2o_energy_ri-b3lyp_freetext.py
h2o_energy_ri-mp2.py
h2o_energy_ri-mp2_freetext.py
h2o_energy_s-cam-b3lyp.py
no2_energy_uhf.py
no2_energy_rohf.py
no2p_energy_hf.py
no2_energy_ublyp.py
no2_energy_roblyp.py
no2p_energy_blyp.py
h2o_opt_hf.py
h2o_opt_blyp.py
h2o_opt_blyp-d3orig.py
h2o_opt_blyp-d3bj.py
h2o_opt_ri-mp2.py
no2_opt_uhf.py
no2p_opt_hf.py
no2_opt_ublyp.py
no2p_opt_blyp.py

# TURBOMOLE interface
turbomole:
h2o_energy_hf.py
h2o_energy_blyp.py
no2_energy_uhf.py
no2p_energy_hf.py
no2_energy_ublyp.py
no2p_energy_blyp.py
h2o_opt_hf.py
h2o_opt_blyp.py
no2_opt_uhf.py
no2p_opt_hf.py
no2_opt_ublyp.py
no2p_opt_blyp.py
h2o_energy_blyp_ri.py
h2o_opt_blyp_ri.py
no2_energy_ublyp_ri.py
no2_opt_ublyp_ri.py
no2p_energy_blyp_ri.py
no2p_opt_blyp_ri.py
h2o_energy_hf_usr_control.py
h2o_opt_hf_usr_control.py
h2o_energy_blyp_mixed_basis.py

# Molpro interface
molpro:
h2o_energy_hf.py
h2o_energy_blyp.py
no2_energy_uhf.py
no2_energy_rohf.py
no2p_energy_hf.py
no2_energy_ublyp.py
no2_energy_roblyp.py
no2p_energy_blyp.py
h2o_opt_hf.py
h2o_opt_blyp.py
no2_opt_uhf.py
no2_opt_rohf.py
no2p_opt_hf.py
no2_opt_ublyp.py
no2_opt_roblyp.py
no2p_opt_blyp.py

# Gaussian interface
gaussian:
h2o_energy_hf.py
h2o_energy_blyp.py
h2o_energy_tdhf.py
h2o_energy_tdblyp.py
no2_energy_uhf.py
no2_energy_rohf.py
no2p_energy_hf.py
no2_energy_ublyp.py
no2_energy_roblyp.py
no2p_energy_blyp.py
h2o_opt_hf.py
h2o_opt_blyp.py
no2_opt_uhf.py
no2_opt_rohf.py
no2p_opt_hf.py
no2_opt_ublyp.py
no2_opt_roblyp.py
no2p_opt_blyp.py

# PySCF interface
pyscf:
h2o_energy_hf.py
h2o_energy_blyp.py
no2_energy_uhf.py
no2_energy_rohf.py
no2p_energy_hf.py
no2_energy_ublyp.py
no2_energy_roblyp.py
no2p_energy_blyp.py
h2o_opt_hf.py
h2o_opt_blyp.py
no2_opt_uhf.py
no2p_opt_hf.py
no2_opt_ublyp.py
no2p_opt_blyp.py
test_electrostatic_embedding_gradients.py

# SEMI-EMPIRICAL QM PACKAGES

# MNDO interface
mndo:
h2o_energy_mndo.py
h2o_energy_am1.py
no2_energy_uam1.py
no2_energy_roam1.py
no2p_energy_am1.py
h2o_opt_mndo.py
h2o_opt_am1.py
no2_opt_uam1.py
no2_opt_roam1.py
no2p_opt_am1.py

# DFTB+ interface
dftbplus:
energy_scc.py
energy_scc_3ob.py
CNT_sp.py
opt_scc.py
h2o_dimer_d3.py
h2o_dimer_mbd.py

# MM PACKAGES

# DL_POLY interface
dl_poly:
h2o_dimer.py
h2o_dimer_opt.py
butanol.py
butanol_opt.py
water_atom_cutoff.py

# GULP interface
gulp:
mgo_rigid.py
mgo_rigid_opt.py
mgo_shells.py
mgo_shells_opt.py
mgo_shells_bush.py
h2o_dimer.py
h2o_dimer_opt.py
h2o_dimer_shells.py
h2o_dimer_shells_opt.py
butanol.py
butanol_opt.py

# NAMD interface
namd:
ubq_sphere.py

# QM/MM INTERFACE

qmmm/nwchem-gulp:
h2o_dimer_mech.py
h2o_dimer_mech_opt.py
h2o_dimer_elec.py
h2o_dimer_elec_mmchg.py
h2o_dimer_elec_mmchgfrac.py
h2o_dimer_elec_opt.py
h2o_dimer_shells.py
h2o_dimer_shells_opt.py
butanol_mech.py
butanol_mech_opt.py
butanol_shift.py
butanol_shift_opt.py
mgo25_shells_sepecp.py
mgo25_shells_sepecp_opt.py

qmmm/gamess_uk-gulp:
h2o_dimer_mech.py
h2o_dimer_mech_opt.py
h2o_dimer_elec.py
h2o_dimer_elec_mmchg.py
h2o_dimer_elec_mmchgfrac.py
h2o_dimer_elec_opt.py
h2o_dimer_shells.py
h2o_dimer_shells_opt.py
butanol_mech.py
butanol_mech_opt.py
butanol_shift.py
butanol_shift_opt.py
mgo25_shells_implicit.py
mgo25_shells_implicit_opt.py
mgo25_shells_explicit.py
mgo25_shells_explicit_opt.py
mgo25_shells_sepecp.py
mgo25_shells_sepecp_opt.py

qmmm/lsdalton-gulp:
h2o_dimer_mech.py
h2o_dimer_mech_opt.py
h2o_dimer_elec.py
h2o_dimer_elec_mmchg.py
h2o_dimer_elec_mmchgfrac.py
h2o_dimer_elec_opt.py
h2o_dimer_shells.py
h2o_dimer_shells_opt.py
butanol_mech.py
butanol_mech_opt.py
butanol_shift.py
butanol_shift_opt.py

qmmm/fhiaims-gulp:
h2o_dimer_mech.py
h2o_dimer_mech_opt.py
h2o_dimer_elec.py
h2o_dimer_elec_opt.py
h2o_dimer_shells.py
h2o_dimer_shells_opt.py

qmmm/orca-gulp:
h2o_dimer_mech.py
h2o_dimer_mech_opt.py
h2o_dimer_elec.py
h2o_dimer_elec_mmchg.py
h2o_dimer_elec_mmchgfrac.py
h2o_dimer_elec_opt.py
h2o_dimer_shells.py
h2o_dimer_shells_opt.py
butanol_mech.py
butanol_mech_opt.py
butanol_shift.py
butanol_shift_standard_input.py
butanol_shift_opt.py

qmmm/turbomole-gulp:
h2o_dimer_mech.py
h2o_dimer_mech_opt.py
h2o_dimer_elec.py
h2o_dimer_elec_mmchg.py
h2o_dimer_elec_mmchgfrac.py
h2o_dimer_elec_opt.py
h2o_dimer_shells.py
h2o_dimer_shells_opt.py
butanol_mech.py
butanol_mech_opt.py
butanol_shift.py
butanol_shift_opt.py

qmmm/molpro-gulp:
h2o_dimer_mech.py
h2o_dimer_mech_opt.py
h2o_dimer_elec.py
h2o_dimer_elec_mmchg.py
h2o_dimer_elec_mmchgfrac.py
h2o_dimer_elec_opt.py
h2o_dimer_shells.py
h2o_dimer_shells_opt.py
butanol_mech.py
butanol_mech_opt.py
butanol_shift.py
butanol_shift_opt.py

qmmm/mndo-gulp:
h2o_dimer_mech.py
h2o_dimer_mech_opt.py
h2o_dimer_elec.py
h2o_dimer_elec_mmchg.py
h2o_dimer_elec_mmchgfrac.py
h2o_dimer_elec_opt.py
butanol_mech.py
butanol_mech_opt.py
butanol_shift.py
butanol_shift_opt.py

qmmm/mndo-dl_poly: 
chorismate_mutase.py

qmmm/dftbplus-gulp:
h2o_dimer_mech.py
h2o_dimer_mech_opt.py
h2o_dimer_elec.py
h2o_dimer_elec_mmchg.py
h2o_dimer_elec_mmchgfrac.py
h2o_dimer_elec_opt.py
h2o_dimer_shells.py
h2o_dimer_shells_opt.py
butanol_mech.py
butanol_mech_opt.py
butanol_shift.py
butanol_shift_opt.py

qmmm/pyscf-gulp:
butanol_mech.py
butanol_mech_opt.py
h2o_dimer_elec.py
h2o_dimer_elec_blyp.py
h2o_dimer_elec_mmchg.py
h2o_dimer_elec_mmchgfrac.py
h2o_dimer_elec_opt.py
h2o_dimer_elec_opt_blyp.py
h2o_dimer_mech.py
h2o_dimer_mech_opt.py
butanol_shift.py
butanol_shift_opt.py
h2o_dimer_shells.py
h2o_dimer_shells_opt.py

# SUBTRACTIVE EMBEDDING SCHEME

subtractive/orca:
butanol_mech.py
butanol_mech_opt.py
h2o_dimer_energy.py
h2o_dimer_opt.py
butanol_3layer_finite_difference.py

subtractive/gaussian:
butanol_mech.py

subtractive/orca-gulp:
h2o_dimer_subtractive_mm_orca.py
butanol_mech.py

# DL-FIND
dl_find/mndo:
c4h6_min_lbfgs_cartesians.py
c4h6_min_cartesians_constraints.py
c4h6_min_dlc_constraints.py
c4h6_ts_prfo_cartesians.py
c4h6_ts_prfo_dlc.py
c4h6_ts_prfo_hdlc.py
c4h6_ts_dimer_cartesians.py
c4h6_ts_dimer_dlc.py
c4h6_ts_dimer_hdlc.py
c2h2_ts_neb_cartesians.py
ch3o_ts_neb_cartesians.py
ch3o_ts_neb_dlc.py
ch3o_ts_neb_hdlc.py

dl_find/dftbplus:
c4h6_min_lbfgs_cartesians.py
c4h6_min_cartesians_constraints.py
c4h6_min_dlc_constraints.py
c4h6_ts_prfo_cartesians.py
c4h6_ts_prfo_dlc.py
c4h6_ts_prfo_hdlc.py
c4h6_ts_dimer_cartesians.py
c4h6_ts_dimer_dlc.py
c4h6_ts_dimer_hdlc.py
c2h2_ts_neb_cartesians.py
ch3o_ts_neb_cartesians.py
ch3o_ts_neb_dlc.py
ch3o_ts_neb_hdlc.py

# CHARGE FITTING
charges/gamess_uk:
h2o_esp_no_bq.py
h2o_resp_no_bq.py
h2o_esp_with_bq.py
h2o_resp_with_bq.py
