1#! /usr/bin/perl -w 2 3use strict; 4 5use ExtUtils::testlib; 6 7use GSSAPI qw(:all); 8 9my @constants_to_be_checked 10 = qw( GSS_C_ACCEPT 11 GSS_C_AF_APPLETALK 12 GSS_C_AF_BSC 13 GSS_C_AF_CCITT 14 GSS_C_AF_CHAOS 15 GSS_C_AF_DATAKIT 16 GSS_C_AF_DECnet 17 GSS_C_AF_DLI 18 GSS_C_AF_DSS 19 GSS_C_AF_ECMA 20 GSS_C_AF_HYLINK 21 GSS_C_AF_IMPLINK 22 GSS_C_AF_INET 23 GSS_C_AF_LAT 24 GSS_C_AF_LOCAL 25 GSS_C_AF_NBS 26 GSS_C_AF_NS 27 GSS_C_AF_NULLADDR 28 GSS_C_AF_OSI 29 GSS_C_AF_PUP 30 GSS_C_AF_SNA 31 GSS_C_AF_UNSPEC 32 GSS_C_AF_X25 33 GSS_C_ANON_FLAG 34 GSS_C_BOTH 35 GSS_C_CALLING_ERROR_MASK 36 GSS_C_CALLING_ERROR_OFFSET 37 GSS_C_CONF_FLAG 38 GSS_C_DELEG_FLAG 39 GSS_C_GSS_CODE 40 GSS_C_INDEFINITE 41 GSS_C_INITIATE 42 GSS_C_INTEG_FLAG 43 GSS_C_MECH_CODE 44 GSS_C_MUTUAL_FLAG 45 GSS_C_PROT_READY_FLAG 46 GSS_C_QOP_DEFAULT 47 GSS_C_REPLAY_FLAG 48 GSS_C_ROUTINE_ERROR_MASK 49 GSS_C_ROUTINE_ERROR_OFFSET 50 GSS_C_SEQUENCE_FLAG 51 GSS_C_SUPPLEMENTARY_MASK 52 GSS_C_SUPPLEMENTARY_OFFSET 53 GSS_C_TRANS_FLAG 54 GSS_S_BAD_BINDINGS 55 GSS_S_BAD_MECH 56 GSS_S_BAD_NAME 57 GSS_S_BAD_NAMETYPE 58 GSS_S_BAD_QOP 59 GSS_S_BAD_SIG 60 GSS_S_BAD_STATUS 61 GSS_S_CALL_BAD_STRUCTURE 62 GSS_S_CALL_INACCESSIBLE_READ 63 GSS_S_CALL_INACCESSIBLE_WRITE 64 GSS_S_COMPLETE 65 GSS_S_CONTEXT_EXPIRED 66 GSS_S_CONTINUE_NEEDED 67 GSS_S_CREDENTIALS_EXPIRED 68 GSS_S_DEFECTIVE_CREDENTIAL 69 GSS_S_DEFECTIVE_TOKEN 70 GSS_S_DUPLICATE_ELEMENT 71 GSS_S_DUPLICATE_TOKEN 72 GSS_S_FAILURE 73 GSS_S_GAP_TOKEN 74 GSS_S_NAME_NOT_MN 75 GSS_S_NO_CONTEXT 76 GSS_S_NO_CRED 77 GSS_S_OLD_TOKEN 78 GSS_S_UNAUTHORIZED 79 GSS_S_UNAVAILABLE 80 GSS_S_UNSEQ_TOKEN 81 ); 82 83use Test::More tests => 72; 84 85 86do_constanttest( $_ ) foreach (@constants_to_be_checked); 87 88 89SKIP: { 90 if( GSSAPI::gssapi_implementation_is_heimdal() ) { 91 skip('GSS_S_CRED_UNAVAIL not defined on Heimdal', 1); 92 } 93 do_constanttest( 'GSS_S_CRED_UNAVAIL' ); 94} 95 96 97sub do_constanttest { 98 my ( $constname ) = @_; 99 my $constvalue; 100 eval " \$constvalue = $constname"; 101 ok( ! $@, "$constname" ); 102}