/*
* ticket-336-serial.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-336-serial - Check that vp-specific RNGs only provided for nodes with proxies
Synopsis: (ticket-336-serial) run -> NEST exits if test fails
Description:
This test ensures that GetVpRNG returns an error if called on a subnet or
device without proxies. See mpitests/ticket-336.sli for a test checking
correct vp-rng function.
Author: Hans Ekkehard Plesser, 2010-09-29, 2012-02-16
*/
/unittest (8831) require
/unittest using
/*
* do_test
*
* Expects a GID as argument.
* Returns a dictionary containing
* - GID
* - model of node
* - VP of node
* - if node is local: integer random number from VP-specific RNG
* - local number of threads
*
* Determines number of local threads, model of GID, vp of GID
* and tries to obtain the VP-specific RNG for the GID and draws
* a random number from it.
*
* The test should fail on any node that has proxies, since they have no
* well-defined VP and thus no well-defined VP-specific RNG (see r8824).
*
* When called on a node with proxies, one MPI process should report
* a "full" node and a random number, all others a proxy node and no
* random number.
*/
[ 0 /subnet /voltmeter ]
{
{
ResetKernel
LiteralQ { Create } if
GetVpRNG
} fail_or_die
} forall
endusing % unittest