anchor.diff:  oscmd(Cmd) ->
     string:strip(os:cmd(Cmd), right, $\n).
   
  +
  +print_system_info([]) ->
  +    do_print_system_info("System Info");
  +print_system_info(Prefix) when is_list(Prefix) ->
  +    NewPrefix = lists:flatten(io_lib:format("~s: System Info", [Prefix])), 
  +    do_print_system_info(NewPrefix).
  +
  +do_print_system_info(Prefix) ->
  +    tsp("~s => "
  +	"~n"
  +	"~n   OS Type:            ~p"
  +	"~n   OS version:         ~p"
  +	"~n   Sys Arch:           ~p"
  +	"~n   CPU Topology:       ~p"
  +	"~n   Num logical procs:  ~p"
  +	"~n   SMP support:        ~p"
  +	"~n   Num schedulers:     ~p"
  +	"~n   Scheduler bindings: ~p"
  +	"~n   Wordsize:           ~p"
  +	"~n~n", [Prefix, 
  +		 os:type(), os:version(), 
  +		 erlang:system_info(system_architecture),
  +		 erlang:system_info(cpu_topology),
  +		 erlang:system_info(logical_processors),
  +		 erlang:system_info(smp_support),
  +		 erlang:system_info(schedulers),
  +		 erlang:system_info(scheduler_bindings),
  +		 erlang:system_info(wordsize)]),
  +    ok.
  +    
  +    
  +run_on_windows(Fun) ->
  +    run_on_os(windows, Fun).
  +
  +run_on_os(windows, Fun) ->
  +    case os:type() of
  +	{win32, _} ->
  +	    Fun();
  +	_ ->
  +	    ok
  +    end.
  +	    
  +    
   %% -- Misc node operation wrapper functions --
   
   start_node(Name) ->
  
positive.code: 
  %% -- Misc os command and stuff
  
  has_ipv6_support(Config) ->
      case lists:keysearch(ipv6_hosts, 1, Config) of
  	false ->
  	    %% Do a basic check to se if 
  	    %% our own host has a working IPv6 address...
  	    tsp("has_ipv6_support -> no ipv6_hosts config"),
  	    {ok, Hostname} = inet:gethostname(),
  	    case inet:getaddrs(Hostname, inet6) of
  		{ok, [Addr|_]} when is_tuple(Addr) andalso 
  				    (element(1, Addr) =/= 0) ->
  		    %% We actually need to test that the addr can be used, 
  		    %% this is done by attempting to create a (tcp) 
  		    %% listen socket
  		    tsp("has_ipv6_support -> check Addr: ~p", [Addr]),
  		    case (catch gen_tcp:listen(0, [inet6, {ip, Addr}])) of
  			{ok, LSock} ->
  			    tsp("has_ipv6_support -> we are ipv6 host"),
  			    gen_tcp:close(LSock),
  			    {ok, Addr};
  			_ ->
  			    undefined
  		    end;
  		_ ->
  		    undefined
  	    end;
  	{value, {_, Hosts}} when is_list(Hosts) ->
  	    %% Check if our host is in the list of *known* IPv6 hosts
  	    tsp("has_ipv6_support -> Hosts: ~p", [Hosts]),
  
negative.code: -export([tsp/1, tsp/2, tsf/1]).
  -export([check_body/1]).
  -export([millis/0, millis_diff/2, hours/1, minutes/1, seconds/1, sleep/1]).
  -export([oscmd/1, has_ipv6_support/0, has_ipv6_support/1, print_system_info/1]).
  -export([run_on_os/2, run_on_windows/1]).
  -export([ensure_started/1]).
  -export([non_pc_tc_maybe_skip/4, os_based_skip/1, skip/3, fail/3]).
  -export([flush/0]).
  