summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/perl/dist/threads-shared/t/disabled.t
blob: 9134570ffa858795ad27995f79459db0e354d9d7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
use strict;
use warnings;

use Test::More tests => 27;

use threads::shared;

### Start of Testing ###

ok( !$INC{"threads.pm"}, 'make sure threads are really off' );

# Check each faked function.
foreach my $func (qw(share cond_wait cond_signal cond_broadcast)) {
    isnt( __PACKAGE__->can($func), 0, "Have $func" );

    eval qq{$func()};
    like( $@, qr/^Not enough arguments /, 'Expected error with no arguments');

    my %hash = (foo => 42, bar => 23);
    eval qq{$func(\%hash)};
    is( $@, '', 'no error' );
    is_deeply( \%hash, {foo => 42, bar => 23}, 'argument is unchanged' );
}

# These all have no return value.
foreach my $func (qw(cond_wait cond_signal cond_broadcast)) {
    my @array = qw(1 2 3 4);
    is( eval qq{$func(\@array)}, undef, "$func has no return value" );
    is_deeply( \@array, [1, 2, 3, 4], 'argument is unchanged' );
}

{
    my @array = qw(1 2 3 4);
    is_deeply( share(@array), \@array,
	'share() is supposed to return back its argument as a ref' );
    is( ref &share({}), 'HASH' );
    is_deeply( \@array, [1, 2, 3, 4], 'argument is unchanged' );
}

# lock() should be a no-op.  The return value is currently undefined.
{
    my @array = qw(1 2 3 4);
    lock(@array);
    is_deeply( \@array, [1, 2, 3, 4], 'lock() should be a no-op' );
}

exit(0);

# EOF