Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Test2::Require::ThreadUser Contributed Perl DocumentTest2::Require::Threads(3)

NAME
       Test2::Require::Threads - Skip a	test file unless the system supports
       threading

DESCRIPTION
       It is fairly common to write tests that need to use threads. Not	all
       systems support threads.	This library does the hard work	of checking if
       threading is supported on the current system. If	threading is not
       supported then this will	skip all tests and exit	true.

SYNOPSIS
	   use Test2::Require::Threads;

	   ... Code that uses threads ...

EXPLANATION
       Checking	if the current system supports threading is not	simple,	here
       is an example of	how to do it:

	   use Config;

	   sub CAN_THREAD {
	       # Threads are not reliable before 5.008001
	       return 0	unless $] >= 5.008001;
	       return 0	unless $Config{'useithreads'};

	       # Devel::Cover currently	breaks with threads
	       return 0	if $INC{'Devel/Cover.pm'};
	       return 1;
	   }

       Duplicating this	non-trivial code in all	tests that need	to use threads
       is error-prone. It is easy to forget bits, or get it wrong. On top of
       these checks you	also need to tell the harness that no tests should run
       and why.

SEE ALSO
       Test2::Require::CanFork
	   Skip	the test file if the system does not support forking.

       Test2
	   Test2::Require::Threads uses	Test2 under the	hood.

SOURCE
       The source code repository for Test2-Suite can be found at
       https://github.com/Test-More/Test2-Suite/.

MAINTAINERS
       Chad Granum <exodist@cpan.org>

AUTHORS
       Chad Granum <exodist@cpan.org>

COPYRIGHT
       Copyright 2018 Chad Granum <exodist@cpan.org>.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

       See http://dev.perl.org/licenses/

perl v5.32.0			  2020-08-17	    Test2::Require::Threads(3)

NAME | DESCRIPTION | SYNOPSIS | EXPLANATION | SEE ALSO | SOURCE | MAINTAINERS | AUTHORS | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Test2::Require::Threads&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help