/* * ticket-639.sli * * This file is part of NEST. * * Copyright (C) 2004 The NEST Initiative * * NEST is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * NEST is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with NEST. If not, see <http://www.gnu.org/licenses/>. * */ /* BeginDocumentation Name: testsuite::ticket-638 - Precise models remain refractory indefinitely Synopsis: (ticket-638) run -> NEST exits if test fails Description: Ensure that precise models do not remain refractory indefinitely for t_ref==0 Author: Hans Ekkehard Plesser, 2012-12-13 */ /unittest (9726) require /unittest using M_ERROR setverbosity % model t_ref run_sim -> num spikes /run_sim { /tref Set ResetKernel << /I_e 1000. /t_ref tref >> Create /n Set /spike_detector Create /d Set n d Connect 100. Simulate d /n_events get } def % iaf_psc_alpha_presc is not affected /models [ /iaf_psc_alpha_canon /iaf_psc_delta_canon /iaf_psc_exp_ps ] def % first: consistency test---all models must produce > 1 spike { models { 2.0 run_sim 1 gt } Map true exch { and } Fold } assert_or_die % TEMPORARY MODIFICATION for NEST 2.2: ensure models throw exception % For 2.4, when fixing #638 for real, the test labeled "second" below % must be re-activated { /iaf_psc_alpha_canon << /t_ref 0.0 >> Create } fail_or_die { /iaf_psc_delta_canon << /t_ref 0.0 >> Create } fail_or_die { /iaf_psc_exp_os << /t_ref 0.0 >> Create } fail_or_die % second: with t_ref == 0, must also produce > 1 spike % %{ % models { 0.0 run_sim 1 gt } Map % true exch { and } Fold %} assert_or_die endusing