/* * ticket-464.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-464 - Ensure that UniversalDataLogger triggers assertion with frozen multimeter. Synopsis: (ticket-464) run -> NEST exits if test fails Description: Ensure that NEST triggers an assertion in UniversalDataLogger::record_data() instead of seg faulting when a frozen multimeter is connected to a node. Note: This test has been modified (2011-02-11) to reflect the fact that NEST now protects multimeter against being frozen. Thus, the first test triggers an error instead of and assertion, and crash_or_die has been replaced by fail_or_die. This test will only be executed if NEST has been compiled without MPI support. Author: Hans Ekkehard Plesser, 2010-10-04 */ % preparatory work for proper test code in case NEST is complied with MPI support % For now we just ignore this test, this will later be replaced % by a restart of NEST with a serial binary. statusdict/is_mpi :: {statusdict/exitcodes/success :: quit_i} if /unittest (8831) require /unittest using M_ERROR setverbosity % crash_or_die needs explicit code, cannot handle function names. % multimeter frozen, should trigger assertion { ResetKernel /multimeter << /record_from [/V_m] >> Create dup << /frozen true >> SetStatus /iaf_psc_alpha Create Connect 3.0 Simulate } fail_or_die % was crash_or_die % multimeter thawed, should run fine { ResetKernel /multimeter << /record_from [/V_m] >> Create dup << /frozen false >> SetStatus /iaf_psc_alpha Create Connect 3.0 Simulate } pass_or_die endusing