Add tests for the use of subgroups without holding explicit references to them (e.g. `SpikeMonitor(G[3200:])`).
Instead of the tracking mechanism, use all the `BrianObject`s in the namespace surrounding the run call for the magic mechanism.
Use strong references for source/target in monitors and `Synapses` to allow the use of subgroup without holding an explicit reference to the subgroup
Don't use lambda functions for testing the magic run function -- the access to the stack seems to be different in Python3.
Replace a cyclical reference from `SynapticPathway` to `Synapses` with a weak reference
Move `gc.collect()` from `MagicNetwork.run` to `Network.run` -- it is useful for repeated simulation with explicitly constructed `Network` objects as well.
Add some very basic tests of lines previously non-covered by the test suite
Show a better error message when using string expressions in `VariableView` for a no longer existing group
Introduce `collect`, useful for checking what objects a magic network will simulate.
Turn the message about the simulated objects in a network into an "info" (instead of "debug") message -- this makes it easier to switch on this information without getting flooded with all the debug messages.
Make sure that the values in `TimedArray` are always stored as double values (this is what the C code assumes).
Fix some tests to correctly run under weave on Win32
Store/restore preferences when running the test suite
Remove `-ffast-math` from the default preferences