diff options
Diffstat (limited to 'xt')
-rw-r--r-- | xt/author/authority.t | 15 | ||||
-rw-r--r-- | xt/author/debugger-duck_type.t | 17 | ||||
-rw-r--r-- | xt/author/eol.t | 969 | ||||
-rw-r--r-- | xt/author/memory_leaks.t | 239 | ||||
-rw-r--r-- | xt/author/no-tabs.t | 969 | ||||
-rw-r--r-- | xt/author/pod-coverage.t | 233 | ||||
-rw-r--r-- | xt/author/pod-spell.t | 382 | ||||
-rw-r--r-- | xt/author/test-my-dependents.t | 808 | ||||
-rw-r--r-- | xt/release/00-compile.t | 449 | ||||
-rw-r--r-- | xt/release/cpan-changes.t | 11 | ||||
-rw-r--r-- | xt/release/distmeta.t | 6 | ||||
-rw-r--r-- | xt/release/kwalitee.t | 9 | ||||
-rw-r--r-- | xt/release/mojibake.t | 12 | ||||
-rw-r--r-- | xt/release/pod-syntax.t | 6 |
14 files changed, 4125 insertions, 0 deletions
diff --git a/xt/author/authority.t b/xt/author/authority.t new file mode 100644 index 0000000..5cf61f7 --- /dev/null +++ b/xt/author/authority.t @@ -0,0 +1,15 @@ +use strict; +use warnings; + +use Test::More; +BEGIN { + plan skip_all => 'this test requires a built dist' + unless -f 'MANIFEST' && -f 'META.json'; +} + +use Moose (); + +# this is used in Moo::sification +ok(defined $Moose::AUTHORITY, '$AUTHORITY is set in the main module'); + +done_testing; diff --git a/xt/author/debugger-duck_type.t b/xt/author/debugger-duck_type.t new file mode 100644 index 0000000..76e3ee9 --- /dev/null +++ b/xt/author/debugger-duck_type.t @@ -0,0 +1,17 @@ + +use FindBin qw/ $Bin /; + +BEGIN { +#line 1 +#!/usr/bin/perl -d + + push @DB::typeahead, "c", "q"; + + # try to shut it up at least a little bit + open my $out, ">", \my $out_buf; + $DB::OUT = $out; + open my $in, "<", \my $in_buf; + $DB::IN = $in; +} + +require "$Bin/../../t/type_constraints/duck_types.t"; diff --git a/xt/author/eol.t b/xt/author/eol.t new file mode 100644 index 0000000..58dcd18 --- /dev/null +++ b/xt/author/eol.t @@ -0,0 +1,969 @@ +use strict; +use warnings; + +# this test was generated with Dist::Zilla::Plugin::Test::EOL 0.18 + +use Test::More 0.88; +use Test::EOL; + +my @files = ( + 'bin/moose-outdated', + 'lib/Class/MOP.pm', + 'lib/Class/MOP/Attribute.pm', + 'lib/Class/MOP/Class.pm', + 'lib/Class/MOP/Class/Immutable/Trait.pm', + 'lib/Class/MOP/Deprecated.pm', + 'lib/Class/MOP/Instance.pm', + 'lib/Class/MOP/Method.pm', + 'lib/Class/MOP/Method/Accessor.pm', + 'lib/Class/MOP/Method/Constructor.pm', + 'lib/Class/MOP/Method/Generated.pm', + 'lib/Class/MOP/Method/Inlined.pm', + 'lib/Class/MOP/Method/Meta.pm', + 'lib/Class/MOP/Method/Wrapped.pm', + 'lib/Class/MOP/MiniTrait.pm', + 'lib/Class/MOP/Mixin.pm', + 'lib/Class/MOP/Mixin/AttributeCore.pm', + 'lib/Class/MOP/Mixin/HasAttributes.pm', + 'lib/Class/MOP/Mixin/HasMethods.pm', + 'lib/Class/MOP/Mixin/HasOverloads.pm', + 'lib/Class/MOP/Module.pm', + 'lib/Class/MOP/Object.pm', + 'lib/Class/MOP/Overload.pm', + 'lib/Class/MOP/Package.pm', + 'lib/Moose.pm', + 'lib/Moose/Conflicts.pm', + 'lib/Moose/Cookbook.pod', + 'lib/Moose/Cookbook/Basics/BankAccount_MethodModifiersAndSubclassing.pod', + 'lib/Moose/Cookbook/Basics/BinaryTree_AttributeFeatures.pod', + 'lib/Moose/Cookbook/Basics/BinaryTree_BuilderAndLazyBuild.pod', + 'lib/Moose/Cookbook/Basics/Company_Subtypes.pod', + 'lib/Moose/Cookbook/Basics/DateTime_ExtendingNonMooseParent.pod', + 'lib/Moose/Cookbook/Basics/Document_AugmentAndInner.pod', + 'lib/Moose/Cookbook/Basics/Genome_OverloadingSubtypesAndCoercion.pod', + 'lib/Moose/Cookbook/Basics/HTTP_SubtypesAndCoercion.pod', + 'lib/Moose/Cookbook/Basics/Immutable.pod', + 'lib/Moose/Cookbook/Basics/Person_BUILDARGSAndBUILD.pod', + 'lib/Moose/Cookbook/Basics/Point_AttributesAndSubclassing.pod', + 'lib/Moose/Cookbook/Extending/Debugging_BaseClassRole.pod', + 'lib/Moose/Cookbook/Extending/ExtensionOverview.pod', + 'lib/Moose/Cookbook/Extending/Mooseish_MooseSugar.pod', + 'lib/Moose/Cookbook/Legacy/Debugging_BaseClassReplacement.pod', + 'lib/Moose/Cookbook/Legacy/Labeled_AttributeMetaclass.pod', + 'lib/Moose/Cookbook/Legacy/Table_ClassMetaclass.pod', + 'lib/Moose/Cookbook/Meta/GlobRef_InstanceMetaclass.pod', + 'lib/Moose/Cookbook/Meta/Labeled_AttributeTrait.pod', + 'lib/Moose/Cookbook/Meta/PrivateOrPublic_MethodMetaclass.pod', + 'lib/Moose/Cookbook/Meta/Table_MetaclassTrait.pod', + 'lib/Moose/Cookbook/Meta/WhyMeta.pod', + 'lib/Moose/Cookbook/Roles/ApplicationToInstance.pod', + 'lib/Moose/Cookbook/Roles/Comparable_CodeReuse.pod', + 'lib/Moose/Cookbook/Roles/Restartable_AdvancedComposition.pod', + 'lib/Moose/Cookbook/Snack/Keywords.pod', + 'lib/Moose/Cookbook/Snack/Types.pod', + 'lib/Moose/Cookbook/Style.pod', + 'lib/Moose/Deprecated.pm', + 'lib/Moose/Exception.pm', + 'lib/Moose/Exception/AccessorMustReadWrite.pm', + 'lib/Moose/Exception/AddParameterizableTypeTakesParameterizableType.pm', + 'lib/Moose/Exception/AddRoleTakesAMooseMetaRoleInstance.pm', + 'lib/Moose/Exception/AddRoleToARoleTakesAMooseMetaRole.pm', + 'lib/Moose/Exception/ApplyTakesABlessedInstance.pm', + 'lib/Moose/Exception/AttachToClassNeedsAClassMOPClassInstanceOrASubclass.pm', + 'lib/Moose/Exception/AttributeConflictInRoles.pm', + 'lib/Moose/Exception/AttributeConflictInSummation.pm', + 'lib/Moose/Exception/AttributeExtensionIsNotSupportedInRoles.pm', + 'lib/Moose/Exception/AttributeIsRequired.pm', + 'lib/Moose/Exception/AttributeMustBeAnClassMOPMixinAttributeCoreOrSubclass.pm', + 'lib/Moose/Exception/AttributeNamesDoNotMatch.pm', + 'lib/Moose/Exception/AttributeValueIsNotAnObject.pm', + 'lib/Moose/Exception/AttributeValueIsNotDefined.pm', + 'lib/Moose/Exception/AutoDeRefNeedsArrayRefOrHashRef.pm', + 'lib/Moose/Exception/BadOptionFormat.pm', + 'lib/Moose/Exception/BothBuilderAndDefaultAreNotAllowed.pm', + 'lib/Moose/Exception/BuilderDoesNotExist.pm', + 'lib/Moose/Exception/BuilderMethodNotSupportedForAttribute.pm', + 'lib/Moose/Exception/BuilderMethodNotSupportedForInlineAttribute.pm', + 'lib/Moose/Exception/BuilderMustBeAMethodName.pm', + 'lib/Moose/Exception/CallingMethodOnAnImmutableInstance.pm', + 'lib/Moose/Exception/CallingReadOnlyMethodOnAnImmutableInstance.pm', + 'lib/Moose/Exception/CanExtendOnlyClasses.pm', + 'lib/Moose/Exception/CanOnlyConsumeRole.pm', + 'lib/Moose/Exception/CanOnlyWrapBlessedCode.pm', + 'lib/Moose/Exception/CanReblessOnlyIntoASubclass.pm', + 'lib/Moose/Exception/CanReblessOnlyIntoASuperclass.pm', + 'lib/Moose/Exception/CannotAddAdditionalTypeCoercionsToUnion.pm', + 'lib/Moose/Exception/CannotAddAsAnAttributeToARole.pm', + 'lib/Moose/Exception/CannotApplyBaseClassRolesToRole.pm', + 'lib/Moose/Exception/CannotAssignValueToReadOnlyAccessor.pm', + 'lib/Moose/Exception/CannotAugmentIfLocalMethodPresent.pm', + 'lib/Moose/Exception/CannotAugmentNoSuperMethod.pm', + 'lib/Moose/Exception/CannotAutoDerefWithoutIsa.pm', + 'lib/Moose/Exception/CannotAutoDereferenceTypeConstraint.pm', + 'lib/Moose/Exception/CannotCalculateNativeType.pm', + 'lib/Moose/Exception/CannotCallAnAbstractBaseMethod.pm', + 'lib/Moose/Exception/CannotCallAnAbstractMethod.pm', + 'lib/Moose/Exception/CannotCoerceAWeakRef.pm', + 'lib/Moose/Exception/CannotCoerceAttributeWhichHasNoCoercion.pm', + 'lib/Moose/Exception/CannotCreateHigherOrderTypeWithoutATypeParameter.pm', + 'lib/Moose/Exception/CannotCreateMethodAliasLocalMethodIsPresent.pm', + 'lib/Moose/Exception/CannotCreateMethodAliasLocalMethodIsPresentInClass.pm', + 'lib/Moose/Exception/CannotDelegateLocalMethodIsPresent.pm', + 'lib/Moose/Exception/CannotDelegateWithoutIsa.pm', + 'lib/Moose/Exception/CannotFindDelegateMetaclass.pm', + 'lib/Moose/Exception/CannotFindType.pm', + 'lib/Moose/Exception/CannotFindTypeGivenToMatchOnType.pm', + 'lib/Moose/Exception/CannotFixMetaclassCompatibility.pm', + 'lib/Moose/Exception/CannotGenerateInlineConstraint.pm', + 'lib/Moose/Exception/CannotInitializeMooseMetaRoleComposite.pm', + 'lib/Moose/Exception/CannotInlineTypeConstraintCheck.pm', + 'lib/Moose/Exception/CannotLocatePackageInINC.pm', + 'lib/Moose/Exception/CannotMakeMetaclassCompatible.pm', + 'lib/Moose/Exception/CannotOverrideALocalMethod.pm', + 'lib/Moose/Exception/CannotOverrideBodyOfMetaMethods.pm', + 'lib/Moose/Exception/CannotOverrideLocalMethodIsPresent.pm', + 'lib/Moose/Exception/CannotOverrideNoSuperMethod.pm', + 'lib/Moose/Exception/CannotRegisterUnnamedTypeConstraint.pm', + 'lib/Moose/Exception/CannotUseLazyBuildAndDefaultSimultaneously.pm', + 'lib/Moose/Exception/CircularReferenceInAlso.pm', + 'lib/Moose/Exception/ClassDoesNotHaveInitMeta.pm', + 'lib/Moose/Exception/ClassDoesTheExcludedRole.pm', + 'lib/Moose/Exception/ClassNamesDoNotMatch.pm', + 'lib/Moose/Exception/CloneObjectExpectsAnInstanceOfMetaclass.pm', + 'lib/Moose/Exception/CodeBlockMustBeACodeRef.pm', + 'lib/Moose/Exception/CoercingWithoutCoercions.pm', + 'lib/Moose/Exception/CoercionAlreadyExists.pm', + 'lib/Moose/Exception/CoercionNeedsTypeConstraint.pm', + 'lib/Moose/Exception/ConflictDetectedInCheckRoleExclusions.pm', + 'lib/Moose/Exception/ConflictDetectedInCheckRoleExclusionsInToClass.pm', + 'lib/Moose/Exception/ConstructClassInstanceTakesPackageName.pm', + 'lib/Moose/Exception/CouldNotCreateMethod.pm', + 'lib/Moose/Exception/CouldNotCreateWriter.pm', + 'lib/Moose/Exception/CouldNotEvalConstructor.pm', + 'lib/Moose/Exception/CouldNotEvalDestructor.pm', + 'lib/Moose/Exception/CouldNotFindTypeConstraintToCoerceFrom.pm', + 'lib/Moose/Exception/CouldNotGenerateInlineAttributeMethod.pm', + 'lib/Moose/Exception/CouldNotLocateTypeConstraintForUnion.pm', + 'lib/Moose/Exception/CouldNotParseType.pm', + 'lib/Moose/Exception/CreateMOPClassTakesArrayRefOfAttributes.pm', + 'lib/Moose/Exception/CreateMOPClassTakesArrayRefOfSuperclasses.pm', + 'lib/Moose/Exception/CreateMOPClassTakesHashRefOfMethods.pm', + 'lib/Moose/Exception/CreateTakesArrayRefOfRoles.pm', + 'lib/Moose/Exception/CreateTakesHashRefOfAttributes.pm', + 'lib/Moose/Exception/CreateTakesHashRefOfMethods.pm', + 'lib/Moose/Exception/DefaultToMatchOnTypeMustBeCodeRef.pm', + 'lib/Moose/Exception/DelegationToAClassWhichIsNotLoaded.pm', + 'lib/Moose/Exception/DelegationToARoleWhichIsNotLoaded.pm', + 'lib/Moose/Exception/DelegationToATypeWhichIsNotAClass.pm', + 'lib/Moose/Exception/DoesRequiresRoleName.pm', + 'lib/Moose/Exception/EnumCalledWithAnArrayRefAndAdditionalArgs.pm', + 'lib/Moose/Exception/EnumValuesMustBeString.pm', + 'lib/Moose/Exception/ExtendsMissingArgs.pm', + 'lib/Moose/Exception/HandlesMustBeAHashRef.pm', + 'lib/Moose/Exception/IllegalInheritedOptions.pm', + 'lib/Moose/Exception/IllegalMethodTypeToAddMethodModifier.pm', + 'lib/Moose/Exception/IncompatibleMetaclassOfSuperclass.pm', + 'lib/Moose/Exception/InitMetaRequiresClass.pm', + 'lib/Moose/Exception/InitializeTakesUnBlessedPackageName.pm', + 'lib/Moose/Exception/InstanceBlessedIntoWrongClass.pm', + 'lib/Moose/Exception/InstanceMustBeABlessedReference.pm', + 'lib/Moose/Exception/InvalidArgPassedToMooseUtilMetaRole.pm', + 'lib/Moose/Exception/InvalidArgumentToMethod.pm', + 'lib/Moose/Exception/InvalidArgumentsToTraitAliases.pm', + 'lib/Moose/Exception/InvalidBaseTypeGivenToCreateParameterizedTypeConstraint.pm', + 'lib/Moose/Exception/InvalidHandleValue.pm', + 'lib/Moose/Exception/InvalidHasProvidedInARole.pm', + 'lib/Moose/Exception/InvalidNameForType.pm', + 'lib/Moose/Exception/InvalidOverloadOperator.pm', + 'lib/Moose/Exception/InvalidRoleApplication.pm', + 'lib/Moose/Exception/InvalidTypeConstraint.pm', + 'lib/Moose/Exception/InvalidTypeGivenToCreateParameterizedTypeConstraint.pm', + 'lib/Moose/Exception/InvalidValueForIs.pm', + 'lib/Moose/Exception/IsaDoesNotDoTheRole.pm', + 'lib/Moose/Exception/IsaLacksDoesMethod.pm', + 'lib/Moose/Exception/LazyAttributeNeedsADefault.pm', + 'lib/Moose/Exception/Legacy.pm', + 'lib/Moose/Exception/MOPAttributeNewNeedsAttributeName.pm', + 'lib/Moose/Exception/MatchActionMustBeACodeRef.pm', + 'lib/Moose/Exception/MessageParameterMustBeCodeRef.pm', + 'lib/Moose/Exception/MetaclassIsAClassNotASubclassOfGivenMetaclass.pm', + 'lib/Moose/Exception/MetaclassIsARoleNotASubclassOfGivenMetaclass.pm', + 'lib/Moose/Exception/MetaclassIsNotASubclassOfGivenMetaclass.pm', + 'lib/Moose/Exception/MetaclassMustBeASubclassOfMooseMetaClass.pm', + 'lib/Moose/Exception/MetaclassMustBeASubclassOfMooseMetaRole.pm', + 'lib/Moose/Exception/MetaclassMustBeDerivedFromClassMOPClass.pm', + 'lib/Moose/Exception/MetaclassNotLoaded.pm', + 'lib/Moose/Exception/MetaclassTypeIncompatible.pm', + 'lib/Moose/Exception/MethodExpectedAMetaclassObject.pm', + 'lib/Moose/Exception/MethodExpectsFewerArgs.pm', + 'lib/Moose/Exception/MethodExpectsMoreArgs.pm', + 'lib/Moose/Exception/MethodModifierNeedsMethodName.pm', + 'lib/Moose/Exception/MethodNameConflictInRoles.pm', + 'lib/Moose/Exception/MethodNameNotFoundInInheritanceHierarchy.pm', + 'lib/Moose/Exception/MethodNameNotGiven.pm', + 'lib/Moose/Exception/MustDefineAMethodName.pm', + 'lib/Moose/Exception/MustDefineAnAttributeName.pm', + 'lib/Moose/Exception/MustDefineAnOverloadOperator.pm', + 'lib/Moose/Exception/MustHaveAtLeastOneValueToEnumerate.pm', + 'lib/Moose/Exception/MustPassAHashOfOptions.pm', + 'lib/Moose/Exception/MustPassAMooseMetaRoleInstanceOrSubclass.pm', + 'lib/Moose/Exception/MustPassAPackageNameOrAnExistingClassMOPPackageInstance.pm', + 'lib/Moose/Exception/MustPassEvenNumberOfArguments.pm', + 'lib/Moose/Exception/MustPassEvenNumberOfAttributeOptions.pm', + 'lib/Moose/Exception/MustProvideANameForTheAttribute.pm', + 'lib/Moose/Exception/MustSpecifyAtleastOneMethod.pm', + 'lib/Moose/Exception/MustSpecifyAtleastOneRole.pm', + 'lib/Moose/Exception/MustSpecifyAtleastOneRoleToApplicant.pm', + 'lib/Moose/Exception/MustSupplyAClassMOPAttributeInstance.pm', + 'lib/Moose/Exception/MustSupplyADelegateToMethod.pm', + 'lib/Moose/Exception/MustSupplyAMetaclass.pm', + 'lib/Moose/Exception/MustSupplyAMooseMetaAttributeInstance.pm', + 'lib/Moose/Exception/MustSupplyAnAccessorTypeToConstructWith.pm', + 'lib/Moose/Exception/MustSupplyAnAttributeToConstructWith.pm', + 'lib/Moose/Exception/MustSupplyArrayRefAsCurriedArguments.pm', + 'lib/Moose/Exception/MustSupplyPackageNameAndName.pm', + 'lib/Moose/Exception/NeedsTypeConstraintUnionForTypeCoercionUnion.pm', + 'lib/Moose/Exception/NeitherAttributeNorAttributeNameIsGiven.pm', + 'lib/Moose/Exception/NeitherClassNorClassNameIsGiven.pm', + 'lib/Moose/Exception/NeitherRoleNorRoleNameIsGiven.pm', + 'lib/Moose/Exception/NeitherTypeNorTypeNameIsGiven.pm', + 'lib/Moose/Exception/NoAttributeFoundInSuperClass.pm', + 'lib/Moose/Exception/NoBodyToInitializeInAnAbstractBaseClass.pm', + 'lib/Moose/Exception/NoCasesMatched.pm', + 'lib/Moose/Exception/NoConstraintCheckForTypeConstraint.pm', + 'lib/Moose/Exception/NoDestructorClassSpecified.pm', + 'lib/Moose/Exception/NoImmutableTraitSpecifiedForClass.pm', + 'lib/Moose/Exception/NoParentGivenToSubtype.pm', + 'lib/Moose/Exception/OnlyInstancesCanBeCloned.pm', + 'lib/Moose/Exception/OperatorIsRequired.pm', + 'lib/Moose/Exception/OverloadConflictInSummation.pm', + 'lib/Moose/Exception/OverloadRequiresAMetaClass.pm', + 'lib/Moose/Exception/OverloadRequiresAMetaMethod.pm', + 'lib/Moose/Exception/OverloadRequiresAMetaOverload.pm', + 'lib/Moose/Exception/OverloadRequiresAMethodNameOrCoderef.pm', + 'lib/Moose/Exception/OverloadRequiresAnOperator.pm', + 'lib/Moose/Exception/OverloadRequiresNamesForCoderef.pm', + 'lib/Moose/Exception/OverrideConflictInComposition.pm', + 'lib/Moose/Exception/OverrideConflictInSummation.pm', + 'lib/Moose/Exception/PackageDoesNotUseMooseExporter.pm', + 'lib/Moose/Exception/PackageNameAndNameParamsNotGivenToWrap.pm', + 'lib/Moose/Exception/PackagesAndModulesAreNotCachable.pm', + 'lib/Moose/Exception/ParameterIsNotSubtypeOfParent.pm', + 'lib/Moose/Exception/ReferencesAreNotAllowedAsDefault.pm', + 'lib/Moose/Exception/RequiredAttributeLacksInitialization.pm', + 'lib/Moose/Exception/RequiredAttributeNeedsADefault.pm', + 'lib/Moose/Exception/RequiredMethodsImportedByClass.pm', + 'lib/Moose/Exception/RequiredMethodsNotImplementedByClass.pm', + 'lib/Moose/Exception/Role/Attribute.pm', + 'lib/Moose/Exception/Role/AttributeName.pm', + 'lib/Moose/Exception/Role/Class.pm', + 'lib/Moose/Exception/Role/EitherAttributeOrAttributeName.pm', + 'lib/Moose/Exception/Role/Instance.pm', + 'lib/Moose/Exception/Role/InstanceClass.pm', + 'lib/Moose/Exception/Role/InvalidAttributeOptions.pm', + 'lib/Moose/Exception/Role/Method.pm', + 'lib/Moose/Exception/Role/ParamsHash.pm', + 'lib/Moose/Exception/Role/Role.pm', + 'lib/Moose/Exception/Role/RoleForCreate.pm', + 'lib/Moose/Exception/Role/RoleForCreateMOPClass.pm', + 'lib/Moose/Exception/Role/TypeConstraint.pm', + 'lib/Moose/Exception/RoleDoesTheExcludedRole.pm', + 'lib/Moose/Exception/RoleExclusionConflict.pm', + 'lib/Moose/Exception/RoleNameRequired.pm', + 'lib/Moose/Exception/RoleNameRequiredForMooseMetaRole.pm', + 'lib/Moose/Exception/RolesDoNotSupportAugment.pm', + 'lib/Moose/Exception/RolesDoNotSupportExtends.pm', + 'lib/Moose/Exception/RolesDoNotSupportInner.pm', + 'lib/Moose/Exception/RolesDoNotSupportRegexReferencesForMethodModifiers.pm', + 'lib/Moose/Exception/RolesInCreateTakesAnArrayRef.pm', + 'lib/Moose/Exception/RolesListMustBeInstancesOfMooseMetaRole.pm', + 'lib/Moose/Exception/SingleParamsToNewMustBeHashRef.pm', + 'lib/Moose/Exception/TriggerMustBeACodeRef.pm', + 'lib/Moose/Exception/TypeConstraintCannotBeUsedForAParameterizableType.pm', + 'lib/Moose/Exception/TypeConstraintIsAlreadyCreated.pm', + 'lib/Moose/Exception/TypeParameterMustBeMooseMetaType.pm', + 'lib/Moose/Exception/UnableToCanonicalizeHandles.pm', + 'lib/Moose/Exception/UnableToCanonicalizeNonRolePackage.pm', + 'lib/Moose/Exception/UnableToRecognizeDelegateMetaclass.pm', + 'lib/Moose/Exception/UndefinedHashKeysPassedToMethod.pm', + 'lib/Moose/Exception/UnionCalledWithAnArrayRefAndAdditionalArgs.pm', + 'lib/Moose/Exception/UnionTakesAtleastTwoTypeNames.pm', + 'lib/Moose/Exception/ValidationFailedForInlineTypeConstraint.pm', + 'lib/Moose/Exception/ValidationFailedForTypeConstraint.pm', + 'lib/Moose/Exception/WrapTakesACodeRefToBless.pm', + 'lib/Moose/Exception/WrongTypeConstraintGiven.pm', + 'lib/Moose/Exporter.pm', + 'lib/Moose/Intro.pod', + 'lib/Moose/Manual.pod', + 'lib/Moose/Manual/Attributes.pod', + 'lib/Moose/Manual/BestPractices.pod', + 'lib/Moose/Manual/Classes.pod', + 'lib/Moose/Manual/Concepts.pod', + 'lib/Moose/Manual/Construction.pod', + 'lib/Moose/Manual/Contributing.pod', + 'lib/Moose/Manual/Delegation.pod', + 'lib/Moose/Manual/Delta.pod', + 'lib/Moose/Manual/Exceptions.pod', + 'lib/Moose/Manual/Exceptions/Manifest.pod', + 'lib/Moose/Manual/FAQ.pod', + 'lib/Moose/Manual/MOP.pod', + 'lib/Moose/Manual/MethodModifiers.pod', + 'lib/Moose/Manual/MooseX.pod', + 'lib/Moose/Manual/Resources.pod', + 'lib/Moose/Manual/Roles.pod', + 'lib/Moose/Manual/Support.pod', + 'lib/Moose/Manual/Types.pod', + 'lib/Moose/Manual/Unsweetened.pod', + 'lib/Moose/Meta/Attribute.pm', + 'lib/Moose/Meta/Attribute/Native.pm', + 'lib/Moose/Meta/Attribute/Native/Trait.pm', + 'lib/Moose/Meta/Attribute/Native/Trait/Array.pm', + 'lib/Moose/Meta/Attribute/Native/Trait/Bool.pm', + 'lib/Moose/Meta/Attribute/Native/Trait/Code.pm', + 'lib/Moose/Meta/Attribute/Native/Trait/Counter.pm', + 'lib/Moose/Meta/Attribute/Native/Trait/Hash.pm', + 'lib/Moose/Meta/Attribute/Native/Trait/Number.pm', + 'lib/Moose/Meta/Attribute/Native/Trait/String.pm', + 'lib/Moose/Meta/Class.pm', + 'lib/Moose/Meta/Class/Immutable/Trait.pm', + 'lib/Moose/Meta/Instance.pm', + 'lib/Moose/Meta/Method.pm', + 'lib/Moose/Meta/Method/Accessor.pm', + 'lib/Moose/Meta/Method/Accessor/Native.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/Writer.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/accessor.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/clear.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/count.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/delete.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/elements.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/first.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/first_index.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/get.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/grep.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/insert.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/is_empty.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/join.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/map.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/natatime.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/pop.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/push.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/reduce.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/set.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/shallow_clone.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/shift.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/shuffle.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/sort.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/sort_in_place.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/splice.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/uniq.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/unshift.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Bool/not.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Bool/set.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Bool/toggle.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Bool/unset.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Code/execute.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Code/execute_method.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Collection.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Counter/Writer.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Counter/dec.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Counter/inc.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Counter/reset.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Counter/set.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/Writer.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/accessor.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/clear.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/count.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/defined.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/delete.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/elements.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/exists.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/get.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/is_empty.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/keys.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/kv.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/set.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/shallow_clone.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/values.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Number/abs.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Number/add.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Number/div.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Number/mod.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Number/mul.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Number/set.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Number/sub.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Reader.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/append.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/chomp.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/chop.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/clear.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/inc.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/length.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/match.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/prepend.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/replace.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/substr.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Writer.pm', + 'lib/Moose/Meta/Method/Augmented.pm', + 'lib/Moose/Meta/Method/Constructor.pm', + 'lib/Moose/Meta/Method/Delegation.pm', + 'lib/Moose/Meta/Method/Destructor.pm', + 'lib/Moose/Meta/Method/Meta.pm', + 'lib/Moose/Meta/Method/Overridden.pm', + 'lib/Moose/Meta/Mixin/AttributeCore.pm', + 'lib/Moose/Meta/Object/Trait.pm', + 'lib/Moose/Meta/Role.pm', + 'lib/Moose/Meta/Role/Application.pm', + 'lib/Moose/Meta/Role/Application/RoleSummation.pm', + 'lib/Moose/Meta/Role/Application/ToClass.pm', + 'lib/Moose/Meta/Role/Application/ToInstance.pm', + 'lib/Moose/Meta/Role/Application/ToRole.pm', + 'lib/Moose/Meta/Role/Attribute.pm', + 'lib/Moose/Meta/Role/Composite.pm', + 'lib/Moose/Meta/Role/Method.pm', + 'lib/Moose/Meta/Role/Method/Conflicting.pm', + 'lib/Moose/Meta/Role/Method/Required.pm', + 'lib/Moose/Meta/TypeCoercion.pm', + 'lib/Moose/Meta/TypeCoercion/Union.pm', + 'lib/Moose/Meta/TypeConstraint.pm', + 'lib/Moose/Meta/TypeConstraint/Class.pm', + 'lib/Moose/Meta/TypeConstraint/DuckType.pm', + 'lib/Moose/Meta/TypeConstraint/Enum.pm', + 'lib/Moose/Meta/TypeConstraint/Parameterizable.pm', + 'lib/Moose/Meta/TypeConstraint/Parameterized.pm', + 'lib/Moose/Meta/TypeConstraint/Registry.pm', + 'lib/Moose/Meta/TypeConstraint/Role.pm', + 'lib/Moose/Meta/TypeConstraint/Union.pm', + 'lib/Moose/Object.pm', + 'lib/Moose/Role.pm', + 'lib/Moose/Spec/Role.pod', + 'lib/Moose/Unsweetened.pod', + 'lib/Moose/Util.pm', + 'lib/Moose/Util/MetaRole.pm', + 'lib/Moose/Util/TypeConstraints.pm', + 'lib/Moose/Util/TypeConstraints/Builtins.pm', + 'lib/Test/Moose.pm', + 'lib/metaclass.pm', + 'lib/oose.pm', + 't/00-report-prereqs.dd', + 't/00-report-prereqs.t', + 't/000_load.t', + 't/attributes/accessor_context.t', + 't/attributes/accessor_inlining.t', + 't/attributes/accessor_override_method.t', + 't/attributes/accessor_overwrite_warning.t', + 't/attributes/attr_dereference_test.t', + 't/attributes/attribute_accessor_generation.t', + 't/attributes/attribute_custom_metaclass.t', + 't/attributes/attribute_delegation.t', + 't/attributes/attribute_does.t', + 't/attributes/attribute_inherited_slot_specs.t', + 't/attributes/attribute_lazy_initializer.t', + 't/attributes/attribute_names.t', + 't/attributes/attribute_reader_generation.t', + 't/attributes/attribute_required.t', + 't/attributes/attribute_traits.t', + 't/attributes/attribute_traits_n_meta.t', + 't/attributes/attribute_traits_parameterized.t', + 't/attributes/attribute_traits_registered.t', + 't/attributes/attribute_triggers.t', + 't/attributes/attribute_type_unions.t', + 't/attributes/attribute_without_any_methods.t', + 't/attributes/attribute_writer_generation.t', + 't/attributes/bad_coerce.t', + 't/attributes/chained_coercion.t', + 't/attributes/clone_weak.t', + 't/attributes/default_class_role_types.t', + 't/attributes/default_undef.t', + 't/attributes/delegation_and_modifiers.t', + 't/attributes/delegation_arg_aliasing.t', + 't/attributes/delegation_target_not_loaded.t', + 't/attributes/illegal_options_for_inheritance.t', + 't/attributes/inherit_lazy_build.t', + 't/attributes/lazy_no_default.t', + 't/attributes/method_generation_rules.t', + 't/attributes/misc_attribute_coerce_lazy.t', + 't/attributes/misc_attribute_tests.t', + 't/attributes/more_attr_delegation.t', + 't/attributes/no_init_arg.t', + 't/attributes/no_slot_access.t', + 't/attributes/non_alpha_attr_names.t', + 't/attributes/numeric_defaults.t', + 't/attributes/trigger_and_coerce.t', + 't/attributes/type_constraint.t', + 't/basics/always_strict_warnings.t', + 't/basics/basic_class_setup.t', + 't/basics/buildargs.t', + 't/basics/buildargs_warning.t', + 't/basics/create.t', + 't/basics/create_anon.t', + 't/basics/deprecations.t', + 't/basics/destruction.t', + 't/basics/error_handling.t', + 't/basics/global-destruction-helper.pl', + 't/basics/global_destruction.t', + 't/basics/import_unimport.t', + 't/basics/inner_and_augment.t', + 't/basics/load_into_main.t', + 't/basics/method_modifier_with_regexp.t', + 't/basics/methods.t', + 't/basics/moose_object_does.t', + 't/basics/moose_respects_type_constraints.t', + 't/basics/override_and_foreign_classes.t', + 't/basics/override_augment_inner_super.t', + 't/basics/rebless.t', + 't/basics/require_superclasses.t', + 't/basics/super_and_override.t', + 't/basics/super_warns_on_args.t', + 't/basics/universal_methods_wrappable.t', + 't/basics/wrapped_method_cxt_propagation.t', + 't/bugs/DEMOLISHALL.t', + 't/bugs/DEMOLISHALL_shortcutted.t', + 't/bugs/DEMOLISH_eats_exceptions.t', + 't/bugs/DEMOLISH_eats_mini.t', + 't/bugs/DEMOLISH_fails_without_metaclass.t', + 't/bugs/Moose_Object_error.t', + 't/bugs/anon_method_metaclass.t', + 't/bugs/application_metarole_compat.t', + 't/bugs/apply_role_to_one_instance_only.t', + 't/bugs/attribute_trait_parameters.t', + 't/bugs/augment_recursion_bug.t', + 't/bugs/coerce_without_coercion.t', + 't/bugs/constructor_object_overload.t', + 't/bugs/create_anon_recursion.t', + 't/bugs/create_anon_role_pass.t', + 't/bugs/delete_sub_stash.t', + 't/bugs/handles_foreign_class_bug.t', + 't/bugs/immutable_metaclass_does_role.t', + 't/bugs/immutable_n_default_x2.t', + 't/bugs/inheriting_from_roles.t', + 't/bugs/inline_reader_bug.t', + 't/bugs/instance_application_role_args.t', + 't/bugs/lazybuild_required_undef.t', + 't/bugs/mark_as_methods_overloading_breakage.t', + 't/bugs/moose_exporter_false_circular_reference_rt_63818.t', + 't/bugs/moose_octal_defaults.t', + 't/bugs/native_trait_handles_bad_value.t', + 't/bugs/overloading_edge_cases.t', + 't/bugs/reader_precedence_bug.t', + 't/bugs/role_caller.t', + 't/bugs/subclass_use_base_bug.t', + 't/bugs/subtype_conflict_bug.t', + 't/bugs/subtype_quote_bug.t', + 't/bugs/super_recursion.t', + 't/bugs/traits_with_exporter.t', + 't/bugs/type_constraint_messages.t', + 't/cmop/ArrayBasedStorage_test.t', + 't/cmop/AttributesWithHistory_test.t', + 't/cmop/BinaryTree_test.t', + 't/cmop/C3MethodDispatchOrder_test.t', + 't/cmop/ClassEncapsulatedAttributes_test.t', + 't/cmop/Class_C3_compatibility.t', + 't/cmop/InsideOutClass_test.t', + 't/cmop/InstanceCountingClass_test.t', + 't/cmop/LazyClass_test.t', + 't/cmop/Perl6Attribute_test.t', + 't/cmop/RT_27329_fix.t', + 't/cmop/RT_39001_fix.t', + 't/cmop/RT_41255.t', + 't/cmop/add_attribute_alternate.t', + 't/cmop/add_method_debugmode.t', + 't/cmop/add_method_modifier.t', + 't/cmop/advanced_methods.t', + 't/cmop/anon_class.t', + 't/cmop/anon_class_create_init.t', + 't/cmop/anon_class_keep_alive.t', + 't/cmop/anon_class_leak.t', + 't/cmop/anon_class_removal.t', + 't/cmop/anon_packages.t', + 't/cmop/attribute.t', + 't/cmop/attribute_duplication.t', + 't/cmop/attribute_errors_and_edge_cases.t', + 't/cmop/attribute_get_read_write.t', + 't/cmop/attribute_initializer.t', + 't/cmop/attribute_introspection.t', + 't/cmop/attribute_non_alpha_name.t', + 't/cmop/attributes.t', + 't/cmop/basic.t', + 't/cmop/before_after_dollar_under.t', + 't/cmop/class_errors_and_edge_cases.t', + 't/cmop/class_is_pristine.t', + 't/cmop/class_precedence_list.t', + 't/cmop/constant_codeinfo.t', + 't/cmop/create_class.t', + 't/cmop/custom_instance.t', + 't/cmop/deprecated.t', + 't/cmop/get_code_info.t', + 't/cmop/immutable_custom_trait.t', + 't/cmop/immutable_metaclass.t', + 't/cmop/immutable_w_constructors.t', + 't/cmop/immutable_w_custom_metaclass.t', + 't/cmop/inline_and_dollar_at.t', + 't/cmop/inline_structor.t', + 't/cmop/insertion_order.t', + 't/cmop/instance.t', + 't/cmop/instance_inline.t', + 't/cmop/instance_metaclass_incompat.t', + 't/cmop/instance_metaclass_incompat_dyn.t', + 't/cmop/lib/ArrayBasedStorage.pm', + 't/cmop/lib/AttributesWithHistory.pm', + 't/cmop/lib/BinaryTree.pm', + 't/cmop/lib/C3MethodDispatchOrder.pm', + 't/cmop/lib/ClassEncapsulatedAttributes.pm', + 't/cmop/lib/InsideOutClass.pm', + 't/cmop/lib/InstanceCountingClass.pm', + 't/cmop/lib/LazyClass.pm', + 't/cmop/lib/MyMetaClass.pm', + 't/cmop/lib/MyMetaClass/Attribute.pm', + 't/cmop/lib/MyMetaClass/Instance.pm', + 't/cmop/lib/MyMetaClass/Method.pm', + 't/cmop/lib/MyMetaClass/Random.pm', + 't/cmop/lib/Perl6Attribute.pm', + 't/cmop/lib/SyntaxError.pm', + 't/cmop/load.t', + 't/cmop/magic.t', + 't/cmop/make_mutable.t', + 't/cmop/meta_method.t', + 't/cmop/meta_package.t', + 't/cmop/meta_package_extension.t', + 't/cmop/metaclass.t', + 't/cmop/metaclass_incompatibility.t', + 't/cmop/metaclass_incompatibility_dyn.t', + 't/cmop/metaclass_inheritance.t', + 't/cmop/metaclass_loads_classes.t', + 't/cmop/metaclass_reinitialize.t', + 't/cmop/method.t', + 't/cmop/method_modifiers.t', + 't/cmop/methods.t', + 't/cmop/modify_parent_method.t', + 't/cmop/new_and_clone_metaclasses.t', + 't/cmop/null_stash.t', + 't/cmop/numeric_defaults.t', + 't/cmop/package_variables.t', + 't/cmop/random_eval_bug.t', + 't/cmop/rebless_instance.t', + 't/cmop/rebless_instance_away.t', + 't/cmop/rebless_overload.t', + 't/cmop/rebless_with_extra_params.t', + 't/cmop/scala_style_mixin_composition.t', + 't/cmop/self_introspection.t', + 't/cmop/subclasses.t', + 't/cmop/subname.t', + 't/cmop/universal_methods.t', + 't/compat/composite_metaroles.t', + 't/compat/extends_nonmoose_that_isa_moose_with_metarole.t', + 't/compat/foreign_inheritence.t', + 't/compat/inc_hash.t', + 't/compat/module_refresh_compat.t', + 't/compat/moose_respects_base.t', + 't/examples/Child_Parent_attr_inherit.t', + 't/examples/example1.t', + 't/examples/example2.t', + 't/examples/example_Moose_POOP.t', + 't/examples/example_Protomoose.t', + 't/examples/example_w_DCS.t', + 't/examples/example_w_TestDeep.t', + 't/examples/record_set_iterator.t', + 't/exceptions/attribute.t', + 't/exceptions/class-mop-attribute.t', + 't/exceptions/class-mop-class-immutable-trait.t', + 't/exceptions/class-mop-class.t', + 't/exceptions/class-mop-method-accessor.t', + 't/exceptions/class-mop-method-constructor.t', + 't/exceptions/class-mop-method-generated.t', + 't/exceptions/class-mop-method-meta.t', + 't/exceptions/class-mop-method-wrapped.t', + 't/exceptions/class-mop-method.t', + 't/exceptions/class-mop-mixin-hasattributes.t', + 't/exceptions/class-mop-mixin-hasmethods.t', + 't/exceptions/class-mop-module.t', + 't/exceptions/class-mop-object.t', + 't/exceptions/class-mop-package.t', + 't/exceptions/class.t', + 't/exceptions/cmop.t', + 't/exceptions/exception-lazyattributeneedsadefault.t', + 't/exceptions/frame-leak.t', + 't/exceptions/meta-role.t', + 't/exceptions/metaclass.t', + 't/exceptions/moose-exporter.t', + 't/exceptions/moose-meta-attribute-native-traits.t', + 't/exceptions/moose-meta-class-immutable-trait.t', + 't/exceptions/moose-meta-method-accessor-native-array.t', + 't/exceptions/moose-meta-method-accessor-native-collection.t', + 't/exceptions/moose-meta-method-accessor-native-grep.t', + 't/exceptions/moose-meta-method-accessor-native-hash-set.t', + 't/exceptions/moose-meta-method-accessor-native-hash.t', + 't/exceptions/moose-meta-method-accessor-native-string-match.t', + 't/exceptions/moose-meta-method-accessor-native-string-replace.t', + 't/exceptions/moose-meta-method-accessor-native-string-substr.t', + 't/exceptions/moose-meta-method-accessor-native.t', + 't/exceptions/moose-meta-method-accessor.t', + 't/exceptions/moose-meta-method-augmented.t', + 't/exceptions/moose-meta-method-constructor.t', + 't/exceptions/moose-meta-method-delegation.t', + 't/exceptions/moose-meta-method-destructor.t', + 't/exceptions/moose-meta-method-overridden.t', + 't/exceptions/moose-meta-role-application-rolesummation.t', + 't/exceptions/moose-meta-role-application-toclass.t', + 't/exceptions/moose-meta-role-application-torole.t', + 't/exceptions/moose-meta-role-application.t', + 't/exceptions/moose-meta-role-attribute.t', + 't/exceptions/moose-meta-role-composite.t', + 't/exceptions/moose-meta-typecoercion-union.t', + 't/exceptions/moose-meta-typecoercion.t', + 't/exceptions/moose-meta-typeconstraint-enum.t', + 't/exceptions/moose-meta-typeconstraint-parameterizable.t', + 't/exceptions/moose-meta-typeconstraint-parameterized.t', + 't/exceptions/moose-meta-typeconstraint-registry.t', + 't/exceptions/moose-meta-typeconstraint.t', + 't/exceptions/moose-role.t', + 't/exceptions/moose-util-metarole.t', + 't/exceptions/moose-util-typeconstraints.t', + 't/exceptions/moose.t', + 't/exceptions/object.t', + 't/exceptions/overload.t', + 't/exceptions/rt-92818.t', + 't/exceptions/rt-94795.t', + 't/exceptions/stringify.t', + 't/exceptions/traits.t', + 't/exceptions/typeconstraints.t', + 't/exceptions/util.t', + 't/immutable/apply_roles_to_immutable.t', + 't/immutable/buildargs.t', + 't/immutable/constructor_is_not_moose.t', + 't/immutable/constructor_is_wrapped.t', + 't/immutable/default_values.t', + 't/immutable/definition_context.t', + 't/immutable/immutable_constructor_error.t', + 't/immutable/immutable_destroy.t', + 't/immutable/immutable_meta_class.t', + 't/immutable/immutable_metaclass_with_traits.t', + 't/immutable/immutable_moose.t', + 't/immutable/immutable_roundtrip.t', + 't/immutable/immutable_trigger_from_constructor.t', + 't/immutable/inline_close_over.t', + 't/immutable/inline_fallbacks.t', + 't/immutable/inlined_constructors_n_types.t', + 't/immutable/multiple_demolish_inline.t', + 't/lib/Bar.pm', + 't/lib/Bar7/Meta/Trait.pm', + 't/lib/Bar7/Meta/Trait2.pm', + 't/lib/Foo.pm', + 't/lib/Moose/Meta/Attribute/Custom/Bar.pm', + 't/lib/Moose/Meta/Attribute/Custom/Foo.pm', + 't/lib/Moose/Meta/Attribute/Custom/Trait/Bar.pm', + 't/lib/Moose/Meta/Attribute/Custom/Trait/Foo.pm', + 't/lib/MyExporter.pm', + 't/lib/MyMetaclassRole.pm', + 't/lib/MyMooseA.pm', + 't/lib/MyMooseB.pm', + 't/lib/MyMooseObject.pm', + 't/lib/NoInlineAttribute.pm', + 't/lib/Overloading/ClassConsumesRoleConsumesOverloads.pm', + 't/lib/Overloading/ClassWithCombiningRole.pm', + 't/lib/Overloading/ClassWithOneRole.pm', + 't/lib/Overloading/CombiningClass.pm', + 't/lib/Overloading/CombiningRole.pm', + 't/lib/Overloading/RoleConsumesOverloads.pm', + 't/lib/Overloading/RoleWithOverloads.pm', + 't/lib/Overloading/RoleWithoutOverloads.pm', + 't/lib/OverloadingTests.pm', + 't/lib/Real/Package.pm', + 't/lib/Role/BreakOnLoad.pm', + 't/lib/Role/Child.pm', + 't/lib/Role/Interface.pm', + 't/lib/Role/Parent.pm', + 't/metaclasses/create_anon_with_required_attr.t', + 't/metaclasses/custom_attr_meta_as_role.t', + 't/metaclasses/custom_attr_meta_with_roles.t', + 't/metaclasses/easy_init_meta.t', + 't/metaclasses/export_with_prototype.t', + 't/metaclasses/exporter_also_with_trait.t', + 't/metaclasses/exporter_meta_lookup.t', + 't/metaclasses/exporter_sub_names.t', + 't/metaclasses/goto_moose_import.t', + 't/metaclasses/immutable_metaclass_compat_bug.t', + 't/metaclasses/meta_name.t', + 't/metaclasses/metaclass_compat.t', + 't/metaclasses/metaclass_compat_no_fixing_bug.t', + 't/metaclasses/metaclass_compat_role_conflicts.t', + 't/metaclasses/metaclass_parameterized_traits.t', + 't/metaclasses/metaclass_traits.t', + 't/metaclasses/metarole.t', + 't/metaclasses/metarole_combination.t', + 't/metaclasses/metarole_on_anon.t', + 't/metaclasses/metarole_w_metaclass_pm.t', + 't/metaclasses/metaroles_of_metaroles.t', + 't/metaclasses/moose_exporter.t', + 't/metaclasses/moose_exporter_trait_aliases.t', + 't/metaclasses/moose_for_meta.t', + 't/metaclasses/moose_nonmoose_metatrait_init_order.t', + 't/metaclasses/moose_nonmoose_moose_chain_init_meta.t', + 't/metaclasses/moose_w_metaclass.t', + 't/metaclasses/new_metaclass.t', + 't/metaclasses/new_object_BUILD.t', + 't/metaclasses/overloading.t', + 't/metaclasses/reinitialize.t', + 't/metaclasses/use_base_of_moose.t', + 't/moose_util/apply_roles.t', + 't/moose_util/create_alias.t', + 't/moose_util/ensure_all_roles.t', + 't/moose_util/method_mod_args.t', + 't/moose_util/moose_util.t', + 't/moose_util/moose_util_does_role.t', + 't/moose_util/moose_util_search_class_by_role.t', + 't/moose_util/resolve_alias.t', + 't/moose_util/with_traits.t', + 't/native_traits/array_coerce.t', + 't/native_traits/array_from_role.t', + 't/native_traits/array_subtypes.t', + 't/native_traits/array_trigger.t', + 't/native_traits/collection_with_roles.t', + 't/native_traits/custom_instance.t', + 't/native_traits/hash_coerce.t', + 't/native_traits/hash_subtypes.t', + 't/native_traits/hash_trigger.t', + 't/native_traits/remove_attribute.t', + 't/native_traits/shallow_clone.t', + 't/native_traits/trait_array.t', + 't/native_traits/trait_bool.t', + 't/native_traits/trait_code.t', + 't/native_traits/trait_counter.t', + 't/native_traits/trait_hash.t', + 't/native_traits/trait_number.t', + 't/native_traits/trait_string.t', + 't/recipes/basics_bankaccount_methodmodifiersandsubclassing.t', + 't/recipes/basics_binarytree_attributefeatures.t', + 't/recipes/basics_company_subtypes.t', + 't/recipes/basics_datetime_extendingnonmooseparent.t', + 't/recipes/basics_document_augmentandinner.t', + 't/recipes/basics_genome_overloadingsubtypesandcoercion.t', + 't/recipes/basics_http_subtypesandcoercion.t', + 't/recipes/basics_point_attributesandsubclassing.t', + 't/recipes/extending_debugging_baseclassrole.t', + 't/recipes/extending_mooseish_moosesugar.t', + 't/recipes/legacy_debugging_baseclassreplacement.t', + 't/recipes/legacy_labeled_attributemetaclass.t', + 't/recipes/meta_globref_instancemetaclass.t', + 't/recipes/meta_labeled_attributetrait.t', + 't/recipes/meta_privateorpublic_methodmetaclass.t', + 't/recipes/meta_table_metaclasstrait.t', + 't/recipes/roles_applicationtoinstance.t', + 't/recipes/roles_comparable_codereuse.t', + 't/recipes/roles_restartable_advancedcomposition.t', + 't/roles/anonymous_roles.t', + 't/roles/application_toclass.t', + 't/roles/apply_role.t', + 't/roles/build.t', + 't/roles/conflict_many_methods.t', + 't/roles/create_role.t', + 't/roles/create_role_subclass.t', + 't/roles/empty_method_modifiers_meta_bug.t', + 't/roles/extending_role_attrs.t', + 't/roles/free_anonymous_roles.t', + 't/roles/imported_required_method.t', + 't/roles/meta_role.t', + 't/roles/method_aliasing_in_composition.t', + 't/roles/method_exclusion_in_composition.t', + 't/roles/method_modifiers.t', + 't/roles/methods.t', + 't/roles/more_alias_and_exclude.t', + 't/roles/more_role_edge_cases.t', + 't/roles/new_meta_role.t', + 't/roles/overloading_combine_to_class.t', + 't/roles/overloading_combine_to_instance.t', + 't/roles/overloading_combine_to_role.t', + 't/roles/overloading_composition_errors.t', + 't/roles/overloading_remove_attributes_bug.t', + 't/roles/overloading_to_class.t', + 't/roles/overloading_to_instance.t', + 't/roles/overloading_to_role.t', + 't/roles/overriding.t', + 't/roles/reinitialize_anon_role.t', + 't/roles/role.t', + 't/roles/role_attr_application.t', + 't/roles/role_attribute_conflict.t', + 't/roles/role_attrs.t', + 't/roles/role_compose_requires.t', + 't/roles/role_composite.t', + 't/roles/role_composite_exclusion.t', + 't/roles/role_composition_attributes.t', + 't/roles/role_composition_conflict_detection.t', + 't/roles/role_composition_errors.t', + 't/roles/role_composition_method_mods.t', + 't/roles/role_composition_methods.t', + 't/roles/role_composition_override.t', + 't/roles/role_composition_req_methods.t', + 't/roles/role_conflict_detection.t', + 't/roles/role_conflict_edge_cases.t', + 't/roles/role_consumers.t', + 't/roles/role_exclusion.t', + 't/roles/role_exclusion_and_alias_bug.t', + 't/roles/role_for_combination.t', + 't/roles/roles_and_method_cloning.t', + 't/roles/roles_and_req_method_edge_cases.t', + 't/roles/roles_applied_in_create.t', + 't/roles/run_time_role_composition.t', + 't/roles/runtime_roles_and_attrs.t', + 't/roles/runtime_roles_and_nonmoose.t', + 't/roles/runtime_roles_w_params.t', + 't/roles/use_base_does.t', + 't/test_moose/test_moose.t', + 't/test_moose/test_moose_does_ok.t', + 't/test_moose/test_moose_has_attribute_ok.t', + 't/test_moose/test_moose_meta_ok.t', + 't/test_moose/with_immutable.t', + 't/todo_tests/exception_reflects_failed_constraint.t', + 't/todo_tests/immutable_n_around.t', + 't/todo_tests/moose_and_threads.t', + 't/todo_tests/replacing_super_methods.t', + 't/todo_tests/required_role_accessors.t', + 't/todo_tests/role_attr_methods_original_package.t', + 't/todo_tests/role_insertion_order.t', + 't/todo_tests/various_role_features.t', + 't/todo_tests/wrong-inner.t', + 't/type_constraints/advanced_type_creation.t', + 't/type_constraints/class_subtypes.t', + 't/type_constraints/class_type_constraint.t', + 't/type_constraints/coerced_parameterized_types.t', + 't/type_constraints/container_type_coercion.t', + 't/type_constraints/container_type_constraint.t', + 't/type_constraints/custom_parameterized_types.t', + 't/type_constraints/custom_type_errors.t', + 't/type_constraints/define_type_twice_throws.t', + 't/type_constraints/duck_type_handles.t', + 't/type_constraints/duck_types.t', + 't/type_constraints/enum.t', + 't/type_constraints/inlining.t', + 't/type_constraints/match_type_operator.t', + 't/type_constraints/maybe_type_constraint.t', + 't/type_constraints/misc_type_tests.t', + 't/type_constraints/name_conflicts.t', + 't/type_constraints/normalize_type_name.t', + 't/type_constraints/parameterize_from.t', + 't/type_constraints/role_type_constraint.t', + 't/type_constraints/subtype_auto_vivify_parent.t', + 't/type_constraints/subtyping_parameterized_types.t', + 't/type_constraints/subtyping_union_types.t', + 't/type_constraints/throw_error.t', + 't/type_constraints/type_coersion_on_lazy_attributes.t', + 't/type_constraints/type_names.t', + 't/type_constraints/type_notation_parser.t', + 't/type_constraints/types_and_undef.t', + 't/type_constraints/union_is_a_type_of.t', + 't/type_constraints/union_types.t', + 't/type_constraints/union_types_and_coercions.t', + 't/type_constraints/util_find_type_constraint.t', + 't/type_constraints/util_more_type_coercion.t', + 't/type_constraints/util_std_type_constraints.t', + 't/type_constraints/util_type_coercion.t', + 't/type_constraints/util_type_constraints.t', + 't/type_constraints/util_type_constraints_export.t', + 't/type_constraints/util_type_reloading.t', + 't/type_constraints/with-specio.t', + 't/zzz-check-breaks.t' +); + +eol_unix_ok($_, { trailing_whitespace => 1 }) foreach @files; +done_testing; diff --git a/xt/author/memory_leaks.t b/xt/author/memory_leaks.t new file mode 100644 index 0000000..da68698 --- /dev/null +++ b/xt/author/memory_leaks.t @@ -0,0 +1,239 @@ +use strict; +use warnings; + +use Test::More; +BEGIN { + plan skip_all => 'Leak tests fail under perl 5.21.[6-9]' + if $] >= '5.021006' and $] <= '5.021011'; + plan skip_all => 'Leak tests fail under Devel::Cover' if $INC{'Devel/Cover.pm'}; +} + +use Test::LeakTrace; +use Test::Memory::Cycle; +use Moose (); +use Moose::Util qw( apply_all_roles ); +use Moose::Util::TypeConstraints; + +{ + package MyRole; + use Moose::Role; + sub myname { "I'm a role" } +} + +{ + package Fake::DateTime; + use Moose; + + has 'string_repr' => ( is => 'ro' ); + + package Mortgage; + use Moose; + use Moose::Util::TypeConstraints; + + coerce 'Fake::DateTime' => from 'Str' => + via { Fake::DateTime->new( string_repr => $_ ) }; + + has 'closing_date' => ( + is => 'rw', + isa => 'Fake::DateTime', + coerce => 1, + trigger => sub { + my ( $self, $val ) = @_; + ::pass('... trigger is being called'); + ::isa_ok( $self->closing_date, 'Fake::DateTime' ); + ::isa_ok( $val, 'Fake::DateTime' ); + } + ); +} + +{ + package Man; + use Moose; + + my @actions; + + sub live { + push @actions, 'live'; + } + + sub create { + push @actions, 'create'; + } + + sub breathe { + push @actions, 'breathe'; + } + + package Earth; + use Moose; + use Moose::Util::TypeConstraints; + + has man => ( + isa => 'Man', + handles => [qw( live create breathe )], + ); +} + + +{ + local $TODO = 'anonymous classes leak on 5.8' if $] < 5.010; + no_leaks_ok( + sub { + Moose::Meta::Class->create_anon_class->new_object; + }, + 'anonymous class with no roles is leak-free' + ); +} + +no_leaks_ok( + sub { + Moose::Meta::Role->initialize('MyRole2'); + }, + 'Moose::Meta::Role->initialize is leak-free' +); + +no_leaks_ok( + sub { + Moose::Meta::Class->create('MyClass2')->new_object; + }, + 'creating named class is leak-free' +); + +{ + local $TODO + = 'role application leaks because we end up applying the role more than once to the meta object'; + no_leaks_ok( + sub { + Moose::Meta::Class->create( 'MyClass', roles => ['MyRole'] ); + }, + 'named class with roles is leak-free' + ); + + no_leaks_ok( + sub { + Moose::Meta::Role->create( 'MyRole2', roles => ['MyRole'] ); + }, + 'named role with roles is leak-free' + ); +} + +no_leaks_ok( + sub { + my $object = Moose::Meta::Class->create('MyClass2')->new_object; + apply_all_roles( $object, 'MyRole' ); + }, + 'applying role to an instance is leak-free' +); + +no_leaks_ok( + sub { + Moose::Meta::Role->create_anon_role; + }, + 'anonymous role is leak-free' +); + +{ + # fixing this leak currently triggers a bug in Carp + # we can un-TODO once that fix goes in allowing the leak + # in Eval::Closure to be fixed + local $TODO = 'Eval::Closure leaks a bit at the moment'; + no_leaks_ok( + sub { + my $meta = Moose::Meta::Class->create_anon_class; + $meta->make_immutable; + }, + 'making an anon class immutable is leak-free' + ); +} + +{ + my $meta3 = Moose::Meta::Class->create('MyClass3'); + memory_cycle_ok( $meta3, 'named metaclass object is cycle-free' ); + memory_cycle_ok( $meta3->new_object, 'MyClass3 object is cycle-free' ); + + my $anon_class = Moose::Meta::Class->create_anon_class; + memory_cycle_ok($anon_class, 'anon metaclass object is cycle-free' ); + memory_cycle_ok( $anon_class->new_object, 'object from anon metaclass is cycle-free' ); + + $anon_class->make_immutable; + memory_cycle_ok($anon_class, 'immutable anon metaclass object is cycle-free' ); + memory_cycle_ok( $anon_class->new_object, 'object from immutable anon metaclass is cycle-free' ); + + my $anon_role = Moose::Meta::Role->create_anon_role; + memory_cycle_ok($anon_role, 'anon role meta object is cycle-free' ); +} + +{ + my $Str = find_type_constraint('Str'); + my $Undef = find_type_constraint('Undef'); + my $Str_or_Undef = Moose::Meta::TypeConstraint::Union->new( + type_constraints => [ $Str, $Undef ] ); + memory_cycle_ok($Str_or_Undef, 'union types do not leak'); +} + +{ + my $mtg = Mortgage->new( closing_date => 'yesterday' ); + $mtg->closing_date; + Mortgage->meta->make_immutable; + + memory_cycle_ok($mtg->meta, 'meta (triggers/coerce) is cycle-free'); +} + +{ + local $TODO = 'meta cycles exist at the moment'; + memory_cycle_ok(Earth->new->meta, 'meta (handles) is cycle-free'); + memory_cycle_ok(Earth->meta, 'meta (class) is cycle-free'); +} + +{ + my $Point = Class::MOP::Class->create('Point' => ( + version => '0.01', + attributes => [ + Class::MOP::Attribute->new('x' => ( + reader => 'x', + init_arg => 'x' + )), + Class::MOP::Attribute->new('y' => ( + accessor => 'y', + init_arg => 'y' + )), + ], + methods => { + 'new' => sub { + my $class = shift; + my $instance = $class->meta->new_object(@_); + bless $instance => $class; + }, + 'clear' => sub { + my $self = shift; + $self->{'x'} = 0; + $self->{'y'} = 0; + } + } + )); + + my $Point3D = Class::MOP::Class->create('Point3D' => ( + version => '0.01', + superclasses => [ 'Point' ], + attributes => [ + Class::MOP::Attribute->new('z' => ( + default => 123 + )), + ], + methods => { + 'clear' => sub { + my $self = shift; + $self->{'z'} = 0; + $self->SUPER::clear(); + } + } + )); + + local $TODO = 'CMOP cycles exist at the moment'; + memory_cycle_ok($Point3D, 'Point3D is cycle-free'); + memory_cycle_ok($Point, 'Point is cycle-free'); + memory_cycle_ok($Point3D->meta, 'Point3D meta is cycle-free'); + memory_cycle_ok($Point->meta, 'Point meta is cycle-free'); +} + +done_testing; diff --git a/xt/author/no-tabs.t b/xt/author/no-tabs.t new file mode 100644 index 0000000..7df0dfc --- /dev/null +++ b/xt/author/no-tabs.t @@ -0,0 +1,969 @@ +use strict; +use warnings; + +# this test was generated with Dist::Zilla::Plugin::Test::NoTabs 0.15 + +use Test::More 0.88; +use Test::NoTabs; + +my @files = ( + 'bin/moose-outdated', + 'lib/Class/MOP.pm', + 'lib/Class/MOP/Attribute.pm', + 'lib/Class/MOP/Class.pm', + 'lib/Class/MOP/Class/Immutable/Trait.pm', + 'lib/Class/MOP/Deprecated.pm', + 'lib/Class/MOP/Instance.pm', + 'lib/Class/MOP/Method.pm', + 'lib/Class/MOP/Method/Accessor.pm', + 'lib/Class/MOP/Method/Constructor.pm', + 'lib/Class/MOP/Method/Generated.pm', + 'lib/Class/MOP/Method/Inlined.pm', + 'lib/Class/MOP/Method/Meta.pm', + 'lib/Class/MOP/Method/Wrapped.pm', + 'lib/Class/MOP/MiniTrait.pm', + 'lib/Class/MOP/Mixin.pm', + 'lib/Class/MOP/Mixin/AttributeCore.pm', + 'lib/Class/MOP/Mixin/HasAttributes.pm', + 'lib/Class/MOP/Mixin/HasMethods.pm', + 'lib/Class/MOP/Mixin/HasOverloads.pm', + 'lib/Class/MOP/Module.pm', + 'lib/Class/MOP/Object.pm', + 'lib/Class/MOP/Overload.pm', + 'lib/Class/MOP/Package.pm', + 'lib/Moose.pm', + 'lib/Moose/Conflicts.pm', + 'lib/Moose/Cookbook.pod', + 'lib/Moose/Cookbook/Basics/BankAccount_MethodModifiersAndSubclassing.pod', + 'lib/Moose/Cookbook/Basics/BinaryTree_AttributeFeatures.pod', + 'lib/Moose/Cookbook/Basics/BinaryTree_BuilderAndLazyBuild.pod', + 'lib/Moose/Cookbook/Basics/Company_Subtypes.pod', + 'lib/Moose/Cookbook/Basics/DateTime_ExtendingNonMooseParent.pod', + 'lib/Moose/Cookbook/Basics/Document_AugmentAndInner.pod', + 'lib/Moose/Cookbook/Basics/Genome_OverloadingSubtypesAndCoercion.pod', + 'lib/Moose/Cookbook/Basics/HTTP_SubtypesAndCoercion.pod', + 'lib/Moose/Cookbook/Basics/Immutable.pod', + 'lib/Moose/Cookbook/Basics/Person_BUILDARGSAndBUILD.pod', + 'lib/Moose/Cookbook/Basics/Point_AttributesAndSubclassing.pod', + 'lib/Moose/Cookbook/Extending/Debugging_BaseClassRole.pod', + 'lib/Moose/Cookbook/Extending/ExtensionOverview.pod', + 'lib/Moose/Cookbook/Extending/Mooseish_MooseSugar.pod', + 'lib/Moose/Cookbook/Legacy/Debugging_BaseClassReplacement.pod', + 'lib/Moose/Cookbook/Legacy/Labeled_AttributeMetaclass.pod', + 'lib/Moose/Cookbook/Legacy/Table_ClassMetaclass.pod', + 'lib/Moose/Cookbook/Meta/GlobRef_InstanceMetaclass.pod', + 'lib/Moose/Cookbook/Meta/Labeled_AttributeTrait.pod', + 'lib/Moose/Cookbook/Meta/PrivateOrPublic_MethodMetaclass.pod', + 'lib/Moose/Cookbook/Meta/Table_MetaclassTrait.pod', + 'lib/Moose/Cookbook/Meta/WhyMeta.pod', + 'lib/Moose/Cookbook/Roles/ApplicationToInstance.pod', + 'lib/Moose/Cookbook/Roles/Comparable_CodeReuse.pod', + 'lib/Moose/Cookbook/Roles/Restartable_AdvancedComposition.pod', + 'lib/Moose/Cookbook/Snack/Keywords.pod', + 'lib/Moose/Cookbook/Snack/Types.pod', + 'lib/Moose/Cookbook/Style.pod', + 'lib/Moose/Deprecated.pm', + 'lib/Moose/Exception.pm', + 'lib/Moose/Exception/AccessorMustReadWrite.pm', + 'lib/Moose/Exception/AddParameterizableTypeTakesParameterizableType.pm', + 'lib/Moose/Exception/AddRoleTakesAMooseMetaRoleInstance.pm', + 'lib/Moose/Exception/AddRoleToARoleTakesAMooseMetaRole.pm', + 'lib/Moose/Exception/ApplyTakesABlessedInstance.pm', + 'lib/Moose/Exception/AttachToClassNeedsAClassMOPClassInstanceOrASubclass.pm', + 'lib/Moose/Exception/AttributeConflictInRoles.pm', + 'lib/Moose/Exception/AttributeConflictInSummation.pm', + 'lib/Moose/Exception/AttributeExtensionIsNotSupportedInRoles.pm', + 'lib/Moose/Exception/AttributeIsRequired.pm', + 'lib/Moose/Exception/AttributeMustBeAnClassMOPMixinAttributeCoreOrSubclass.pm', + 'lib/Moose/Exception/AttributeNamesDoNotMatch.pm', + 'lib/Moose/Exception/AttributeValueIsNotAnObject.pm', + 'lib/Moose/Exception/AttributeValueIsNotDefined.pm', + 'lib/Moose/Exception/AutoDeRefNeedsArrayRefOrHashRef.pm', + 'lib/Moose/Exception/BadOptionFormat.pm', + 'lib/Moose/Exception/BothBuilderAndDefaultAreNotAllowed.pm', + 'lib/Moose/Exception/BuilderDoesNotExist.pm', + 'lib/Moose/Exception/BuilderMethodNotSupportedForAttribute.pm', + 'lib/Moose/Exception/BuilderMethodNotSupportedForInlineAttribute.pm', + 'lib/Moose/Exception/BuilderMustBeAMethodName.pm', + 'lib/Moose/Exception/CallingMethodOnAnImmutableInstance.pm', + 'lib/Moose/Exception/CallingReadOnlyMethodOnAnImmutableInstance.pm', + 'lib/Moose/Exception/CanExtendOnlyClasses.pm', + 'lib/Moose/Exception/CanOnlyConsumeRole.pm', + 'lib/Moose/Exception/CanOnlyWrapBlessedCode.pm', + 'lib/Moose/Exception/CanReblessOnlyIntoASubclass.pm', + 'lib/Moose/Exception/CanReblessOnlyIntoASuperclass.pm', + 'lib/Moose/Exception/CannotAddAdditionalTypeCoercionsToUnion.pm', + 'lib/Moose/Exception/CannotAddAsAnAttributeToARole.pm', + 'lib/Moose/Exception/CannotApplyBaseClassRolesToRole.pm', + 'lib/Moose/Exception/CannotAssignValueToReadOnlyAccessor.pm', + 'lib/Moose/Exception/CannotAugmentIfLocalMethodPresent.pm', + 'lib/Moose/Exception/CannotAugmentNoSuperMethod.pm', + 'lib/Moose/Exception/CannotAutoDerefWithoutIsa.pm', + 'lib/Moose/Exception/CannotAutoDereferenceTypeConstraint.pm', + 'lib/Moose/Exception/CannotCalculateNativeType.pm', + 'lib/Moose/Exception/CannotCallAnAbstractBaseMethod.pm', + 'lib/Moose/Exception/CannotCallAnAbstractMethod.pm', + 'lib/Moose/Exception/CannotCoerceAWeakRef.pm', + 'lib/Moose/Exception/CannotCoerceAttributeWhichHasNoCoercion.pm', + 'lib/Moose/Exception/CannotCreateHigherOrderTypeWithoutATypeParameter.pm', + 'lib/Moose/Exception/CannotCreateMethodAliasLocalMethodIsPresent.pm', + 'lib/Moose/Exception/CannotCreateMethodAliasLocalMethodIsPresentInClass.pm', + 'lib/Moose/Exception/CannotDelegateLocalMethodIsPresent.pm', + 'lib/Moose/Exception/CannotDelegateWithoutIsa.pm', + 'lib/Moose/Exception/CannotFindDelegateMetaclass.pm', + 'lib/Moose/Exception/CannotFindType.pm', + 'lib/Moose/Exception/CannotFindTypeGivenToMatchOnType.pm', + 'lib/Moose/Exception/CannotFixMetaclassCompatibility.pm', + 'lib/Moose/Exception/CannotGenerateInlineConstraint.pm', + 'lib/Moose/Exception/CannotInitializeMooseMetaRoleComposite.pm', + 'lib/Moose/Exception/CannotInlineTypeConstraintCheck.pm', + 'lib/Moose/Exception/CannotLocatePackageInINC.pm', + 'lib/Moose/Exception/CannotMakeMetaclassCompatible.pm', + 'lib/Moose/Exception/CannotOverrideALocalMethod.pm', + 'lib/Moose/Exception/CannotOverrideBodyOfMetaMethods.pm', + 'lib/Moose/Exception/CannotOverrideLocalMethodIsPresent.pm', + 'lib/Moose/Exception/CannotOverrideNoSuperMethod.pm', + 'lib/Moose/Exception/CannotRegisterUnnamedTypeConstraint.pm', + 'lib/Moose/Exception/CannotUseLazyBuildAndDefaultSimultaneously.pm', + 'lib/Moose/Exception/CircularReferenceInAlso.pm', + 'lib/Moose/Exception/ClassDoesNotHaveInitMeta.pm', + 'lib/Moose/Exception/ClassDoesTheExcludedRole.pm', + 'lib/Moose/Exception/ClassNamesDoNotMatch.pm', + 'lib/Moose/Exception/CloneObjectExpectsAnInstanceOfMetaclass.pm', + 'lib/Moose/Exception/CodeBlockMustBeACodeRef.pm', + 'lib/Moose/Exception/CoercingWithoutCoercions.pm', + 'lib/Moose/Exception/CoercionAlreadyExists.pm', + 'lib/Moose/Exception/CoercionNeedsTypeConstraint.pm', + 'lib/Moose/Exception/ConflictDetectedInCheckRoleExclusions.pm', + 'lib/Moose/Exception/ConflictDetectedInCheckRoleExclusionsInToClass.pm', + 'lib/Moose/Exception/ConstructClassInstanceTakesPackageName.pm', + 'lib/Moose/Exception/CouldNotCreateMethod.pm', + 'lib/Moose/Exception/CouldNotCreateWriter.pm', + 'lib/Moose/Exception/CouldNotEvalConstructor.pm', + 'lib/Moose/Exception/CouldNotEvalDestructor.pm', + 'lib/Moose/Exception/CouldNotFindTypeConstraintToCoerceFrom.pm', + 'lib/Moose/Exception/CouldNotGenerateInlineAttributeMethod.pm', + 'lib/Moose/Exception/CouldNotLocateTypeConstraintForUnion.pm', + 'lib/Moose/Exception/CouldNotParseType.pm', + 'lib/Moose/Exception/CreateMOPClassTakesArrayRefOfAttributes.pm', + 'lib/Moose/Exception/CreateMOPClassTakesArrayRefOfSuperclasses.pm', + 'lib/Moose/Exception/CreateMOPClassTakesHashRefOfMethods.pm', + 'lib/Moose/Exception/CreateTakesArrayRefOfRoles.pm', + 'lib/Moose/Exception/CreateTakesHashRefOfAttributes.pm', + 'lib/Moose/Exception/CreateTakesHashRefOfMethods.pm', + 'lib/Moose/Exception/DefaultToMatchOnTypeMustBeCodeRef.pm', + 'lib/Moose/Exception/DelegationToAClassWhichIsNotLoaded.pm', + 'lib/Moose/Exception/DelegationToARoleWhichIsNotLoaded.pm', + 'lib/Moose/Exception/DelegationToATypeWhichIsNotAClass.pm', + 'lib/Moose/Exception/DoesRequiresRoleName.pm', + 'lib/Moose/Exception/EnumCalledWithAnArrayRefAndAdditionalArgs.pm', + 'lib/Moose/Exception/EnumValuesMustBeString.pm', + 'lib/Moose/Exception/ExtendsMissingArgs.pm', + 'lib/Moose/Exception/HandlesMustBeAHashRef.pm', + 'lib/Moose/Exception/IllegalInheritedOptions.pm', + 'lib/Moose/Exception/IllegalMethodTypeToAddMethodModifier.pm', + 'lib/Moose/Exception/IncompatibleMetaclassOfSuperclass.pm', + 'lib/Moose/Exception/InitMetaRequiresClass.pm', + 'lib/Moose/Exception/InitializeTakesUnBlessedPackageName.pm', + 'lib/Moose/Exception/InstanceBlessedIntoWrongClass.pm', + 'lib/Moose/Exception/InstanceMustBeABlessedReference.pm', + 'lib/Moose/Exception/InvalidArgPassedToMooseUtilMetaRole.pm', + 'lib/Moose/Exception/InvalidArgumentToMethod.pm', + 'lib/Moose/Exception/InvalidArgumentsToTraitAliases.pm', + 'lib/Moose/Exception/InvalidBaseTypeGivenToCreateParameterizedTypeConstraint.pm', + 'lib/Moose/Exception/InvalidHandleValue.pm', + 'lib/Moose/Exception/InvalidHasProvidedInARole.pm', + 'lib/Moose/Exception/InvalidNameForType.pm', + 'lib/Moose/Exception/InvalidOverloadOperator.pm', + 'lib/Moose/Exception/InvalidRoleApplication.pm', + 'lib/Moose/Exception/InvalidTypeConstraint.pm', + 'lib/Moose/Exception/InvalidTypeGivenToCreateParameterizedTypeConstraint.pm', + 'lib/Moose/Exception/InvalidValueForIs.pm', + 'lib/Moose/Exception/IsaDoesNotDoTheRole.pm', + 'lib/Moose/Exception/IsaLacksDoesMethod.pm', + 'lib/Moose/Exception/LazyAttributeNeedsADefault.pm', + 'lib/Moose/Exception/Legacy.pm', + 'lib/Moose/Exception/MOPAttributeNewNeedsAttributeName.pm', + 'lib/Moose/Exception/MatchActionMustBeACodeRef.pm', + 'lib/Moose/Exception/MessageParameterMustBeCodeRef.pm', + 'lib/Moose/Exception/MetaclassIsAClassNotASubclassOfGivenMetaclass.pm', + 'lib/Moose/Exception/MetaclassIsARoleNotASubclassOfGivenMetaclass.pm', + 'lib/Moose/Exception/MetaclassIsNotASubclassOfGivenMetaclass.pm', + 'lib/Moose/Exception/MetaclassMustBeASubclassOfMooseMetaClass.pm', + 'lib/Moose/Exception/MetaclassMustBeASubclassOfMooseMetaRole.pm', + 'lib/Moose/Exception/MetaclassMustBeDerivedFromClassMOPClass.pm', + 'lib/Moose/Exception/MetaclassNotLoaded.pm', + 'lib/Moose/Exception/MetaclassTypeIncompatible.pm', + 'lib/Moose/Exception/MethodExpectedAMetaclassObject.pm', + 'lib/Moose/Exception/MethodExpectsFewerArgs.pm', + 'lib/Moose/Exception/MethodExpectsMoreArgs.pm', + 'lib/Moose/Exception/MethodModifierNeedsMethodName.pm', + 'lib/Moose/Exception/MethodNameConflictInRoles.pm', + 'lib/Moose/Exception/MethodNameNotFoundInInheritanceHierarchy.pm', + 'lib/Moose/Exception/MethodNameNotGiven.pm', + 'lib/Moose/Exception/MustDefineAMethodName.pm', + 'lib/Moose/Exception/MustDefineAnAttributeName.pm', + 'lib/Moose/Exception/MustDefineAnOverloadOperator.pm', + 'lib/Moose/Exception/MustHaveAtLeastOneValueToEnumerate.pm', + 'lib/Moose/Exception/MustPassAHashOfOptions.pm', + 'lib/Moose/Exception/MustPassAMooseMetaRoleInstanceOrSubclass.pm', + 'lib/Moose/Exception/MustPassAPackageNameOrAnExistingClassMOPPackageInstance.pm', + 'lib/Moose/Exception/MustPassEvenNumberOfArguments.pm', + 'lib/Moose/Exception/MustPassEvenNumberOfAttributeOptions.pm', + 'lib/Moose/Exception/MustProvideANameForTheAttribute.pm', + 'lib/Moose/Exception/MustSpecifyAtleastOneMethod.pm', + 'lib/Moose/Exception/MustSpecifyAtleastOneRole.pm', + 'lib/Moose/Exception/MustSpecifyAtleastOneRoleToApplicant.pm', + 'lib/Moose/Exception/MustSupplyAClassMOPAttributeInstance.pm', + 'lib/Moose/Exception/MustSupplyADelegateToMethod.pm', + 'lib/Moose/Exception/MustSupplyAMetaclass.pm', + 'lib/Moose/Exception/MustSupplyAMooseMetaAttributeInstance.pm', + 'lib/Moose/Exception/MustSupplyAnAccessorTypeToConstructWith.pm', + 'lib/Moose/Exception/MustSupplyAnAttributeToConstructWith.pm', + 'lib/Moose/Exception/MustSupplyArrayRefAsCurriedArguments.pm', + 'lib/Moose/Exception/MustSupplyPackageNameAndName.pm', + 'lib/Moose/Exception/NeedsTypeConstraintUnionForTypeCoercionUnion.pm', + 'lib/Moose/Exception/NeitherAttributeNorAttributeNameIsGiven.pm', + 'lib/Moose/Exception/NeitherClassNorClassNameIsGiven.pm', + 'lib/Moose/Exception/NeitherRoleNorRoleNameIsGiven.pm', + 'lib/Moose/Exception/NeitherTypeNorTypeNameIsGiven.pm', + 'lib/Moose/Exception/NoAttributeFoundInSuperClass.pm', + 'lib/Moose/Exception/NoBodyToInitializeInAnAbstractBaseClass.pm', + 'lib/Moose/Exception/NoCasesMatched.pm', + 'lib/Moose/Exception/NoConstraintCheckForTypeConstraint.pm', + 'lib/Moose/Exception/NoDestructorClassSpecified.pm', + 'lib/Moose/Exception/NoImmutableTraitSpecifiedForClass.pm', + 'lib/Moose/Exception/NoParentGivenToSubtype.pm', + 'lib/Moose/Exception/OnlyInstancesCanBeCloned.pm', + 'lib/Moose/Exception/OperatorIsRequired.pm', + 'lib/Moose/Exception/OverloadConflictInSummation.pm', + 'lib/Moose/Exception/OverloadRequiresAMetaClass.pm', + 'lib/Moose/Exception/OverloadRequiresAMetaMethod.pm', + 'lib/Moose/Exception/OverloadRequiresAMetaOverload.pm', + 'lib/Moose/Exception/OverloadRequiresAMethodNameOrCoderef.pm', + 'lib/Moose/Exception/OverloadRequiresAnOperator.pm', + 'lib/Moose/Exception/OverloadRequiresNamesForCoderef.pm', + 'lib/Moose/Exception/OverrideConflictInComposition.pm', + 'lib/Moose/Exception/OverrideConflictInSummation.pm', + 'lib/Moose/Exception/PackageDoesNotUseMooseExporter.pm', + 'lib/Moose/Exception/PackageNameAndNameParamsNotGivenToWrap.pm', + 'lib/Moose/Exception/PackagesAndModulesAreNotCachable.pm', + 'lib/Moose/Exception/ParameterIsNotSubtypeOfParent.pm', + 'lib/Moose/Exception/ReferencesAreNotAllowedAsDefault.pm', + 'lib/Moose/Exception/RequiredAttributeLacksInitialization.pm', + 'lib/Moose/Exception/RequiredAttributeNeedsADefault.pm', + 'lib/Moose/Exception/RequiredMethodsImportedByClass.pm', + 'lib/Moose/Exception/RequiredMethodsNotImplementedByClass.pm', + 'lib/Moose/Exception/Role/Attribute.pm', + 'lib/Moose/Exception/Role/AttributeName.pm', + 'lib/Moose/Exception/Role/Class.pm', + 'lib/Moose/Exception/Role/EitherAttributeOrAttributeName.pm', + 'lib/Moose/Exception/Role/Instance.pm', + 'lib/Moose/Exception/Role/InstanceClass.pm', + 'lib/Moose/Exception/Role/InvalidAttributeOptions.pm', + 'lib/Moose/Exception/Role/Method.pm', + 'lib/Moose/Exception/Role/ParamsHash.pm', + 'lib/Moose/Exception/Role/Role.pm', + 'lib/Moose/Exception/Role/RoleForCreate.pm', + 'lib/Moose/Exception/Role/RoleForCreateMOPClass.pm', + 'lib/Moose/Exception/Role/TypeConstraint.pm', + 'lib/Moose/Exception/RoleDoesTheExcludedRole.pm', + 'lib/Moose/Exception/RoleExclusionConflict.pm', + 'lib/Moose/Exception/RoleNameRequired.pm', + 'lib/Moose/Exception/RoleNameRequiredForMooseMetaRole.pm', + 'lib/Moose/Exception/RolesDoNotSupportAugment.pm', + 'lib/Moose/Exception/RolesDoNotSupportExtends.pm', + 'lib/Moose/Exception/RolesDoNotSupportInner.pm', + 'lib/Moose/Exception/RolesDoNotSupportRegexReferencesForMethodModifiers.pm', + 'lib/Moose/Exception/RolesInCreateTakesAnArrayRef.pm', + 'lib/Moose/Exception/RolesListMustBeInstancesOfMooseMetaRole.pm', + 'lib/Moose/Exception/SingleParamsToNewMustBeHashRef.pm', + 'lib/Moose/Exception/TriggerMustBeACodeRef.pm', + 'lib/Moose/Exception/TypeConstraintCannotBeUsedForAParameterizableType.pm', + 'lib/Moose/Exception/TypeConstraintIsAlreadyCreated.pm', + 'lib/Moose/Exception/TypeParameterMustBeMooseMetaType.pm', + 'lib/Moose/Exception/UnableToCanonicalizeHandles.pm', + 'lib/Moose/Exception/UnableToCanonicalizeNonRolePackage.pm', + 'lib/Moose/Exception/UnableToRecognizeDelegateMetaclass.pm', + 'lib/Moose/Exception/UndefinedHashKeysPassedToMethod.pm', + 'lib/Moose/Exception/UnionCalledWithAnArrayRefAndAdditionalArgs.pm', + 'lib/Moose/Exception/UnionTakesAtleastTwoTypeNames.pm', + 'lib/Moose/Exception/ValidationFailedForInlineTypeConstraint.pm', + 'lib/Moose/Exception/ValidationFailedForTypeConstraint.pm', + 'lib/Moose/Exception/WrapTakesACodeRefToBless.pm', + 'lib/Moose/Exception/WrongTypeConstraintGiven.pm', + 'lib/Moose/Exporter.pm', + 'lib/Moose/Intro.pod', + 'lib/Moose/Manual.pod', + 'lib/Moose/Manual/Attributes.pod', + 'lib/Moose/Manual/BestPractices.pod', + 'lib/Moose/Manual/Classes.pod', + 'lib/Moose/Manual/Concepts.pod', + 'lib/Moose/Manual/Construction.pod', + 'lib/Moose/Manual/Contributing.pod', + 'lib/Moose/Manual/Delegation.pod', + 'lib/Moose/Manual/Delta.pod', + 'lib/Moose/Manual/Exceptions.pod', + 'lib/Moose/Manual/Exceptions/Manifest.pod', + 'lib/Moose/Manual/FAQ.pod', + 'lib/Moose/Manual/MOP.pod', + 'lib/Moose/Manual/MethodModifiers.pod', + 'lib/Moose/Manual/MooseX.pod', + 'lib/Moose/Manual/Resources.pod', + 'lib/Moose/Manual/Roles.pod', + 'lib/Moose/Manual/Support.pod', + 'lib/Moose/Manual/Types.pod', + 'lib/Moose/Manual/Unsweetened.pod', + 'lib/Moose/Meta/Attribute.pm', + 'lib/Moose/Meta/Attribute/Native.pm', + 'lib/Moose/Meta/Attribute/Native/Trait.pm', + 'lib/Moose/Meta/Attribute/Native/Trait/Array.pm', + 'lib/Moose/Meta/Attribute/Native/Trait/Bool.pm', + 'lib/Moose/Meta/Attribute/Native/Trait/Code.pm', + 'lib/Moose/Meta/Attribute/Native/Trait/Counter.pm', + 'lib/Moose/Meta/Attribute/Native/Trait/Hash.pm', + 'lib/Moose/Meta/Attribute/Native/Trait/Number.pm', + 'lib/Moose/Meta/Attribute/Native/Trait/String.pm', + 'lib/Moose/Meta/Class.pm', + 'lib/Moose/Meta/Class/Immutable/Trait.pm', + 'lib/Moose/Meta/Instance.pm', + 'lib/Moose/Meta/Method.pm', + 'lib/Moose/Meta/Method/Accessor.pm', + 'lib/Moose/Meta/Method/Accessor/Native.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/Writer.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/accessor.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/clear.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/count.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/delete.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/elements.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/first.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/first_index.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/get.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/grep.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/insert.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/is_empty.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/join.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/map.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/natatime.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/pop.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/push.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/reduce.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/set.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/shallow_clone.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/shift.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/shuffle.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/sort.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/sort_in_place.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/splice.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/uniq.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Array/unshift.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Bool/not.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Bool/set.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Bool/toggle.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Bool/unset.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Code/execute.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Code/execute_method.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Collection.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Counter/Writer.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Counter/dec.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Counter/inc.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Counter/reset.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Counter/set.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/Writer.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/accessor.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/clear.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/count.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/defined.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/delete.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/elements.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/exists.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/get.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/is_empty.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/keys.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/kv.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/set.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/shallow_clone.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Hash/values.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Number/abs.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Number/add.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Number/div.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Number/mod.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Number/mul.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Number/set.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Number/sub.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Reader.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/append.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/chomp.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/chop.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/clear.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/inc.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/length.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/match.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/prepend.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/replace.pm', + 'lib/Moose/Meta/Method/Accessor/Native/String/substr.pm', + 'lib/Moose/Meta/Method/Accessor/Native/Writer.pm', + 'lib/Moose/Meta/Method/Augmented.pm', + 'lib/Moose/Meta/Method/Constructor.pm', + 'lib/Moose/Meta/Method/Delegation.pm', + 'lib/Moose/Meta/Method/Destructor.pm', + 'lib/Moose/Meta/Method/Meta.pm', + 'lib/Moose/Meta/Method/Overridden.pm', + 'lib/Moose/Meta/Mixin/AttributeCore.pm', + 'lib/Moose/Meta/Object/Trait.pm', + 'lib/Moose/Meta/Role.pm', + 'lib/Moose/Meta/Role/Application.pm', + 'lib/Moose/Meta/Role/Application/RoleSummation.pm', + 'lib/Moose/Meta/Role/Application/ToClass.pm', + 'lib/Moose/Meta/Role/Application/ToInstance.pm', + 'lib/Moose/Meta/Role/Application/ToRole.pm', + 'lib/Moose/Meta/Role/Attribute.pm', + 'lib/Moose/Meta/Role/Composite.pm', + 'lib/Moose/Meta/Role/Method.pm', + 'lib/Moose/Meta/Role/Method/Conflicting.pm', + 'lib/Moose/Meta/Role/Method/Required.pm', + 'lib/Moose/Meta/TypeCoercion.pm', + 'lib/Moose/Meta/TypeCoercion/Union.pm', + 'lib/Moose/Meta/TypeConstraint.pm', + 'lib/Moose/Meta/TypeConstraint/Class.pm', + 'lib/Moose/Meta/TypeConstraint/DuckType.pm', + 'lib/Moose/Meta/TypeConstraint/Enum.pm', + 'lib/Moose/Meta/TypeConstraint/Parameterizable.pm', + 'lib/Moose/Meta/TypeConstraint/Parameterized.pm', + 'lib/Moose/Meta/TypeConstraint/Registry.pm', + 'lib/Moose/Meta/TypeConstraint/Role.pm', + 'lib/Moose/Meta/TypeConstraint/Union.pm', + 'lib/Moose/Object.pm', + 'lib/Moose/Role.pm', + 'lib/Moose/Spec/Role.pod', + 'lib/Moose/Unsweetened.pod', + 'lib/Moose/Util.pm', + 'lib/Moose/Util/MetaRole.pm', + 'lib/Moose/Util/TypeConstraints.pm', + 'lib/Moose/Util/TypeConstraints/Builtins.pm', + 'lib/Test/Moose.pm', + 'lib/metaclass.pm', + 'lib/oose.pm', + 't/00-report-prereqs.dd', + 't/00-report-prereqs.t', + 't/000_load.t', + 't/attributes/accessor_context.t', + 't/attributes/accessor_inlining.t', + 't/attributes/accessor_override_method.t', + 't/attributes/accessor_overwrite_warning.t', + 't/attributes/attr_dereference_test.t', + 't/attributes/attribute_accessor_generation.t', + 't/attributes/attribute_custom_metaclass.t', + 't/attributes/attribute_delegation.t', + 't/attributes/attribute_does.t', + 't/attributes/attribute_inherited_slot_specs.t', + 't/attributes/attribute_lazy_initializer.t', + 't/attributes/attribute_names.t', + 't/attributes/attribute_reader_generation.t', + 't/attributes/attribute_required.t', + 't/attributes/attribute_traits.t', + 't/attributes/attribute_traits_n_meta.t', + 't/attributes/attribute_traits_parameterized.t', + 't/attributes/attribute_traits_registered.t', + 't/attributes/attribute_triggers.t', + 't/attributes/attribute_type_unions.t', + 't/attributes/attribute_without_any_methods.t', + 't/attributes/attribute_writer_generation.t', + 't/attributes/bad_coerce.t', + 't/attributes/chained_coercion.t', + 't/attributes/clone_weak.t', + 't/attributes/default_class_role_types.t', + 't/attributes/default_undef.t', + 't/attributes/delegation_and_modifiers.t', + 't/attributes/delegation_arg_aliasing.t', + 't/attributes/delegation_target_not_loaded.t', + 't/attributes/illegal_options_for_inheritance.t', + 't/attributes/inherit_lazy_build.t', + 't/attributes/lazy_no_default.t', + 't/attributes/method_generation_rules.t', + 't/attributes/misc_attribute_coerce_lazy.t', + 't/attributes/misc_attribute_tests.t', + 't/attributes/more_attr_delegation.t', + 't/attributes/no_init_arg.t', + 't/attributes/no_slot_access.t', + 't/attributes/non_alpha_attr_names.t', + 't/attributes/numeric_defaults.t', + 't/attributes/trigger_and_coerce.t', + 't/attributes/type_constraint.t', + 't/basics/always_strict_warnings.t', + 't/basics/basic_class_setup.t', + 't/basics/buildargs.t', + 't/basics/buildargs_warning.t', + 't/basics/create.t', + 't/basics/create_anon.t', + 't/basics/deprecations.t', + 't/basics/destruction.t', + 't/basics/error_handling.t', + 't/basics/global-destruction-helper.pl', + 't/basics/global_destruction.t', + 't/basics/import_unimport.t', + 't/basics/inner_and_augment.t', + 't/basics/load_into_main.t', + 't/basics/method_modifier_with_regexp.t', + 't/basics/methods.t', + 't/basics/moose_object_does.t', + 't/basics/moose_respects_type_constraints.t', + 't/basics/override_and_foreign_classes.t', + 't/basics/override_augment_inner_super.t', + 't/basics/rebless.t', + 't/basics/require_superclasses.t', + 't/basics/super_and_override.t', + 't/basics/super_warns_on_args.t', + 't/basics/universal_methods_wrappable.t', + 't/basics/wrapped_method_cxt_propagation.t', + 't/bugs/DEMOLISHALL.t', + 't/bugs/DEMOLISHALL_shortcutted.t', + 't/bugs/DEMOLISH_eats_exceptions.t', + 't/bugs/DEMOLISH_eats_mini.t', + 't/bugs/DEMOLISH_fails_without_metaclass.t', + 't/bugs/Moose_Object_error.t', + 't/bugs/anon_method_metaclass.t', + 't/bugs/application_metarole_compat.t', + 't/bugs/apply_role_to_one_instance_only.t', + 't/bugs/attribute_trait_parameters.t', + 't/bugs/augment_recursion_bug.t', + 't/bugs/coerce_without_coercion.t', + 't/bugs/constructor_object_overload.t', + 't/bugs/create_anon_recursion.t', + 't/bugs/create_anon_role_pass.t', + 't/bugs/delete_sub_stash.t', + 't/bugs/handles_foreign_class_bug.t', + 't/bugs/immutable_metaclass_does_role.t', + 't/bugs/immutable_n_default_x2.t', + 't/bugs/inheriting_from_roles.t', + 't/bugs/inline_reader_bug.t', + 't/bugs/instance_application_role_args.t', + 't/bugs/lazybuild_required_undef.t', + 't/bugs/mark_as_methods_overloading_breakage.t', + 't/bugs/moose_exporter_false_circular_reference_rt_63818.t', + 't/bugs/moose_octal_defaults.t', + 't/bugs/native_trait_handles_bad_value.t', + 't/bugs/overloading_edge_cases.t', + 't/bugs/reader_precedence_bug.t', + 't/bugs/role_caller.t', + 't/bugs/subclass_use_base_bug.t', + 't/bugs/subtype_conflict_bug.t', + 't/bugs/subtype_quote_bug.t', + 't/bugs/super_recursion.t', + 't/bugs/traits_with_exporter.t', + 't/bugs/type_constraint_messages.t', + 't/cmop/ArrayBasedStorage_test.t', + 't/cmop/AttributesWithHistory_test.t', + 't/cmop/BinaryTree_test.t', + 't/cmop/C3MethodDispatchOrder_test.t', + 't/cmop/ClassEncapsulatedAttributes_test.t', + 't/cmop/Class_C3_compatibility.t', + 't/cmop/InsideOutClass_test.t', + 't/cmop/InstanceCountingClass_test.t', + 't/cmop/LazyClass_test.t', + 't/cmop/Perl6Attribute_test.t', + 't/cmop/RT_27329_fix.t', + 't/cmop/RT_39001_fix.t', + 't/cmop/RT_41255.t', + 't/cmop/add_attribute_alternate.t', + 't/cmop/add_method_debugmode.t', + 't/cmop/add_method_modifier.t', + 't/cmop/advanced_methods.t', + 't/cmop/anon_class.t', + 't/cmop/anon_class_create_init.t', + 't/cmop/anon_class_keep_alive.t', + 't/cmop/anon_class_leak.t', + 't/cmop/anon_class_removal.t', + 't/cmop/anon_packages.t', + 't/cmop/attribute.t', + 't/cmop/attribute_duplication.t', + 't/cmop/attribute_errors_and_edge_cases.t', + 't/cmop/attribute_get_read_write.t', + 't/cmop/attribute_initializer.t', + 't/cmop/attribute_introspection.t', + 't/cmop/attribute_non_alpha_name.t', + 't/cmop/attributes.t', + 't/cmop/basic.t', + 't/cmop/before_after_dollar_under.t', + 't/cmop/class_errors_and_edge_cases.t', + 't/cmop/class_is_pristine.t', + 't/cmop/class_precedence_list.t', + 't/cmop/constant_codeinfo.t', + 't/cmop/create_class.t', + 't/cmop/custom_instance.t', + 't/cmop/deprecated.t', + 't/cmop/get_code_info.t', + 't/cmop/immutable_custom_trait.t', + 't/cmop/immutable_metaclass.t', + 't/cmop/immutable_w_constructors.t', + 't/cmop/immutable_w_custom_metaclass.t', + 't/cmop/inline_and_dollar_at.t', + 't/cmop/inline_structor.t', + 't/cmop/insertion_order.t', + 't/cmop/instance.t', + 't/cmop/instance_inline.t', + 't/cmop/instance_metaclass_incompat.t', + 't/cmop/instance_metaclass_incompat_dyn.t', + 't/cmop/lib/ArrayBasedStorage.pm', + 't/cmop/lib/AttributesWithHistory.pm', + 't/cmop/lib/BinaryTree.pm', + 't/cmop/lib/C3MethodDispatchOrder.pm', + 't/cmop/lib/ClassEncapsulatedAttributes.pm', + 't/cmop/lib/InsideOutClass.pm', + 't/cmop/lib/InstanceCountingClass.pm', + 't/cmop/lib/LazyClass.pm', + 't/cmop/lib/MyMetaClass.pm', + 't/cmop/lib/MyMetaClass/Attribute.pm', + 't/cmop/lib/MyMetaClass/Instance.pm', + 't/cmop/lib/MyMetaClass/Method.pm', + 't/cmop/lib/MyMetaClass/Random.pm', + 't/cmop/lib/Perl6Attribute.pm', + 't/cmop/lib/SyntaxError.pm', + 't/cmop/load.t', + 't/cmop/magic.t', + 't/cmop/make_mutable.t', + 't/cmop/meta_method.t', + 't/cmop/meta_package.t', + 't/cmop/meta_package_extension.t', + 't/cmop/metaclass.t', + 't/cmop/metaclass_incompatibility.t', + 't/cmop/metaclass_incompatibility_dyn.t', + 't/cmop/metaclass_inheritance.t', + 't/cmop/metaclass_loads_classes.t', + 't/cmop/metaclass_reinitialize.t', + 't/cmop/method.t', + 't/cmop/method_modifiers.t', + 't/cmop/methods.t', + 't/cmop/modify_parent_method.t', + 't/cmop/new_and_clone_metaclasses.t', + 't/cmop/null_stash.t', + 't/cmop/numeric_defaults.t', + 't/cmop/package_variables.t', + 't/cmop/random_eval_bug.t', + 't/cmop/rebless_instance.t', + 't/cmop/rebless_instance_away.t', + 't/cmop/rebless_overload.t', + 't/cmop/rebless_with_extra_params.t', + 't/cmop/scala_style_mixin_composition.t', + 't/cmop/self_introspection.t', + 't/cmop/subclasses.t', + 't/cmop/subname.t', + 't/cmop/universal_methods.t', + 't/compat/composite_metaroles.t', + 't/compat/extends_nonmoose_that_isa_moose_with_metarole.t', + 't/compat/foreign_inheritence.t', + 't/compat/inc_hash.t', + 't/compat/module_refresh_compat.t', + 't/compat/moose_respects_base.t', + 't/examples/Child_Parent_attr_inherit.t', + 't/examples/example1.t', + 't/examples/example2.t', + 't/examples/example_Moose_POOP.t', + 't/examples/example_Protomoose.t', + 't/examples/example_w_DCS.t', + 't/examples/example_w_TestDeep.t', + 't/examples/record_set_iterator.t', + 't/exceptions/attribute.t', + 't/exceptions/class-mop-attribute.t', + 't/exceptions/class-mop-class-immutable-trait.t', + 't/exceptions/class-mop-class.t', + 't/exceptions/class-mop-method-accessor.t', + 't/exceptions/class-mop-method-constructor.t', + 't/exceptions/class-mop-method-generated.t', + 't/exceptions/class-mop-method-meta.t', + 't/exceptions/class-mop-method-wrapped.t', + 't/exceptions/class-mop-method.t', + 't/exceptions/class-mop-mixin-hasattributes.t', + 't/exceptions/class-mop-mixin-hasmethods.t', + 't/exceptions/class-mop-module.t', + 't/exceptions/class-mop-object.t', + 't/exceptions/class-mop-package.t', + 't/exceptions/class.t', + 't/exceptions/cmop.t', + 't/exceptions/exception-lazyattributeneedsadefault.t', + 't/exceptions/frame-leak.t', + 't/exceptions/meta-role.t', + 't/exceptions/metaclass.t', + 't/exceptions/moose-exporter.t', + 't/exceptions/moose-meta-attribute-native-traits.t', + 't/exceptions/moose-meta-class-immutable-trait.t', + 't/exceptions/moose-meta-method-accessor-native-array.t', + 't/exceptions/moose-meta-method-accessor-native-collection.t', + 't/exceptions/moose-meta-method-accessor-native-grep.t', + 't/exceptions/moose-meta-method-accessor-native-hash-set.t', + 't/exceptions/moose-meta-method-accessor-native-hash.t', + 't/exceptions/moose-meta-method-accessor-native-string-match.t', + 't/exceptions/moose-meta-method-accessor-native-string-replace.t', + 't/exceptions/moose-meta-method-accessor-native-string-substr.t', + 't/exceptions/moose-meta-method-accessor-native.t', + 't/exceptions/moose-meta-method-accessor.t', + 't/exceptions/moose-meta-method-augmented.t', + 't/exceptions/moose-meta-method-constructor.t', + 't/exceptions/moose-meta-method-delegation.t', + 't/exceptions/moose-meta-method-destructor.t', + 't/exceptions/moose-meta-method-overridden.t', + 't/exceptions/moose-meta-role-application-rolesummation.t', + 't/exceptions/moose-meta-role-application-toclass.t', + 't/exceptions/moose-meta-role-application-torole.t', + 't/exceptions/moose-meta-role-application.t', + 't/exceptions/moose-meta-role-attribute.t', + 't/exceptions/moose-meta-role-composite.t', + 't/exceptions/moose-meta-typecoercion-union.t', + 't/exceptions/moose-meta-typecoercion.t', + 't/exceptions/moose-meta-typeconstraint-enum.t', + 't/exceptions/moose-meta-typeconstraint-parameterizable.t', + 't/exceptions/moose-meta-typeconstraint-parameterized.t', + 't/exceptions/moose-meta-typeconstraint-registry.t', + 't/exceptions/moose-meta-typeconstraint.t', + 't/exceptions/moose-role.t', + 't/exceptions/moose-util-metarole.t', + 't/exceptions/moose-util-typeconstraints.t', + 't/exceptions/moose.t', + 't/exceptions/object.t', + 't/exceptions/overload.t', + 't/exceptions/rt-92818.t', + 't/exceptions/rt-94795.t', + 't/exceptions/stringify.t', + 't/exceptions/traits.t', + 't/exceptions/typeconstraints.t', + 't/exceptions/util.t', + 't/immutable/apply_roles_to_immutable.t', + 't/immutable/buildargs.t', + 't/immutable/constructor_is_not_moose.t', + 't/immutable/constructor_is_wrapped.t', + 't/immutable/default_values.t', + 't/immutable/definition_context.t', + 't/immutable/immutable_constructor_error.t', + 't/immutable/immutable_destroy.t', + 't/immutable/immutable_meta_class.t', + 't/immutable/immutable_metaclass_with_traits.t', + 't/immutable/immutable_moose.t', + 't/immutable/immutable_roundtrip.t', + 't/immutable/immutable_trigger_from_constructor.t', + 't/immutable/inline_close_over.t', + 't/immutable/inline_fallbacks.t', + 't/immutable/inlined_constructors_n_types.t', + 't/immutable/multiple_demolish_inline.t', + 't/lib/Bar.pm', + 't/lib/Bar7/Meta/Trait.pm', + 't/lib/Bar7/Meta/Trait2.pm', + 't/lib/Foo.pm', + 't/lib/Moose/Meta/Attribute/Custom/Bar.pm', + 't/lib/Moose/Meta/Attribute/Custom/Foo.pm', + 't/lib/Moose/Meta/Attribute/Custom/Trait/Bar.pm', + 't/lib/Moose/Meta/Attribute/Custom/Trait/Foo.pm', + 't/lib/MyExporter.pm', + 't/lib/MyMetaclassRole.pm', + 't/lib/MyMooseA.pm', + 't/lib/MyMooseB.pm', + 't/lib/MyMooseObject.pm', + 't/lib/NoInlineAttribute.pm', + 't/lib/Overloading/ClassConsumesRoleConsumesOverloads.pm', + 't/lib/Overloading/ClassWithCombiningRole.pm', + 't/lib/Overloading/ClassWithOneRole.pm', + 't/lib/Overloading/CombiningClass.pm', + 't/lib/Overloading/CombiningRole.pm', + 't/lib/Overloading/RoleConsumesOverloads.pm', + 't/lib/Overloading/RoleWithOverloads.pm', + 't/lib/Overloading/RoleWithoutOverloads.pm', + 't/lib/OverloadingTests.pm', + 't/lib/Real/Package.pm', + 't/lib/Role/BreakOnLoad.pm', + 't/lib/Role/Child.pm', + 't/lib/Role/Interface.pm', + 't/lib/Role/Parent.pm', + 't/metaclasses/create_anon_with_required_attr.t', + 't/metaclasses/custom_attr_meta_as_role.t', + 't/metaclasses/custom_attr_meta_with_roles.t', + 't/metaclasses/easy_init_meta.t', + 't/metaclasses/export_with_prototype.t', + 't/metaclasses/exporter_also_with_trait.t', + 't/metaclasses/exporter_meta_lookup.t', + 't/metaclasses/exporter_sub_names.t', + 't/metaclasses/goto_moose_import.t', + 't/metaclasses/immutable_metaclass_compat_bug.t', + 't/metaclasses/meta_name.t', + 't/metaclasses/metaclass_compat.t', + 't/metaclasses/metaclass_compat_no_fixing_bug.t', + 't/metaclasses/metaclass_compat_role_conflicts.t', + 't/metaclasses/metaclass_parameterized_traits.t', + 't/metaclasses/metaclass_traits.t', + 't/metaclasses/metarole.t', + 't/metaclasses/metarole_combination.t', + 't/metaclasses/metarole_on_anon.t', + 't/metaclasses/metarole_w_metaclass_pm.t', + 't/metaclasses/metaroles_of_metaroles.t', + 't/metaclasses/moose_exporter.t', + 't/metaclasses/moose_exporter_trait_aliases.t', + 't/metaclasses/moose_for_meta.t', + 't/metaclasses/moose_nonmoose_metatrait_init_order.t', + 't/metaclasses/moose_nonmoose_moose_chain_init_meta.t', + 't/metaclasses/moose_w_metaclass.t', + 't/metaclasses/new_metaclass.t', + 't/metaclasses/new_object_BUILD.t', + 't/metaclasses/overloading.t', + 't/metaclasses/reinitialize.t', + 't/metaclasses/use_base_of_moose.t', + 't/moose_util/apply_roles.t', + 't/moose_util/create_alias.t', + 't/moose_util/ensure_all_roles.t', + 't/moose_util/method_mod_args.t', + 't/moose_util/moose_util.t', + 't/moose_util/moose_util_does_role.t', + 't/moose_util/moose_util_search_class_by_role.t', + 't/moose_util/resolve_alias.t', + 't/moose_util/with_traits.t', + 't/native_traits/array_coerce.t', + 't/native_traits/array_from_role.t', + 't/native_traits/array_subtypes.t', + 't/native_traits/array_trigger.t', + 't/native_traits/collection_with_roles.t', + 't/native_traits/custom_instance.t', + 't/native_traits/hash_coerce.t', + 't/native_traits/hash_subtypes.t', + 't/native_traits/hash_trigger.t', + 't/native_traits/remove_attribute.t', + 't/native_traits/shallow_clone.t', + 't/native_traits/trait_array.t', + 't/native_traits/trait_bool.t', + 't/native_traits/trait_code.t', + 't/native_traits/trait_counter.t', + 't/native_traits/trait_hash.t', + 't/native_traits/trait_number.t', + 't/native_traits/trait_string.t', + 't/recipes/basics_bankaccount_methodmodifiersandsubclassing.t', + 't/recipes/basics_binarytree_attributefeatures.t', + 't/recipes/basics_company_subtypes.t', + 't/recipes/basics_datetime_extendingnonmooseparent.t', + 't/recipes/basics_document_augmentandinner.t', + 't/recipes/basics_genome_overloadingsubtypesandcoercion.t', + 't/recipes/basics_http_subtypesandcoercion.t', + 't/recipes/basics_point_attributesandsubclassing.t', + 't/recipes/extending_debugging_baseclassrole.t', + 't/recipes/extending_mooseish_moosesugar.t', + 't/recipes/legacy_debugging_baseclassreplacement.t', + 't/recipes/legacy_labeled_attributemetaclass.t', + 't/recipes/meta_globref_instancemetaclass.t', + 't/recipes/meta_labeled_attributetrait.t', + 't/recipes/meta_privateorpublic_methodmetaclass.t', + 't/recipes/meta_table_metaclasstrait.t', + 't/recipes/roles_applicationtoinstance.t', + 't/recipes/roles_comparable_codereuse.t', + 't/recipes/roles_restartable_advancedcomposition.t', + 't/roles/anonymous_roles.t', + 't/roles/application_toclass.t', + 't/roles/apply_role.t', + 't/roles/build.t', + 't/roles/conflict_many_methods.t', + 't/roles/create_role.t', + 't/roles/create_role_subclass.t', + 't/roles/empty_method_modifiers_meta_bug.t', + 't/roles/extending_role_attrs.t', + 't/roles/free_anonymous_roles.t', + 't/roles/imported_required_method.t', + 't/roles/meta_role.t', + 't/roles/method_aliasing_in_composition.t', + 't/roles/method_exclusion_in_composition.t', + 't/roles/method_modifiers.t', + 't/roles/methods.t', + 't/roles/more_alias_and_exclude.t', + 't/roles/more_role_edge_cases.t', + 't/roles/new_meta_role.t', + 't/roles/overloading_combine_to_class.t', + 't/roles/overloading_combine_to_instance.t', + 't/roles/overloading_combine_to_role.t', + 't/roles/overloading_composition_errors.t', + 't/roles/overloading_remove_attributes_bug.t', + 't/roles/overloading_to_class.t', + 't/roles/overloading_to_instance.t', + 't/roles/overloading_to_role.t', + 't/roles/overriding.t', + 't/roles/reinitialize_anon_role.t', + 't/roles/role.t', + 't/roles/role_attr_application.t', + 't/roles/role_attribute_conflict.t', + 't/roles/role_attrs.t', + 't/roles/role_compose_requires.t', + 't/roles/role_composite.t', + 't/roles/role_composite_exclusion.t', + 't/roles/role_composition_attributes.t', + 't/roles/role_composition_conflict_detection.t', + 't/roles/role_composition_errors.t', + 't/roles/role_composition_method_mods.t', + 't/roles/role_composition_methods.t', + 't/roles/role_composition_override.t', + 't/roles/role_composition_req_methods.t', + 't/roles/role_conflict_detection.t', + 't/roles/role_conflict_edge_cases.t', + 't/roles/role_consumers.t', + 't/roles/role_exclusion.t', + 't/roles/role_exclusion_and_alias_bug.t', + 't/roles/role_for_combination.t', + 't/roles/roles_and_method_cloning.t', + 't/roles/roles_and_req_method_edge_cases.t', + 't/roles/roles_applied_in_create.t', + 't/roles/run_time_role_composition.t', + 't/roles/runtime_roles_and_attrs.t', + 't/roles/runtime_roles_and_nonmoose.t', + 't/roles/runtime_roles_w_params.t', + 't/roles/use_base_does.t', + 't/test_moose/test_moose.t', + 't/test_moose/test_moose_does_ok.t', + 't/test_moose/test_moose_has_attribute_ok.t', + 't/test_moose/test_moose_meta_ok.t', + 't/test_moose/with_immutable.t', + 't/todo_tests/exception_reflects_failed_constraint.t', + 't/todo_tests/immutable_n_around.t', + 't/todo_tests/moose_and_threads.t', + 't/todo_tests/replacing_super_methods.t', + 't/todo_tests/required_role_accessors.t', + 't/todo_tests/role_attr_methods_original_package.t', + 't/todo_tests/role_insertion_order.t', + 't/todo_tests/various_role_features.t', + 't/todo_tests/wrong-inner.t', + 't/type_constraints/advanced_type_creation.t', + 't/type_constraints/class_subtypes.t', + 't/type_constraints/class_type_constraint.t', + 't/type_constraints/coerced_parameterized_types.t', + 't/type_constraints/container_type_coercion.t', + 't/type_constraints/container_type_constraint.t', + 't/type_constraints/custom_parameterized_types.t', + 't/type_constraints/custom_type_errors.t', + 't/type_constraints/define_type_twice_throws.t', + 't/type_constraints/duck_type_handles.t', + 't/type_constraints/duck_types.t', + 't/type_constraints/enum.t', + 't/type_constraints/inlining.t', + 't/type_constraints/match_type_operator.t', + 't/type_constraints/maybe_type_constraint.t', + 't/type_constraints/misc_type_tests.t', + 't/type_constraints/name_conflicts.t', + 't/type_constraints/normalize_type_name.t', + 't/type_constraints/parameterize_from.t', + 't/type_constraints/role_type_constraint.t', + 't/type_constraints/subtype_auto_vivify_parent.t', + 't/type_constraints/subtyping_parameterized_types.t', + 't/type_constraints/subtyping_union_types.t', + 't/type_constraints/throw_error.t', + 't/type_constraints/type_coersion_on_lazy_attributes.t', + 't/type_constraints/type_names.t', + 't/type_constraints/type_notation_parser.t', + 't/type_constraints/types_and_undef.t', + 't/type_constraints/union_is_a_type_of.t', + 't/type_constraints/union_types.t', + 't/type_constraints/union_types_and_coercions.t', + 't/type_constraints/util_find_type_constraint.t', + 't/type_constraints/util_more_type_coercion.t', + 't/type_constraints/util_std_type_constraints.t', + 't/type_constraints/util_type_coercion.t', + 't/type_constraints/util_type_constraints.t', + 't/type_constraints/util_type_constraints_export.t', + 't/type_constraints/util_type_reloading.t', + 't/type_constraints/with-specio.t', + 't/zzz-check-breaks.t' +); + +notabs_ok($_) foreach @files; +done_testing; diff --git a/xt/author/pod-coverage.t b/xt/author/pod-coverage.t new file mode 100644 index 0000000..b0d4f43 --- /dev/null +++ b/xt/author/pod-coverage.t @@ -0,0 +1,233 @@ + +use strict; +use warnings; + +use Test::More; + +use Test::Requires { + 'Test::Pod::Coverage' => '1.04', # skip all if not installed +}; + +# This is a stripped down version of all_pod_coverage_ok which lets us +# vary the trustme parameter per module. +my @modules + = grep { !/Accessor::Native.*$/ && !/::Conflicts$/ && !/^Moose::Exception::/ } all_modules(); +plan tests => scalar @modules; + +my %trustme = ( + 'Class::MOP' => [ + 'DEBUG_NO_META', + 'HAVE_ISAREV', + 'IS_RUNNING_ON_5_10', + 'subname', + 'in_global_destruction', + 'check_package_cache_flag', + 'load_first_existing_class', + 'is_class_loaded', + 'load_class', + ], + 'Class::MOP::Attribute' => ['process_accessors'], + 'Class::MOP::Class' => [ + + # deprecated + 'alias_method', + 'compute_all_applicable_attributes', + 'compute_all_applicable_methods', + + # unfinished feature + 'add_dependent_meta_instance', + 'add_meta_instance_dependencies', + 'invalidate_meta_instance', + 'invalidate_meta_instances', + 'remove_dependent_meta_instance', + 'remove_meta_instance_dependencies', + 'update_meta_instance_dependencies', + + # effectively internal + 'check_metaclass_compatibility', + 'clone_instance', + 'construct_class_instance', + 'construct_instance', + 'create_meta_instance', + 'reset_package_cache_flag', + 'update_package_cache_flag', + 'reinitialize', + + # doc'd with rebless_instance + 'rebless_instance_away', + + # deprecated + 'get_attribute_map', + ], + 'Class::MOP::Class::Immutable::Trait' => ['.+'], + 'Class::MOP::Class::Immutable::Class::MOP::Class' => ['.+'], + 'Class::MOP::Deprecated' => ['.+'], + 'Class::MOP::Instance' => [ + qw( BUILDARGS + bless_instance_structure + is_dependent_on_superclasses ), + ], + 'Class::MOP::Instance' => [ + qw( BUILDARGS + bless_instance_structure + is_dependent_on_superclasses ), + ], + 'Class::MOP::Method::Accessor' => [ + qw( generate_accessor_method + generate_accessor_method_inline + generate_clearer_method + generate_clearer_method_inline + generate_predicate_method + generate_predicate_method_inline + generate_reader_method + generate_reader_method_inline + generate_writer_method + generate_writer_method_inline + initialize_body + ) + ], + 'Class::MOP::Method::Constructor' => [ + qw( attributes + generate_constructor_method + generate_constructor_method_inline + initialize_body + meta_instance + options + ) + ], + 'Class::MOP::Method::Generated' => [ + qw( new + definition_context + is_inline + initialize_body + ) + ], + 'Class::MOP::MiniTrait' => ['.+'], + 'Class::MOP::Mixin::AttributeCore' => ['.+'], + 'Class::MOP::Mixin::HasAttributes' => ['.+'], + 'Class::MOP::Mixin::HasMethods' => ['.+'], + 'Class::MOP::Mixin::HasOverloads' => ['.+'], + 'Class::MOP::Overload' => [ 'attach_to_class' ], + 'Class::MOP::Package' => [ 'get_method_map', 'wrap_method_body' ], + 'Moose' => [ 'init_meta', 'throw_error' ], + 'Moose::Error::Confess' => ['new'], + 'Moose::Exception' => ['BUILD'], + 'Moose::Meta::Attribute' => [ + qw( interpolate_class + throw_error + attach_to_class + ) + ], + 'Moose::Meta::Attribute::Native::MethodProvider::Array' => ['.+'], + 'Moose::Meta::Attribute::Native::MethodProvider::Bool' => ['.+'], + 'Moose::Meta::Attribute::Native::MethodProvider::Code' => ['.+'], + 'Moose::Meta::Attribute::Native::MethodProvider::Counter' => ['.+'], + 'Moose::Meta::Attribute::Native::MethodProvider::Hash' => ['.+'], + 'Moose::Meta::Attribute::Native::MethodProvider::String' => ['.+'], + 'Moose::Meta::Class' => [ + qw( check_metaclass_compatibility + construct_instance + create_error + raise_error + reinitialize + superclasses + ) + ], + 'Moose::Meta::Class::Immutable::Trait' => ['.+'], + 'Moose::Meta::Method' => ['throw_error'], + 'Moose::Meta::Method::Accessor' => [ + qw( generate_accessor_method + generate_accessor_method_inline + generate_clearer_method + generate_predicate_method + generate_reader_method + generate_reader_method_inline + generate_writer_method + generate_writer_method_inline + new + ) + ], + 'Moose::Meta::Method::Constructor' => [ + qw( attributes + initialize_body + meta_instance + new + options + ) + ], + 'Moose::Meta::Method::Destructor' => [ 'initialize_body', 'options' ], + 'Moose::Meta::Method::Meta' => ['wrap'], + 'Moose::Meta::Role' => [ + qw( alias_method + get_method_modifier_list + reinitialize + reset_package_cache_flag + update_package_cache_flag + wrap_method_body + ) + ], + 'Moose::Meta::Mixin::AttributeCore' => ['.+'], + 'Moose::Meta::Role::Composite' => [ + qw( add_method + get_method + get_method_list + has_method + is_anon + add_overloaded_operator + get_all_overloaded_operators + get_overload_fallback_value + is_overloaded + set_overload_fallback_value + ), + ], + 'Moose::Object' => [ 'BUILDALL', 'DEMOLISHALL' ], + 'Moose::Role' => [ + qw( after + around + augment + before + extends + has + inner + override + super + with + init_meta ) + ], + 'Moose::Meta::TypeCoercion' => ['compile_type_coercion'], + 'Moose::Meta::TypeCoercion::Union' => ['compile_type_coercion'], + 'Moose::Meta::TypeConstraint' => [qw( compile_type_constraint inlined )], + 'Moose::Meta::TypeConstraint::Class' => + [qw( equals is_a_type_of is_a_subtype_of )], + 'Moose::Meta::TypeConstraint::Enum' => [qw( constraint equals )], + 'Moose::Meta::TypeConstraint::DuckType' => + [qw( constraint equals get_message )], + 'Moose::Meta::TypeConstraint::Parameterizable' => ['.+'], + 'Moose::Meta::TypeConstraint::Parameterized' => ['.+'], + 'Moose::Meta::TypeConstraint::Role' => [qw( equals is_a_type_of )], + 'Moose::Meta::TypeConstraint::Union' => [ + qw( compile_type_constraint + coercion + has_coercion + can_be_inlined + inline_environment ) + ], + 'Moose::Util' => ['add_method_modifier'], + 'Moose::Util::MetaRole' => ['apply_metaclass_roles'], + 'Moose::Util::TypeConstraints' => ['find_or_create_type_constraint'], + 'Moose::Util::TypeConstraints::Builtins' => ['.+'], +); + +for my $module ( sort @modules ) { + + my $trustme = []; + if ( $trustme{$module} ) { + my $methods = join '|', @{ $trustme{$module} }; + $trustme = [qr/^(?:$methods)$/]; + } + + pod_coverage_ok( + $module, { trustme => $trustme }, + "Pod coverage for $module" + ); +} diff --git a/xt/author/pod-spell.t b/xt/author/pod-spell.t new file mode 100644 index 0000000..b4685ee --- /dev/null +++ b/xt/author/pod-spell.t @@ -0,0 +1,382 @@ +use strict; +use warnings; + +use Test::Spelling; + +my @stopwords; +for (<DATA>) { + chomp; + push @stopwords, $_ + unless /\A (?: \# | \s* \z)/msx; # skip comments, whitespace +} + +add_stopwords(@stopwords); +local $ENV{LC_ALL} = 'C'; +set_spell_cmd('aspell list -l en'); +all_pod_files_spelling_ok; + +__DATA__ +## personal names +Aankhen +Anders +Aran +Breunung +Buels +Cawley +Clary +Crawley +Debolaz +Deltac +Doran +Etheridge +Florian +Gabor +Goro +Goulah +Hardison +JT +Kanat +Kansai +Kinyon +Kinyon's +Kogman +Lanyon +Lenz +Luehrs +McWhirter +Moritz +Pearcey +Perek +Piotr +Prather +Ragwitz +Reis +Rockway +Roditi +Rolsky +Roszatycki +Roszatycki's +SL +SawyerX +Sedlacek +Shlomi +Signes +Simula +Stevan +Stratman +Szabo +Treder +Vecchi +Vilain +Ynon +Yuval +autarch +backported +backports +blblack +bluefeet +brian +chansen +chromatic's +dexter +doy +ewilhelm +foy +frodwith +gphat +groditi +hakobe +ingy +jgoulah +jrockway +kolibrie +konobi +lbr +merlyn +mst +nothingmuch +perigrin +phaylon +rafl +rindolf +rjbs +rlb +robkinyon +sartak +stevan +tozt +wreis + +## proper names +AOP +CLOS +CPAN +CentOS +FOSDEM +OCaml +OnLAMP +PDX +PerlMaven +SHDH +SVN +WebGUI +ohloh +osdc +tw + +## Moose +AttributeHelpers +BUILDALL +BUILDARGS +BankAccount +BankAccount's +BinaryTree +CLR +CheckingAccount +DEMOLISHALL +Debuggable +JVM +METACLASS +Metaclass +MOPs +MetaModel +MetaObject +Metalevel +MooseX +Num +OtherName +PosInt +PositiveInt +RoleSummation +Specio +Str +TypeContraints +clearers +composable +hardcode +immutabilization +immutabilize +introspectable +metaclass +metaclass's +metadata +metaobject +metaobjects +metaprogrammer +metarole +metaroles +metatraits +mixins +oose +ro +rw +AttributeIsRequired +ValidationFailedForTypeConstraint + +## computerese +API +APIs +Baz +Bugzilla +Changelog +Coercions +DUCKTYPE +DWIM +GitHub +GitHub's +Haskell +IRC +Immutabilization +Inlinable +JSON +Lexically +Namespace +O'Caml +OO +OOP +ORM +OSCON +Overengineered +ROLETYPE +SUBCLASSES +SUBTYPES +Smalltalk +Subclasses +Subtypes +TODO +UNIMPORTING +URI +Unported +Whitelist +Whitepaper +Wikipedia +# from the Support manual talking about version numbers +YY +YYZZ +ZZ +arity +arrayrefs +autodelegation +blog +clearers +codebase +coercions +committer +committers +compat +continutation +contrib +datetimes +dec +decrement +definedness +deinitialized +deprecations +destructor +destructors +destructuring +dev +discoverable +env +eval'ing +extensibility +hashrefs +hotspots +immutabilize +immutabilized +immutabilizes +incrementing +inlinable +inline +inlines +installable +instantiation +interoperable +invocant +invocant's +irc +isa +kv +login +matcher +metadata +mixin +mixins +mortem +mul +munge +namespace +namespace's +namespaced +namespaces +namespacing +natatime +# as in required-ness +ness +online +optimizations +overridable +parameterizable +parameterization +parameterize +parameterized +parameterizes +params +pluggable +plugins +polymorphism +prechecking +prepends +pu +rebase +rebased +rebasing +rebless +reblesses +reblessing +refactored +refactoring +rethrows +runtime +serializer +sigil +sigils +stacktrace +stacktraces +stateful +subclass's +subclassable +subclasses +subname +subtype +subtypes +subtyping +unblessed +unexport +unimporting +uninitialize +unordered +unresolvable +unsets +unsettable +utils +whitelisted +workflow +workflows + +## other jargon +bey +gey + +## neologisms +breakability +delegatee +featureful +hackery +hacktern +undeprecate +wrappee + +## compound +# half-assed +assed +# role-ish, Ruby-ish, medium-to-large-ish +ish +# kool-aid +kool +# pre-5.10 +pre +# vice versa +versa +lookup +# co-maint +maint + +## slang +C'mon +might've +Nuff + +## things that should be in the dictionary, but are not +attribute's +declaratively +everybody's +everyone's +human's +indices +initializers +newfound +reimplements +reinitializes +specializer +unintrusive + +## misspelt on purpose +emali +uniq + +#docgenerator +fixLineLength +getExceptionsToMessages +placeCommasAndAnd +shortenToEighty diff --git a/xt/author/test-my-dependents.t b/xt/author/test-my-dependents.t new file mode 100644 index 0000000..4a6d5ae --- /dev/null +++ b/xt/author/test-my-dependents.t @@ -0,0 +1,808 @@ +use strict; +use warnings; + +use Cwd qw( abs_path ); +use Test::More; + +BEGIN { + my $help = <<'EOF'; +This test will not run unless you set MOOSE_TEST_MD to a true value. + + Valid values are: + + all Test every dist which depends on Moose except those + that we know cannot be tested. This is a lot of + distros (thousands). + + Dist::1,Dist::2,... Test the individual dists listed. + + MooseX Test all Moose extension distros + (MooseX modules plus a few others). + + 1 Run the default tests. We pick 200 random dists and + test them. + +EOF + + plan skip_all => $help + unless $ENV{MOOSE_TEST_MD}; +} + +use Test::Requires { + 'Archive::Zip' => 0, # or else .zip dists won't be able to be installed + 'Test::DependentModules' => '0.13', + 'MetaCPAN::API' => '0.33', +}; + +use Test::DependentModules qw( test_module ); + +use DateTime; +use List::Util 1.33 qw(any); +use Moose (); + +diag( 'Test run performed at: ' + . DateTime->now + . ' with Moose ' + . (Moose->VERSION || 'git repo') ); + +$ENV{PERL_TEST_DM_LOG_DIR} = abs_path('.'); +delete @ENV{ qw( AUTHOR_TESTING RELEASE_TESTING SMOKE_TESTING ) }; + +$ENV{ANY_MOOSE} = 'Moose'; + +my $mcpan = MetaCPAN::API->new; +my $res = $mcpan->post( + '/release/_search' => { + query => { match_all => {} }, + size => 5000, + filter => { and => [ + { or => [ + { term => { 'release.dependency.module' => 'Moose' } }, + { term => { 'release.dependency.module' => 'Moose::Role' } }, + { term => { 'release.dependency.module' => 'Moose::Exporter' } }, + { term => { 'release.dependency.module' => 'Class::MOP' } }, + { term => { 'release.dependency.module' => 'MooseX::Role::Parameterized' } }, + { term => { 'release.dependency.module' => 'Any::Moose' } }, + ] }, + { term => { 'release.status' => 'latest' } }, + { term => { 'release.maturity' => 'released' } }, + ] }, + fields => 'distribution' + } +); + +my @skip_prefix = qw(Acme Task Bundle); +my %skip; +my %todo; + +my $hash; +for my $line (<DATA>) { + chomp $line; + next unless $line =~ /\S/; + if ( $line =~ /^# (\w+)/ ) { + die "Invalid action in DATA section ($1)" + unless $1 eq 'SKIP' || $1 eq 'TODO'; + $hash = $1 eq 'SKIP' ? \%skip : \%todo; + } + + my ( $dist, $reason ) = $line =~ /^(\S*)\s*(?:#\s*(.*)\s*)?$/; + next unless defined $dist && length $dist; + + $hash->{$dist} = $reason; +} + +my %name_fix = ( + 'AI-Classifier' => 'AI::Classifier::Text', + 'Algorithm-DependencySolver' => 'Algorithm::DependencySolver::Solver', + 'Alice' => 'Alice::HTTP::WebSocket', + 'App-Foca' => 'App::Foca::Server', + 'App-passmanager' => 'App::PassManager', + 'App-PipeFilter' => 'App::PipeFilter::Generic', + 'Bio_AssemblyImprovement' => 'Bio::AssemblyImprovement', + 'Business-PaperlessTrans' => 'Business::PaperlessTrans::Client', + 'BuzzSaw' => 'App::BuzzSaw', + 'Constructible' => 'Constructible::Maxima', + 'CTKlib' => 'CTK', + 'DCOLLINS-ANN-Locals' => 'DCOLLINS::ANN::Robot', + 'Dist-Zilla-Deb' => 'Dist::Zilla::Plugin::Deb::VersionFromChangelog', + 'Dist-Zilla-Plugins-CJM' => 'Dist::Zilla::Plugin::TemplateCJM', + 'Dist-Zilla-Plugin-TemplateFile' => 'Dist::Zilla::Plugin::TemplateFiles', + 'DSL-Tiny' => 'DSL::Tiny::Role', + 'Google-Directions' => 'Google::Directions::Client', + 'GoogleMapsHeatmap' => 'Geo::Heatmap', + 'helm' => 'Helm', + 'HTML-Untemplate' => 'HTML::Linear', + 'marc-moose' => 'MARC::Moose', + 'mobirc' => 'App::Mobirc', + 'Net-Amazon-EMR' => 'Net::Amazon::EMR::AddInstanceGroupsResult', + 'OWL-Simple' => 'OWL::Simple::Class', + 'Patterns-ChainOfResponsibility' => 'Patterns::ChainOfResponsibility::Application', + 'PkgForge' => 'PkgForge::App', + 'PkgForge-Server' => 'PkgForge::Builder', + 'Pod-Elemental-Transfomer-VimHTML' => 'Pod::Elemental::Transformer::VimHTML', + 'Role-Identifiable' => 'Role::Identifiable::HasIdent', + 'smokebrew' => 'App::SmokeBrew', + 'Treex-Parser-MSTperl' => 'Treex::Tool::Parser::MSTperl', + 'v6-alpha' => 'v6', + 'WebService-LOC-CongRec' => 'WebService::LOC::CongRec::Crawler', + 'X11-XCB' => 'X11::XCB::Connection', + 'XML-Ant-BuildFile' => 'XML::Ant::BuildFile::Project', +); + +my @dists = sort + grep { !$skip{$_} } + grep { my $dist = $_; !any { $dist =~ /^$_-/ } @skip_prefix } + map { $_->{fields}{distribution} } + @{ $res->{hits}{hits} }; + +if ( $ENV{MOOSE_TEST_MD} eq 'MooseX' ) { + @dists = grep { + /^(?:MooseX-|(?:Fey-ORM|KiokuDB|Bread-Board|Catalyst-Runtime|Reflex)$)/ + } @dists; +} +elsif ( $ENV{MOOSE_TEST_MD} eq '1' ) { + diag( + <<'EOF' + Picking 200 random dependents to test. Set MOOSE_TEST_MD=all to test all + dependents or MOOSE_TEST_MD=MooseX to test extension modules only. +EOF + ); + + my %indexes; + while ( keys %indexes < 200 ) { + $indexes{ int rand( scalar @dists ) } = 1; + } + + @dists = @dists[ sort keys %indexes ]; +} +elsif ( $ENV{MOOSE_TEST_MD} ne 'all' ) { + my @chosen = split /,/, $ENV{MOOSE_TEST_MD}; + my %dists = map { $_ => 1 } @dists; + if (my @unknown = grep { !$dists{$_} } @chosen) { + die "Unknown dists: @unknown"; + } + @dists = @chosen; +} + +plan tests => scalar @dists; +for my $dist (@dists) { + note($dist); + my $module = $dist; + $module = $name_fix{$module} if exists $name_fix{$module}; + if ($todo{$dist}) { + my $reason = $todo{$dist}; + $reason = '???' unless defined $reason; + local $TODO = $reason; + eval { test_module($module); 1 } + or fail("Died when testing $module: $@"); + } + else { + eval { test_module($module); 1 } + or fail("Died when testing $module: $@"); + } +} + +__DATA__ +# SKIP: doesn't install deps properly (test::dm bugs?) +App-Benchmark-Accessors # Mojo::Base isn't installed +Bot-BasicBot-Pluggable # Crypt::SaltedHash isn't installed +Chart-Clicker # Layout::Manager::Compass isn't installed +Chart-Weather-Forecast # Layout::Manager::Compass isn't installed +Code-Statistics # MooseX::HasDefaults::RO isn't installed +Connector # Config::Versioned isn't installed +Context-Set # Lingua::EN::Words2Nums isn't installed +DBIx-Class-DeploymentHandler # Lingua::EN::Words2Nums isn't installed +DBIx-Class-Migration # Lingua::EN::Words2Nums isn't installed +DBIx-Class-Migration-RunScript-Trait-AuthenPassphrase # Lingua::EN::Words2Nums isn't installed +DBIx-Class-Schema-Loader # Lingua::EN::Words2Nums isn't installed +DBIx-ObjectMapper # Class::Accessor::Chained::Fast isn't installed +Dependencies-Searcher # ack binary isn't installed, because test::dm doesn't set up $PATH +Dist-Zilla-PluginBundle-AJGB # Dist::Zilla::Plugin::KwaliteeTests isn't installed +Dist-Zilla-PluginBundle-Author-BBYRD # Dist::Zilla::Plugin::ReportPhase isn't installed +Dist-Zilla-PluginBundle-JQUELIN # Dist::Zilla::Plugin::CompileTests isn't installed +Dist-Zilla-PluginBundle-MITHALDU # List::AllUtils isn't installed +Dist-Zilla-PluginBundle-NIGELM # Dist::Zilla::Plugin::KwaliteeTests isn't installed +Dist-Zilla-PluginBundle-PDONELAN # Dist::Zilla::Plugin::CompileTests isn't installed +Dist-Zilla-Util-FileGenerator # MooseX::HasDefaults::RO isn't installed +EBI-FGPT-FuzzyRecogniser # GO::Parser isn't installed +Erlang-Parser # Parse::Yapp::Driver isn't installed +Foorum # Sphinx::Search isn't installed +Grimlock # DBIx::Class::EncodedColumn isn't installed +Locale-Handle-Pluggable # MooseX::Types::VariantTable::Declare isn't installed +Message-Passing-STOMP # Message::Passing isn't installed +mobirc # HTTP::Session::State::GUID isn't installed +Net-Bamboo # XML::Tidy isn't installed +OpenERP-OOM # OpenERP::XMLRPC::Client isn't installed +Tatsumaki-Template-Markapl # Tatsumaki::Template isn't installed +Text-Tradition # Bio::Phylo::IO isn't installed +Text-Tradition-Analysis # Bio::Phylo::IO isn't installed +WebService-Strava # Any::URI::Escape isn't installed + +# SKIP: index issues (test::dm bugs?) +Hopkins # can't find on cpan +PostScript-Barcode # can't find on cpan + +# SKIP: no tests +AI-ExpertSystem-Advanced # no tests +API-Assembla # no tests +App-mkfeyorm # no tests +App-passmanager # no tests +App-Scrobble # no tests +Bot-Applebot # no tests +Catalyst-Authentication-Credential-Facebook-OAuth2 # no tests +Catalyst-Authentication-Store-Fey-ORM # no tests +Catalyst-Controller-MovableType # no tests +Catalyst-Model-MenuGrinder # no tests +Chef # no tests +Data-SearchEngine-ElasticSearch # no tests +Dist-Zilla-MintingProfile-Author-ARODLAND # no tests +Dist-Zilla-PluginBundle-ARODLAND # no tests +Dist-Zilla-PluginBundle-Author-OLIVER # no tests +Dist-Zilla-PluginBundle-NUFFIN # no tests +Dist-Zilla-Plugin-DualLife # no tests +Dist-Zilla-Plugin-Git-Describe # no tests +Dist-Zilla-Plugin-GitFlow # no tests +Dist-Zilla-Plugin-GitFmtChanges # no tests +Dist-Zilla-Plugin-MetaResourcesFromGit # no tests +Dist-Zilla-Plugin-ModuleBuild-OptionalXS # no tests +Dist-Zilla-Plugin-Rsync # no tests +Dist-Zilla-Plugin-TemplateFile # no tests +Dist-Zilla-Plugin-UploadToDuckPAN # no tests +Finance-Bank-SuomenVerkkomaksut # no tests +Games-HotPotato # no tests +IO-Storm # no tests +JIRA-Client-REST # no tests +Kafka-Client # no tests +LWP-UserAgent-OfflineCache # no tests +Markdown-Pod # no tests +meon-Web # no tests +MooseX-Types-DateTimeX # no tests +MooseX-Types-DateTime-MoreCoercions # no tests unless DateTime::Format::DateManip is installed +Net-Azure-BlobService # no tests +Net-Dropbox # no tests +Net-Flowdock # no tests +Net-OpenStack-Attack # no tests +Net-Ostrich # no tests +Net-Recurly # no tests +OpenDocument-Template # no tests +Pod-Weaver-Section-Consumes # no tests +Pod-Weaver-Section-Encoding # no tests +Pod-Weaver-Section-Extends # no tests +P50Tools # no tests +POE-Component-Server-MySQL # no tests +Prophet-Devel # no tests +Random-Quantum # no tests +SchemaEvolution # no tests +STD # no tests +Test-System # no tests +Test-WWW-Mechanize-Dancer # no tests +WebService-Buxfer # no tests +WebService-CloudFlare-Host # no tests +WWW-MenuGrinder # no tests +WWW-UsePerl-Server # no tests +WWW-WuFoo # no tests + +# SKIP: external dependencies +Alien-Ditaa # runs java code +Ambrosia # required mod_perl +AnyEvent-MSN # requires Net::SSLeay (which requires libssl) +AnyEvent-Multilog # requires multilog +AnyEvent-Net-Curl-Queued # requires libcurl +AnyEvent-ZeroMQ # requires zeromq installation +AnyMQ-ZeroMQ # requires zeromq installation +Apache2-HttpEquiv # requires apache (for mod_perl) +App-Fotagger # requires sdl +App-Mimosa # requires fastacmd +App-PgCryobit # requires postgres installation +App-SimplenoteSync # requires File::ExtAttr which requires libattr +App-WIoZ # requires cairo +Archive-RPM # requires cpio +Bio-MLST-Check # requires makeblastdb, etc +Bio-Pipeline-Comparison # requires bgzip, tabix, etc +Bot-Jabbot # requires libidn +Catalyst-Authentication-Store-CouchDB # requires couchdb +Catalyst-Engine-Stomp # depends on alien::activemq +Catalyst-Plugin-Session-Store-Memcached # requires memcached +Catalyst-View-SVG-TT-Graph # requires librsvg +Catalyst-View-Template-PHP # requires php +Cave-Wrapper # requires cave to be installed +CHI-Driver-Redis # requires redis server +Crypt-Random-Source-Strong-Win32 # windows only +Curses-Toolkit # requires Curses which requires ncurses library +Dackup # requires ssh +Dancer2-Plugin-Queue-MongoDB # requires mongo +Data-Collector # requires ssh +Data-Riak # requires riak +Database-Migrator-mysql # requires mysql installation +DBIx-MySQL-Replication-Slave # requires mysql installation +DBIx-PgLink # requires postgres installation +Device-SMBus # requires libi2c +Device-ZyXEL-IES # SNMP requires net-snmp +Dist-Zilla-Plugin-ChangelogFromGit-Debian-Sequential # requires dpkg +Dist-Zilla-Plugin-Subversion # requires svn bindings +Dist-Zilla-Plugin-SVK # requires svn bindings +Dist-Zilla-Plugin-SvnObtain # requires svn bindings +Dist-Zilla-Plugin-Upload-SCP # requires ssh +Fedora-App-MaintainerTools # requires rpm to be installed +Fedora-App-ReviewTool # requires koji to be installed +Fuse-Template # requires libfuse +Games-HotPotato # requires sdl +Games-Tetris-Complete # requires threads +Gapp # requires gtk2 +GappX-NoticeBox # requires gtk2 +GnuPG-Interface # requires gpg +GoogleMapsHeatmap # requires imagemagick +Graphics-DZI # requires imagemagick +Graphics-Primitive-Driver-Cairo # requires cairo +Graphics-Primitive-Driver-CairoPango # requires cairo +helm # requires ssh +HTML-Barcode-QRCode # requires libqrencode +Hypatia-Chart-Clicker # requires cairo +Hypatia-GraphViz2 # requires graphviz +Image-Placeholder # requires gd +Image-TextMode # requires gd +IRC-RemoteControl # requires libssh2 +JavaScript-Sprockets # requires sprocketize +JavaScript-V8x-TestMoreish # requires v8 +Koha-Contrib-Tamil # requires yaz +K # requires kx +Lighttpd-Control # requires lighttpd +Lingua-TreeTagger # requires treetagger to be installed +Lorem # requires cairo +Math-Lsoda # requires f77 +Message-Passing-PSGI # requires zeromq installation +Message-Passing-ZeroMQ # requires zeromq installation +MongoDBI # requires mongo +MongoDB # requires mongo +MongoDB-Async # requires mongo +MSWord-ToHTML # requires abiword to be installed +MySQL-Slurp # requires mysql +Net-DBus-Skype # requires dbus +Net-Route # requires route +Net-SFTP-Foreign-Exceptional # depends on running ssh +Net-UpYun # requires curl +Net-ZooTool # requires curl +Nginx-Control # requires nginx to be installed +NLP-Service # requires javac +Padre-Plugin-Cookbook # requires Wx +Padre-Plugin-Moose # requires threaded perl +Padre-Plugin-PDL # requires threaded perl +Padre-Plugin-Snippet # requires threaded perl +Paludis-UseCleaner # depends on cave::wrapper +Pantry # requires ssh +Perlanet # HTML::Tidy requires tidyp +Perl-Dist-Strawberry-BuildPerl-5123 # windows only +Perl-Dist-Strawberry-BuildPerl-5123 # windows only +Perl-Dist-WiX-BuildPerl-5123 # windows only +Perl-Dist-WiX # windows only +Perl-Dist-WiX # windows only +Physics-UEMColumn # requires gsl +PkgForge # requires rpm +PkgForge-Registry # requires rpm +PkgForge-Server # requires rpm +Plack-App-FakeApache # requires mod_perl +POE-Component-OpenSSH # requires ssh +PulseAudio # requires pulseaudio +RDF-TrineX-RuleEngine-Jena # requires Jena +Reflexive-ZmqSocket # requires zmq +SDLx-Betweener # requires sdl +SDLx-GUI # requires sdl +Siebel-COM # windows only +SimpleDB-Class # requires memcached +SVN-Simple-Hook # requires svn +SVN-Tree # requires svn +Tapper-Cmd # requires ssh +Tapper-MCP # depends on everything under the sun - some of which is broken +Template-JavaScript # requires v8 +Test-Approvals # windows only +Test-DBIx-Class # requires mysql +Test-Gearman # requires gearman +TheSchwartz-Moosified # requires DBI::Pg ? +UAV-Pilot # requires sdl +WebService-SendGrid # requires curl +WebService-Tesco-API # requires curl +WWW-Contact # depends on curl +WWW-Curl-Simple # requires curl +ZeroMQ-PubSub # requires zmq +ZMQ-Declare # requires zmq +ZMQx-Class # requires zmq + +# SKIP: flaky internet tests +iTransact-Lite # tests rely on internet site +Unicode-Emoji-E4U # tests rely on internet site +WWW-eNom # tests rely on internet site +WWW-Finances-Bovespa # tests rely on internet site +WWW-Vimeo-Download # tests rely on internet site +WWW-YouTube-Download-Channel # tests rely on internet site + +# SKIP: graphical +App-CPAN2Pkg # tk tests are graphical +App-USBKeyCopyCon # gtk tests are graphical +CatalystX-Restarter-GTK # gtk tests are graphical +Forest-Tree-Viewer-Gtk2 # gtk tests are graphical +Games-Pandemic # tk tests are graphical +Games-RailRoad # tk tests are graphical +Games-Risk # tk tests are graphical +Log-Dispatch-Gtk2-Notify # gtk tests are graphical +LPDS # gtk tests are graphical +Periscope # gtk tests are graphical +Tk-Role-Dialog # tk tests are graphical +Weaving-Tablet # tk tests are graphical + +# SKIP: prompts (or a dep prompts) or does something else dumb +AI-Nerl # pdl has weird memory errors and hangs +Bio-Tradis # Bio::DB::Sam prompts in Makefile.PL +Bot-Backbone # poe-loop-ev prompts +Cache-Ehcache # hangs if server exists on port 8080 +Cache-Memcached-Queue # Makefile.PL tries to auto-install deps manually +CM-Permutation # OpenGL uses graphics in Makefile.PL +Date-Biorhythm # Date::Business prompts in Makefile.PL +DBIx-VersionedDDL # runs a script with /usr/bin/perl in the shbang line +File-Tail-Scribe # tests hang +Gearman-Driver # spews tar errors +Gearman-SlotManager # tests hang +IPC-AnyEvent-Gearman # tests hang +Lingua-YALI # runs scripts with /usr/bin/env perl in the shbang line +Net-SSH-Mechanize # the mock-ssh script it runs seems to spin endlessly +POE-Component-Server-SimpleHTTP-PreFork # tests hang +Test-SFTP # Term::ReadPassword prompts in tests +WebService-FogBugz-XML # prompts +WWW-Hashdb # test hangs, pegging cpu +Zucchini # File::Rsync prompts in Makefile.PL + +# SKIP: broken configure +Module-Install-ProvidesClass # broken Makefile.PL +Nagios-Interface # broken Makefile.PL +TAP-Runner # Math::Cartesian::Product is broken + +# TODO: failing for a reason +Algorithm-KernelKMeans # mx-types-common changes broke it +Alien-BWIPP # given is experimental +AnyEvent-BitTorrent # broken +AnyEvent-Cron # intermittent failures +AnyEvent-Inotify-Simple # ??? (maybe issue with test::sweet) +AnyEvent-JSONRPC # tests require recommended deps +AnyEvent-Retry # mx-types-common changes broke it +AnyMongo # doesn't compile +App-ArchiveDevelCover # depends on nonexistent testdata::setup +App-Dataninja # bad M::I install in inc/ +App-Foca # pod coverage fail +App-HistHub # missing deps +App-iTan # given is experimental +App-Magpie # deps on URPM which doesn't exist +App-MediaWiki2Git # git::repository is broken +App-Munchies # depends on XML::DTD +App-PM-Announce # deps on WWW::UsePerl::Journal::Post which doesn't exist +App-Rssfilter # given is experimental +App-Services # misnamed package +App-TemplateServer # broken use of types +App-TemplateServer-Provider-HTML-Template # dep on app-templateserver +App-TemplateServer-Provider-Mason # dep on app-templateserver +App-TemplateServer-Provider-TD # dep on app-templateserver +App-TimeTracker # missing dep on IO::Capture::Stdout +App-Twimap # dep on Web::oEmbed::Common +App-Twitch # given is experimental +App-Validation-Automation # dep on Switch +App-Wubot # broken +Archive-BagIt # pod coverage fail +Argon # missin dep on IO::Capture::Stderr +Autocache # hash randomization +Beagle # depends on term::readline::perl +Beam-Wire-Moose # broken +Bio-MAGETAB # pod coverage fail and possibly hash randomization +Bio_AssemblyImprovement # broken +BPM-Engine # incorrect deps +Business-RO-CNP # broken +Business-UPS-Tracking # given is experimental +Cache-Profile # broken +Catalyst-Action-Serialize-Data-Serializer # looks like changes in opcode structure +Catalyst-ActionRole-BuildDBICResult # broken +Catalyst-Authentication-Store-LDAP-AD-Class # pod coverage fail +Catalyst-Controller-AutoAssets # broken +Catalyst-Controller-Resources # broken +Catalyst-Controller-SOAP # broken +Catalyst-Engine-Embeddable # broken +Catalyst-Model-Akismet # broken (fake key no longer works) +Catalyst-Model-FormFu # missing deps +Catalyst-Model-Sedna # deps on Alien-Sedna which doesn't exist +Catalyst-Plugin-Continuation # undeclared dep +Catalyst-Plugin-I18N-DBI # pod coverage fail +Catalyst-Plugin-Session-State-Cookie # broken +Catalyst-Plugin-Session-Store-TestMemcached # dep with corrupt archive +Catalyst-Plugin-SwiffUploaderCookieHack # undeclared dep +Catalyst-TraitFor-Component-ConfigPerSite # broken +Catalyst-TraitFor-Request-PerLanguageDomains # dep on ::State::Cookie +CatalystX-Declare # flaky tests (hash randomization?) +CatalystX-ExtJS-Direct # broken +CatalystX-ExtJS-REST # broken +CatalystX-I18N # dep on ::State::Cookie +CatalystX-MooseComponent # broken +CatalystX-OAuth2 # deps on CatalystX::Test::MockContent, which doesn't exist +CatalystX-SimpleLogin # broken +CatalystX-Usul # proc::processtable doesn't load +Chart-OFC2 # coerce without a coercion +Cheater # parse::randgen is broken +CHI-Driver-SharedMem # hash randomization +Class-OWL # uses CMOP::Class without loading cmop +CloudApp-REST # pod coverage fail +Cogwheel # uses ancient moose apis +Config-Model # broken +Config-Model-Backend-Augeas # deps on Config::Model +Config-Model-OpenSsh # deps on Config::Model +Constructible # GD::SVG is a broken dist +Constructible-Maxima # GD::SVG is a broken dist +Coro-Amazon-SimpleDB # amazon::simpledb::client doesn't exist +CPAN-Digger # requires DBD::SQLite +CPAN-Source # missing deps +Data-AMF # missing dep on YAML +Data-Apache-mod_status # invalid characters in type name +Data-Edit # dist is missing some modules +Data-Feed # broken (only sometimes?) +Data-Keys # hash randomization +Data-PackageName # broken +Data-Pensieve # missing deps +Data-Pipeline # uses ancient moose apis +Data-SCORM # pod coverage fail +Data-Valve # for qw() +DayDayUp # MojoX-Fixup-XHTML doesn't exist +DBICx-Modeler-Generator # broken (weirdly) +DBIx-Class-FormTools # hash randomization +DBIx-NoSQL-Store-Manager # flaky tests (hash randomization?) +DBIx-SchemaChecksum # broken +Debian-Apt-PM # configure time failures +Devel-Events # broken (role conflict) +Dist-Zilla-Deb # pod coverage fail +Dist-Zilla-Plugin-ChangelogFromGit-Debian # git::repository is broken +Dist-Zilla-Plugin-CheckChangesHasContent # broken +Dist-Zilla-Plugin-Git # tests fail when run in a temp dir +Dist-Zilla-Plugin-LaunchpadPPA # depends on Dpkg::Changelog::Parse which doesn't exist +Dist-Zilla-Plugin-PerlTidy # expects to find dzil in the path +Dist-Zilla-Plugin-Pinto-Add # deps on Pinto::Common +Dist-Zilla-Plugin-ProgCriticTests # broken +Dist-Zilla-Plugin-Test-ReportPrereqs # broken +DustyDB # uses old moose apis +Dwimmer # broken +ElasticSearchX-Model # hash randomization +Facebook-Graph # broken +FCGI-Engine # runs scripts without using $^X +Fedora-Bugzilla # deps on nonexistent things +Fey-Loader # broken +FFmpeg-Thumbnail # undeclared dep +File-Corresponding # broken +File-DataClass # XML::DTD is a broken dist +File-Stat-Moose # old moose apis +File-Tail-Dir # intermittent fails (i think) +FilmAffinity-UserRating # hash randomization +Finance-Bank-SentinelBenefits-Csv401kConverter # hash randomization +Form-Factory # uses old moose apis +Form-Sensible # broken +FormValidator-Nested # broken +Frost # broken +Games-Dice-Loaded # flaky tests +Geometry-Primitive # coerce with no coercion +Gideon # broken +Git-PurePerl # for qw() +Git-Release # undeclared dep on Mo +Github-Score # broken tests +Gitalist # broken +GOBO # coerce with no coercion +Google-AJAX-Library # hash randomization +Google-Chart # recreating type constraints +Google-Spreadsheet-Agent # pod::coverage fail +Graph-Similarity # perlcritic fail +Hailo # given/when is experimental +Hessian-Translator # perlcritic fail +Hobocamp # configure_requires needs EU::CChecker +Horris # App::Horris isn't on cpan +HPPPM-Demand-Management # pod::coverage fail +HTML-Element-Replacer # hash randomization +HTML-FormFu-ExtJS # hash randomization +HTML-FormHandlerX-Field-DateTimeNatural # broken +HTML-FormHandlerX-Field-URI-HTTP # broken +HTML-Grabber # pod::coverage fail +HTML-TreeBuilderX-ASP_NET # broken +HTTP-Balancer # weird issue with proc::processtable +HTTP-Engine # hash randomization +HTTP-Engine-Middleware # missing dep on yaml +Image-Robohash # Graphics::Magick doesn't exist +JavaScript-Framework-jQuery # coerce with no coercion +Jenkins-NotificationListener # missing dep on File::Read +Jifty # Test::WWW::Selenium needs devel::repl +jQuery-Loader # for qw() +JS-YUI-Loader # broken +JSON-RPC-Common # for qw() +JSORB # broken +Jungle # broken +Kamaitachi # pod::coverage fail +KiokuDB-Backend-Files # broken +KiokuDB-Backend-MongoDB # pod fail +LaTeX-TikZ # broken (with moose) +LCFG-Build-PkgSpec # flaky tests (time zones?) +Lingua-Diversity # pod fail +marc-moose # broken (only sometimes?) +Mac-iPhoto-Exif # smartmatch is experimental +Magpie # broken +Mail-Summary-Tools # DT::Format::DateManip is broken +MediaWiki-USERINFO # broken +Metabase-Backend-MongoDB # broken +Metabase-Backend-SQL # broken (I think) +Method-Signatures # doesn't like ANY_MOOSE=Moose +Mildew # Regexp::Grammars is broken on 5.18 +mobirc # http::engine broken +MooseX-App-Cmd-Command-BashComplete # pod fail +MooseX-Attribute-Prototype # uses old moose apis +MooseX-AttributeHelpers # broken +MooseX-Compile # broken +MooseX-DBIC-Scaffold # needs unreleased sql-translator +MooseX-Documenter # broken +MooseX-DOM # "no Moose" unimports confess +MooseX-Error-Exception-Class # metaclass compat breakage +MooseX-FSM # broken +MooseX-Getopt-Usage # missing dep on Test::Class +MooseX-GTIN # broken (under jenkins, at least) +MooseX-InlineTypes # coerce without coercion +MooseX-Meta-Attribute-Index # old moose apis +MooseX-Meta-Attribute-Lvalue # old moose apis +MooseX-Net-API # hash randomization +MooseX-Q4MLog # Queue::Q4MLog is broken +MooseX-Role-XMLRPC-Client # requires LWP::Protocol::http which requires libssl +MooseX-Scaffold # broken +MooseX-Semantic # hash randomization +MooseX-Struct # ancient moose apis +MooseX-TrackDirty-Attributes # broken +MooseX-Types-Parameterizable # broken +MooseX-Types-Set-Object # coerce without coercion +MooseX-Validation-Doctypes # _process_isa_option +MooseX-WithCache # broken +MouseX-Types # broken (with moose) +MooseX-XSAccessor # coerce without coercion, etc +MySQL-Util # pod-coverage fail +Mvalve # for qw() +Nagios-Passive # broken +Net-APNS # broken (with moose) +Net-FluidDB # broken +Net-Fluidinfo # broken +Net-FreshBooks-API # broken +Net-Google-Blogger # broken +Net-Google-FederatedLogin # broken +Net-Google-PicasaWeb # broken +NetHack-Item # NH::Monster::Spoiler is broken +NetHack-Monster-Spoiler # broken (MX::CA issues) +Net-HTTP-API # hash randomization +Net-HTTP-Factual # broken +Net-ISC-DHCPd # hash randomization +Net-Jabber-Bot # broken +Net-Journyx # broken +Net-Magrathea # pod fail +Net-Mollom # broken +Net-Parliament # broken +Net-Plurk # broken +Net-Rexster-Client # pod fail +Net-SSLeay-OO # broken +Net-StackExchange # broken +Norma # fails when trying to write to a read-only SQLite db file under jenkins, also fails when run manually +NSMS-API # pod fail +ODG-Record # Test::Benchmark broken +OpenXML-Properties # incorrect deps +Orochi # for qw() +Parallel-QueueWorker # flaky test (forking issues) +Parse-CPAN-Perms # flaky tests (hash randomization?) +PDF-TableX # for qw() +Perlbal-Control # proc::processtable doesn't load +Pg-BulkCopy # hardcodes /usr/bin/perl +Pinto-Common # broken +Pinto-Remove # deps on Pinto::Common +Pinto-Server # deps on Pinto::Common +Plack-Middleware-Image-Scale # Image::Scale is broken +Pod-Parser-I18N # missing dep on Data::Localize +POE-Component-CPAN-Mirror-Multiplexer # broken +POE-Component-DirWatch # intermittent failures +POE-Component-DirWatch-Object # intermittent failures +POE-Component-ResourcePool # broken +POE-Component-Server-PSGI # broken deps +POE-Component-Server-SimpleHTTP-PreFork # broken deps +Poet # missing dep on Log::Any::Adapter::Log4perl +POEx-ProxySession # broken deps +POEx-PubSub # broken deps +POEx-WorkerPool # broken deps +PostScript-ScheduleGrid-XMLTV # XMLTV doesn't exist +PRANG # broken +Prophet # depends on term::readline::perl +Queue-Leaky # broken +Queue-Q4M # for qw() +RackMan # kwalitee fail +Railsish # dep on nonexistent dist +RDF-Helper # for qw() +RDF-Server # "no Moose" unimports confess +Reaction # signatures is broken +Reflexive-Role-DataMover # broken (reflex::role changes?) +Reflexive-Role-TCPServer # broken (reflex::role changes?) +Reflexive-Stream-Filtering # broken +RPC-Any # broken +RPM-Spec # coerce with no coercion +RT-ClientX-GrabBugs # scalar::does doesn't specify deps properly +RTDevSys # pod fail +Scene-Graph # has '+attr' in roles +Scrappy # hash randomization +Server-Control # proc::processtable doesn't load +Shipment # locale::subcountry is broken +Silki # image::magick is broken +SilkiX-Converter-Kwiki # file::mimeinfo expects (?-xism: +SIOC # for qw() +Sloth # rest::utils is broken +Sque # couldn't fork server for testing +SRS-EPP-Proxy # depends on xml::epp +String-Blender # broken +Sys-RotateBackup # broken +System-Wrapper # pod coverage fail +TAEB # broken +TAP-Formatter-Bamboo # hash randomization +TAP-Formatter-JUnit # hash randomization +Tail-Tool # Getopt::Alt doesn't exist +Tapper-Action # broken +Tapper-CLI # sys::info::driver::linux is broken +Tapper-Installer # sys::info::driver::linux is broken +Tapper-MCP-MessageReceiver # sys::info::driver::linux is broken +Tapper-Reports-API # sys::info::driver::linux is broken +Tapper-Reports-Receiver # flaky tests (timeouts) +Tapper-Testplan # sys::info::driver::linux is broken +Telephone-Mnemonic-US # rpm-build-perl is broken +Template-Plugin-Heritable # weird dep issues (not test::dm related) +Test-A8N # broken +Test-Daily # configure errors +Test-HTML-Spelling # broken +Test-Moose-More # coerce without coercion +Test-Pockito # broken +Test-WWW-Selenium-More # Test::WWW::Selenium needs devel::repl +Text-Clevery # broken +Text-TEI-Collate # pod fail +Text-Zilla # broken +Thorium # depends on Hobocamp +TPath # regexp::grammars is broken on 5.18 +TPath-Forester-File # regexp::grammars is broken on 5.18 +TPath-Forester-Ref # regexp::grammars is broken on 5.18 +TryCatch-Error # broken +UnRTF # broken +VCI # for qw() +Verby # deps on poe::component::resourcepool +W3C-SOAP # broken +W3C-SOAP-WADL # broken +Weather-TW # missing dep on Mojo::DOM +Web-API-Mapper # broken +WebNano-Controller-CRUD # broken +WebService-E4SE # pod coverage fail +WebService-Embedly # broken +Webservice-InterMine # hash randomization +WebService-LOC-CongRec # broken +WebService-Mirth # broken +WebService-Uptrack # perlcritic fail +WebService-Yes24 # broken +WiX3 # broken +WSDL-Compile # flaky tests (hash randomization?) +WWW-3Taps-API # pod fail +WWW-Alltop # XML::SimpleObject configure fail +WWW-Comix # uses ancient Moose::Policy stuff +WWW-DataWiki # broken +WWW-EFA # pod fail +WWW-Fandango # bad dist +WWW-FMyLife # broken +WWW-Google-Moderator # hash randomization +WWW-Google-Places # hash randomization +WWW-Mechanize-Cached # tries to read from wrong build dir? +WWW-Mechanize-Query # wrong deps (Mojo::DOM vs Mojo::Dom) +WWW-Metalgate # Cache is broken +WWW-Scramble # pod::coverage fail +WWW-SearchWikipedia # hash randomization +WWW-Sitemapper # broken +WWW-StaticBlog # time::sofar is broken +WWW-WebKit # missing configure_req on EU::PkgConfig +WWW-Wookie # kwalitee fail +WWW-Yahoo-Lyrics-JP # broken +XIRCD # undeclared deps +XML-Compare # pod fail +XML-EPP # coerce without coercion +XML-SRS # deps on prang +XML-Writer-Compiler # broken tests +YellowBot-API # pod fail +YUI-Loader # hash randomization +Yukki # git::repository is broken diff --git a/xt/release/00-compile.t b/xt/release/00-compile.t new file mode 100644 index 0000000..cdebec2 --- /dev/null +++ b/xt/release/00-compile.t @@ -0,0 +1,449 @@ +use 5.006; +use strict; +use warnings; + +# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.053 + +use Test::More 0.94; + +plan tests => 367 + ($ENV{AUTHOR_TESTING} ? 1 : 0); + +my @module_files = ( + 'Class/MOP.pm', + 'Class/MOP/Class/Immutable/Trait.pm', + 'Class/MOP/Deprecated.pm', + 'Class/MOP/Instance.pm', + 'Class/MOP/Method.pm', + 'Class/MOP/Method/Generated.pm', + 'Class/MOP/Method/Meta.pm', + 'Class/MOP/MiniTrait.pm', + 'Class/MOP/Mixin.pm', + 'Class/MOP/Mixin/AttributeCore.pm', + 'Class/MOP/Mixin/HasMethods.pm', + 'Class/MOP/Mixin/HasOverloads.pm', + 'Class/MOP/Object.pm', + 'Class/MOP/Overload.pm', + 'Moose.pm', + 'Moose/Conflicts.pm', + 'Moose/Deprecated.pm', + 'Moose/Exception.pm', + 'Moose/Exception/AccessorMustReadWrite.pm', + 'Moose/Exception/AddParameterizableTypeTakesParameterizableType.pm', + 'Moose/Exception/AddRoleTakesAMooseMetaRoleInstance.pm', + 'Moose/Exception/AddRoleToARoleTakesAMooseMetaRole.pm', + 'Moose/Exception/ApplyTakesABlessedInstance.pm', + 'Moose/Exception/AttachToClassNeedsAClassMOPClassInstanceOrASubclass.pm', + 'Moose/Exception/AttributeConflictInRoles.pm', + 'Moose/Exception/AttributeConflictInSummation.pm', + 'Moose/Exception/AttributeExtensionIsNotSupportedInRoles.pm', + 'Moose/Exception/AttributeIsRequired.pm', + 'Moose/Exception/AttributeMustBeAnClassMOPMixinAttributeCoreOrSubclass.pm', + 'Moose/Exception/AttributeNamesDoNotMatch.pm', + 'Moose/Exception/AttributeValueIsNotAnObject.pm', + 'Moose/Exception/AttributeValueIsNotDefined.pm', + 'Moose/Exception/AutoDeRefNeedsArrayRefOrHashRef.pm', + 'Moose/Exception/BadOptionFormat.pm', + 'Moose/Exception/BothBuilderAndDefaultAreNotAllowed.pm', + 'Moose/Exception/BuilderDoesNotExist.pm', + 'Moose/Exception/BuilderMethodNotSupportedForAttribute.pm', + 'Moose/Exception/BuilderMethodNotSupportedForInlineAttribute.pm', + 'Moose/Exception/BuilderMustBeAMethodName.pm', + 'Moose/Exception/CallingMethodOnAnImmutableInstance.pm', + 'Moose/Exception/CallingReadOnlyMethodOnAnImmutableInstance.pm', + 'Moose/Exception/CanExtendOnlyClasses.pm', + 'Moose/Exception/CanOnlyConsumeRole.pm', + 'Moose/Exception/CanOnlyWrapBlessedCode.pm', + 'Moose/Exception/CanReblessOnlyIntoASubclass.pm', + 'Moose/Exception/CanReblessOnlyIntoASuperclass.pm', + 'Moose/Exception/CannotAddAdditionalTypeCoercionsToUnion.pm', + 'Moose/Exception/CannotAddAsAnAttributeToARole.pm', + 'Moose/Exception/CannotApplyBaseClassRolesToRole.pm', + 'Moose/Exception/CannotAssignValueToReadOnlyAccessor.pm', + 'Moose/Exception/CannotAugmentIfLocalMethodPresent.pm', + 'Moose/Exception/CannotAugmentNoSuperMethod.pm', + 'Moose/Exception/CannotAutoDerefWithoutIsa.pm', + 'Moose/Exception/CannotAutoDereferenceTypeConstraint.pm', + 'Moose/Exception/CannotCalculateNativeType.pm', + 'Moose/Exception/CannotCallAnAbstractBaseMethod.pm', + 'Moose/Exception/CannotCallAnAbstractMethod.pm', + 'Moose/Exception/CannotCoerceAWeakRef.pm', + 'Moose/Exception/CannotCoerceAttributeWhichHasNoCoercion.pm', + 'Moose/Exception/CannotCreateHigherOrderTypeWithoutATypeParameter.pm', + 'Moose/Exception/CannotCreateMethodAliasLocalMethodIsPresent.pm', + 'Moose/Exception/CannotCreateMethodAliasLocalMethodIsPresentInClass.pm', + 'Moose/Exception/CannotDelegateLocalMethodIsPresent.pm', + 'Moose/Exception/CannotDelegateWithoutIsa.pm', + 'Moose/Exception/CannotFindDelegateMetaclass.pm', + 'Moose/Exception/CannotFindType.pm', + 'Moose/Exception/CannotFindTypeGivenToMatchOnType.pm', + 'Moose/Exception/CannotFixMetaclassCompatibility.pm', + 'Moose/Exception/CannotGenerateInlineConstraint.pm', + 'Moose/Exception/CannotInitializeMooseMetaRoleComposite.pm', + 'Moose/Exception/CannotInlineTypeConstraintCheck.pm', + 'Moose/Exception/CannotLocatePackageInINC.pm', + 'Moose/Exception/CannotMakeMetaclassCompatible.pm', + 'Moose/Exception/CannotOverrideALocalMethod.pm', + 'Moose/Exception/CannotOverrideBodyOfMetaMethods.pm', + 'Moose/Exception/CannotOverrideLocalMethodIsPresent.pm', + 'Moose/Exception/CannotOverrideNoSuperMethod.pm', + 'Moose/Exception/CannotRegisterUnnamedTypeConstraint.pm', + 'Moose/Exception/CannotUseLazyBuildAndDefaultSimultaneously.pm', + 'Moose/Exception/CircularReferenceInAlso.pm', + 'Moose/Exception/ClassDoesNotHaveInitMeta.pm', + 'Moose/Exception/ClassDoesTheExcludedRole.pm', + 'Moose/Exception/ClassNamesDoNotMatch.pm', + 'Moose/Exception/CloneObjectExpectsAnInstanceOfMetaclass.pm', + 'Moose/Exception/CodeBlockMustBeACodeRef.pm', + 'Moose/Exception/CoercingWithoutCoercions.pm', + 'Moose/Exception/CoercionAlreadyExists.pm', + 'Moose/Exception/CoercionNeedsTypeConstraint.pm', + 'Moose/Exception/ConflictDetectedInCheckRoleExclusions.pm', + 'Moose/Exception/ConflictDetectedInCheckRoleExclusionsInToClass.pm', + 'Moose/Exception/ConstructClassInstanceTakesPackageName.pm', + 'Moose/Exception/CouldNotCreateMethod.pm', + 'Moose/Exception/CouldNotCreateWriter.pm', + 'Moose/Exception/CouldNotEvalConstructor.pm', + 'Moose/Exception/CouldNotEvalDestructor.pm', + 'Moose/Exception/CouldNotFindTypeConstraintToCoerceFrom.pm', + 'Moose/Exception/CouldNotGenerateInlineAttributeMethod.pm', + 'Moose/Exception/CouldNotLocateTypeConstraintForUnion.pm', + 'Moose/Exception/CouldNotParseType.pm', + 'Moose/Exception/CreateMOPClassTakesArrayRefOfAttributes.pm', + 'Moose/Exception/CreateMOPClassTakesArrayRefOfSuperclasses.pm', + 'Moose/Exception/CreateMOPClassTakesHashRefOfMethods.pm', + 'Moose/Exception/CreateTakesArrayRefOfRoles.pm', + 'Moose/Exception/CreateTakesHashRefOfAttributes.pm', + 'Moose/Exception/CreateTakesHashRefOfMethods.pm', + 'Moose/Exception/DefaultToMatchOnTypeMustBeCodeRef.pm', + 'Moose/Exception/DelegationToAClassWhichIsNotLoaded.pm', + 'Moose/Exception/DelegationToARoleWhichIsNotLoaded.pm', + 'Moose/Exception/DelegationToATypeWhichIsNotAClass.pm', + 'Moose/Exception/DoesRequiresRoleName.pm', + 'Moose/Exception/EnumCalledWithAnArrayRefAndAdditionalArgs.pm', + 'Moose/Exception/EnumValuesMustBeString.pm', + 'Moose/Exception/ExtendsMissingArgs.pm', + 'Moose/Exception/HandlesMustBeAHashRef.pm', + 'Moose/Exception/IllegalInheritedOptions.pm', + 'Moose/Exception/IllegalMethodTypeToAddMethodModifier.pm', + 'Moose/Exception/IncompatibleMetaclassOfSuperclass.pm', + 'Moose/Exception/InitMetaRequiresClass.pm', + 'Moose/Exception/InitializeTakesUnBlessedPackageName.pm', + 'Moose/Exception/InstanceBlessedIntoWrongClass.pm', + 'Moose/Exception/InstanceMustBeABlessedReference.pm', + 'Moose/Exception/InvalidArgPassedToMooseUtilMetaRole.pm', + 'Moose/Exception/InvalidArgumentToMethod.pm', + 'Moose/Exception/InvalidArgumentsToTraitAliases.pm', + 'Moose/Exception/InvalidBaseTypeGivenToCreateParameterizedTypeConstraint.pm', + 'Moose/Exception/InvalidHandleValue.pm', + 'Moose/Exception/InvalidHasProvidedInARole.pm', + 'Moose/Exception/InvalidNameForType.pm', + 'Moose/Exception/InvalidOverloadOperator.pm', + 'Moose/Exception/InvalidRoleApplication.pm', + 'Moose/Exception/InvalidTypeConstraint.pm', + 'Moose/Exception/InvalidTypeGivenToCreateParameterizedTypeConstraint.pm', + 'Moose/Exception/InvalidValueForIs.pm', + 'Moose/Exception/IsaDoesNotDoTheRole.pm', + 'Moose/Exception/IsaLacksDoesMethod.pm', + 'Moose/Exception/LazyAttributeNeedsADefault.pm', + 'Moose/Exception/Legacy.pm', + 'Moose/Exception/MOPAttributeNewNeedsAttributeName.pm', + 'Moose/Exception/MatchActionMustBeACodeRef.pm', + 'Moose/Exception/MessageParameterMustBeCodeRef.pm', + 'Moose/Exception/MetaclassIsAClassNotASubclassOfGivenMetaclass.pm', + 'Moose/Exception/MetaclassIsARoleNotASubclassOfGivenMetaclass.pm', + 'Moose/Exception/MetaclassIsNotASubclassOfGivenMetaclass.pm', + 'Moose/Exception/MetaclassMustBeASubclassOfMooseMetaClass.pm', + 'Moose/Exception/MetaclassMustBeASubclassOfMooseMetaRole.pm', + 'Moose/Exception/MetaclassMustBeDerivedFromClassMOPClass.pm', + 'Moose/Exception/MetaclassNotLoaded.pm', + 'Moose/Exception/MetaclassTypeIncompatible.pm', + 'Moose/Exception/MethodExpectedAMetaclassObject.pm', + 'Moose/Exception/MethodExpectsFewerArgs.pm', + 'Moose/Exception/MethodExpectsMoreArgs.pm', + 'Moose/Exception/MethodModifierNeedsMethodName.pm', + 'Moose/Exception/MethodNameConflictInRoles.pm', + 'Moose/Exception/MethodNameNotFoundInInheritanceHierarchy.pm', + 'Moose/Exception/MethodNameNotGiven.pm', + 'Moose/Exception/MustDefineAMethodName.pm', + 'Moose/Exception/MustDefineAnAttributeName.pm', + 'Moose/Exception/MustDefineAnOverloadOperator.pm', + 'Moose/Exception/MustHaveAtLeastOneValueToEnumerate.pm', + 'Moose/Exception/MustPassAHashOfOptions.pm', + 'Moose/Exception/MustPassAMooseMetaRoleInstanceOrSubclass.pm', + 'Moose/Exception/MustPassAPackageNameOrAnExistingClassMOPPackageInstance.pm', + 'Moose/Exception/MustPassEvenNumberOfArguments.pm', + 'Moose/Exception/MustPassEvenNumberOfAttributeOptions.pm', + 'Moose/Exception/MustProvideANameForTheAttribute.pm', + 'Moose/Exception/MustSpecifyAtleastOneMethod.pm', + 'Moose/Exception/MustSpecifyAtleastOneRole.pm', + 'Moose/Exception/MustSpecifyAtleastOneRoleToApplicant.pm', + 'Moose/Exception/MustSupplyAClassMOPAttributeInstance.pm', + 'Moose/Exception/MustSupplyADelegateToMethod.pm', + 'Moose/Exception/MustSupplyAMetaclass.pm', + 'Moose/Exception/MustSupplyAMooseMetaAttributeInstance.pm', + 'Moose/Exception/MustSupplyAnAccessorTypeToConstructWith.pm', + 'Moose/Exception/MustSupplyAnAttributeToConstructWith.pm', + 'Moose/Exception/MustSupplyArrayRefAsCurriedArguments.pm', + 'Moose/Exception/MustSupplyPackageNameAndName.pm', + 'Moose/Exception/NeedsTypeConstraintUnionForTypeCoercionUnion.pm', + 'Moose/Exception/NeitherAttributeNorAttributeNameIsGiven.pm', + 'Moose/Exception/NeitherClassNorClassNameIsGiven.pm', + 'Moose/Exception/NeitherRoleNorRoleNameIsGiven.pm', + 'Moose/Exception/NeitherTypeNorTypeNameIsGiven.pm', + 'Moose/Exception/NoAttributeFoundInSuperClass.pm', + 'Moose/Exception/NoBodyToInitializeInAnAbstractBaseClass.pm', + 'Moose/Exception/NoCasesMatched.pm', + 'Moose/Exception/NoConstraintCheckForTypeConstraint.pm', + 'Moose/Exception/NoDestructorClassSpecified.pm', + 'Moose/Exception/NoImmutableTraitSpecifiedForClass.pm', + 'Moose/Exception/NoParentGivenToSubtype.pm', + 'Moose/Exception/OnlyInstancesCanBeCloned.pm', + 'Moose/Exception/OperatorIsRequired.pm', + 'Moose/Exception/OverloadConflictInSummation.pm', + 'Moose/Exception/OverloadRequiresAMetaClass.pm', + 'Moose/Exception/OverloadRequiresAMetaMethod.pm', + 'Moose/Exception/OverloadRequiresAMetaOverload.pm', + 'Moose/Exception/OverloadRequiresAMethodNameOrCoderef.pm', + 'Moose/Exception/OverloadRequiresAnOperator.pm', + 'Moose/Exception/OverloadRequiresNamesForCoderef.pm', + 'Moose/Exception/OverrideConflictInComposition.pm', + 'Moose/Exception/OverrideConflictInSummation.pm', + 'Moose/Exception/PackageDoesNotUseMooseExporter.pm', + 'Moose/Exception/PackageNameAndNameParamsNotGivenToWrap.pm', + 'Moose/Exception/PackagesAndModulesAreNotCachable.pm', + 'Moose/Exception/ParameterIsNotSubtypeOfParent.pm', + 'Moose/Exception/ReferencesAreNotAllowedAsDefault.pm', + 'Moose/Exception/RequiredAttributeLacksInitialization.pm', + 'Moose/Exception/RequiredAttributeNeedsADefault.pm', + 'Moose/Exception/RequiredMethodsImportedByClass.pm', + 'Moose/Exception/RequiredMethodsNotImplementedByClass.pm', + 'Moose/Exception/Role/Attribute.pm', + 'Moose/Exception/Role/AttributeName.pm', + 'Moose/Exception/Role/Class.pm', + 'Moose/Exception/Role/EitherAttributeOrAttributeName.pm', + 'Moose/Exception/Role/Instance.pm', + 'Moose/Exception/Role/InstanceClass.pm', + 'Moose/Exception/Role/InvalidAttributeOptions.pm', + 'Moose/Exception/Role/Method.pm', + 'Moose/Exception/Role/ParamsHash.pm', + 'Moose/Exception/Role/Role.pm', + 'Moose/Exception/Role/RoleForCreate.pm', + 'Moose/Exception/Role/RoleForCreateMOPClass.pm', + 'Moose/Exception/Role/TypeConstraint.pm', + 'Moose/Exception/RoleDoesTheExcludedRole.pm', + 'Moose/Exception/RoleExclusionConflict.pm', + 'Moose/Exception/RoleNameRequired.pm', + 'Moose/Exception/RoleNameRequiredForMooseMetaRole.pm', + 'Moose/Exception/RolesDoNotSupportAugment.pm', + 'Moose/Exception/RolesDoNotSupportExtends.pm', + 'Moose/Exception/RolesDoNotSupportInner.pm', + 'Moose/Exception/RolesDoNotSupportRegexReferencesForMethodModifiers.pm', + 'Moose/Exception/RolesInCreateTakesAnArrayRef.pm', + 'Moose/Exception/RolesListMustBeInstancesOfMooseMetaRole.pm', + 'Moose/Exception/SingleParamsToNewMustBeHashRef.pm', + 'Moose/Exception/TriggerMustBeACodeRef.pm', + 'Moose/Exception/TypeConstraintCannotBeUsedForAParameterizableType.pm', + 'Moose/Exception/TypeConstraintIsAlreadyCreated.pm', + 'Moose/Exception/TypeParameterMustBeMooseMetaType.pm', + 'Moose/Exception/UnableToCanonicalizeHandles.pm', + 'Moose/Exception/UnableToCanonicalizeNonRolePackage.pm', + 'Moose/Exception/UnableToRecognizeDelegateMetaclass.pm', + 'Moose/Exception/UndefinedHashKeysPassedToMethod.pm', + 'Moose/Exception/UnionCalledWithAnArrayRefAndAdditionalArgs.pm', + 'Moose/Exception/UnionTakesAtleastTwoTypeNames.pm', + 'Moose/Exception/ValidationFailedForInlineTypeConstraint.pm', + 'Moose/Exception/ValidationFailedForTypeConstraint.pm', + 'Moose/Exception/WrapTakesACodeRefToBless.pm', + 'Moose/Exception/WrongTypeConstraintGiven.pm', + 'Moose/Exporter.pm', + 'Moose/Meta/Attribute/Native/Trait.pm', + 'Moose/Meta/Attribute/Native/Trait/Array.pm', + 'Moose/Meta/Attribute/Native/Trait/Bool.pm', + 'Moose/Meta/Attribute/Native/Trait/Code.pm', + 'Moose/Meta/Attribute/Native/Trait/Counter.pm', + 'Moose/Meta/Attribute/Native/Trait/Hash.pm', + 'Moose/Meta/Attribute/Native/Trait/Number.pm', + 'Moose/Meta/Attribute/Native/Trait/String.pm', + 'Moose/Meta/Class.pm', + 'Moose/Meta/Class/Immutable/Trait.pm', + 'Moose/Meta/Instance.pm', + 'Moose/Meta/Method.pm', + 'Moose/Meta/Method/Accessor.pm', + 'Moose/Meta/Method/Accessor/Native.pm', + 'Moose/Meta/Method/Accessor/Native/Array.pm', + 'Moose/Meta/Method/Accessor/Native/Array/Writer.pm', + 'Moose/Meta/Method/Accessor/Native/Array/accessor.pm', + 'Moose/Meta/Method/Accessor/Native/Array/clear.pm', + 'Moose/Meta/Method/Accessor/Native/Array/count.pm', + 'Moose/Meta/Method/Accessor/Native/Array/delete.pm', + 'Moose/Meta/Method/Accessor/Native/Array/elements.pm', + 'Moose/Meta/Method/Accessor/Native/Array/first.pm', + 'Moose/Meta/Method/Accessor/Native/Array/first_index.pm', + 'Moose/Meta/Method/Accessor/Native/Array/get.pm', + 'Moose/Meta/Method/Accessor/Native/Array/grep.pm', + 'Moose/Meta/Method/Accessor/Native/Array/insert.pm', + 'Moose/Meta/Method/Accessor/Native/Array/is_empty.pm', + 'Moose/Meta/Method/Accessor/Native/Array/join.pm', + 'Moose/Meta/Method/Accessor/Native/Array/map.pm', + 'Moose/Meta/Method/Accessor/Native/Array/natatime.pm', + 'Moose/Meta/Method/Accessor/Native/Array/pop.pm', + 'Moose/Meta/Method/Accessor/Native/Array/push.pm', + 'Moose/Meta/Method/Accessor/Native/Array/reduce.pm', + 'Moose/Meta/Method/Accessor/Native/Array/set.pm', + 'Moose/Meta/Method/Accessor/Native/Array/shallow_clone.pm', + 'Moose/Meta/Method/Accessor/Native/Array/shift.pm', + 'Moose/Meta/Method/Accessor/Native/Array/shuffle.pm', + 'Moose/Meta/Method/Accessor/Native/Array/sort.pm', + 'Moose/Meta/Method/Accessor/Native/Array/sort_in_place.pm', + 'Moose/Meta/Method/Accessor/Native/Array/splice.pm', + 'Moose/Meta/Method/Accessor/Native/Array/uniq.pm', + 'Moose/Meta/Method/Accessor/Native/Array/unshift.pm', + 'Moose/Meta/Method/Accessor/Native/Bool/not.pm', + 'Moose/Meta/Method/Accessor/Native/Bool/set.pm', + 'Moose/Meta/Method/Accessor/Native/Bool/toggle.pm', + 'Moose/Meta/Method/Accessor/Native/Bool/unset.pm', + 'Moose/Meta/Method/Accessor/Native/Code/execute.pm', + 'Moose/Meta/Method/Accessor/Native/Code/execute_method.pm', + 'Moose/Meta/Method/Accessor/Native/Collection.pm', + 'Moose/Meta/Method/Accessor/Native/Counter/Writer.pm', + 'Moose/Meta/Method/Accessor/Native/Counter/dec.pm', + 'Moose/Meta/Method/Accessor/Native/Counter/inc.pm', + 'Moose/Meta/Method/Accessor/Native/Counter/reset.pm', + 'Moose/Meta/Method/Accessor/Native/Counter/set.pm', + 'Moose/Meta/Method/Accessor/Native/Hash.pm', + 'Moose/Meta/Method/Accessor/Native/Hash/Writer.pm', + 'Moose/Meta/Method/Accessor/Native/Hash/accessor.pm', + 'Moose/Meta/Method/Accessor/Native/Hash/clear.pm', + 'Moose/Meta/Method/Accessor/Native/Hash/count.pm', + 'Moose/Meta/Method/Accessor/Native/Hash/defined.pm', + 'Moose/Meta/Method/Accessor/Native/Hash/delete.pm', + 'Moose/Meta/Method/Accessor/Native/Hash/elements.pm', + 'Moose/Meta/Method/Accessor/Native/Hash/exists.pm', + 'Moose/Meta/Method/Accessor/Native/Hash/get.pm', + 'Moose/Meta/Method/Accessor/Native/Hash/is_empty.pm', + 'Moose/Meta/Method/Accessor/Native/Hash/keys.pm', + 'Moose/Meta/Method/Accessor/Native/Hash/kv.pm', + 'Moose/Meta/Method/Accessor/Native/Hash/set.pm', + 'Moose/Meta/Method/Accessor/Native/Hash/shallow_clone.pm', + 'Moose/Meta/Method/Accessor/Native/Hash/values.pm', + 'Moose/Meta/Method/Accessor/Native/Number/abs.pm', + 'Moose/Meta/Method/Accessor/Native/Number/add.pm', + 'Moose/Meta/Method/Accessor/Native/Number/div.pm', + 'Moose/Meta/Method/Accessor/Native/Number/mod.pm', + 'Moose/Meta/Method/Accessor/Native/Number/mul.pm', + 'Moose/Meta/Method/Accessor/Native/Number/set.pm', + 'Moose/Meta/Method/Accessor/Native/Number/sub.pm', + 'Moose/Meta/Method/Accessor/Native/Reader.pm', + 'Moose/Meta/Method/Accessor/Native/String/append.pm', + 'Moose/Meta/Method/Accessor/Native/String/chomp.pm', + 'Moose/Meta/Method/Accessor/Native/String/chop.pm', + 'Moose/Meta/Method/Accessor/Native/String/clear.pm', + 'Moose/Meta/Method/Accessor/Native/String/inc.pm', + 'Moose/Meta/Method/Accessor/Native/String/length.pm', + 'Moose/Meta/Method/Accessor/Native/String/match.pm', + 'Moose/Meta/Method/Accessor/Native/String/prepend.pm', + 'Moose/Meta/Method/Accessor/Native/String/replace.pm', + 'Moose/Meta/Method/Accessor/Native/String/substr.pm', + 'Moose/Meta/Method/Accessor/Native/Writer.pm', + 'Moose/Meta/Method/Augmented.pm', + 'Moose/Meta/Method/Constructor.pm', + 'Moose/Meta/Method/Delegation.pm', + 'Moose/Meta/Method/Destructor.pm', + 'Moose/Meta/Method/Meta.pm', + 'Moose/Meta/Method/Overridden.pm', + 'Moose/Meta/Object/Trait.pm', + 'Moose/Meta/Role.pm', + 'Moose/Meta/Role/Application.pm', + 'Moose/Meta/Role/Application/RoleSummation.pm', + 'Moose/Meta/Role/Application/ToClass.pm', + 'Moose/Meta/Role/Application/ToInstance.pm', + 'Moose/Meta/Role/Application/ToRole.pm', + 'Moose/Meta/Role/Composite.pm', + 'Moose/Meta/Role/Method.pm', + 'Moose/Meta/Role/Method/Conflicting.pm', + 'Moose/Meta/Role/Method/Required.pm', + 'Moose/Meta/TypeCoercion.pm', + 'Moose/Meta/TypeCoercion/Union.pm', + 'Moose/Meta/TypeConstraint.pm', + 'Moose/Meta/TypeConstraint/Registry.pm', + 'Moose/Object.pm', + 'Moose/Role.pm', + 'Moose/Util.pm', + 'Moose/Util/MetaRole.pm', + 'Moose/Util/TypeConstraints.pm', + 'Moose/Util/TypeConstraints/Builtins.pm', + 'Test/Moose.pm', + 'metaclass.pm', + 'oose.pm' +); + +my @scripts = ( + 'bin/moose-outdated' +); + +# no fake home requested + +my $inc_switch = -d 'blib' ? '-Mblib' : '-Ilib'; + +use File::Spec; +use IPC::Open3; +use IO::Handle; + +open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!"; + +my @warnings; +for my $lib (@module_files) +{ + # see L<perlfaq8/How can I capture STDERR from an external command?> + my $stderr = IO::Handle->new; + + my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, '-e', "require q[$lib]"); + binmode $stderr, ':crlf' if $^O eq 'MSWin32'; + my @_warnings = <$stderr>; + waitpid($pid, 0); + is($?, 0, "$lib loaded ok"); + + shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/ + and not eval { blib->VERSION('1.01') }; + + if (@_warnings) + { + warn @_warnings; + push @warnings, @_warnings; + } +} + +foreach my $file (@scripts) +{ SKIP: { + open my $fh, '<', $file or warn("Unable to open $file: $!"), next; + my $line = <$fh>; + + close $fh and skip("$file isn't perl", 1) unless $line =~ /^#!\s*(?:\S*perl\S*)((?:\s+-\w*)*)(?:\s*#.*)?$/; + my @flags = $1 ? split(' ', $1) : (); + + my $stderr = IO::Handle->new; + + my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, @flags, '-c', $file); + binmode $stderr, ':crlf' if $^O eq 'MSWin32'; + my @_warnings = <$stderr>; + waitpid($pid, 0); + is($?, 0, "$file compiled ok"); + + shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/ + and not eval { blib->VERSION('1.01') }; + + # in older perls, -c output is simply the file portion of the path being tested + if (@_warnings = grep { !/\bsyntax OK$/ } + grep { chomp; $_ ne (File::Spec->splitpath($file))[2] } @_warnings) + { + warn @_warnings; + push @warnings, @_warnings; + } +} } + + + +is(scalar(@warnings), 0, 'no warnings found') + or diag 'got warnings: ', explain(\@warnings) if $ENV{AUTHOR_TESTING}; + +BAIL_OUT("Compilation problems") if !Test::More->builder->is_passing; diff --git a/xt/release/cpan-changes.t b/xt/release/cpan-changes.t new file mode 100644 index 0000000..8e6e413 --- /dev/null +++ b/xt/release/cpan-changes.t @@ -0,0 +1,11 @@ +#!perl + +use strict; +use warnings; + +use Test::More 0.96 tests => 2; +use_ok('Test::CPAN::Changes'); +subtest 'changes_ok' => sub { + changes_file_ok('Changes'); +}; +done_testing(); diff --git a/xt/release/distmeta.t b/xt/release/distmeta.t new file mode 100644 index 0000000..c2280dc --- /dev/null +++ b/xt/release/distmeta.t @@ -0,0 +1,6 @@ +#!perl +# This file was automatically generated by Dist::Zilla::Plugin::MetaTests. + +use Test::CPAN::Meta; + +meta_yaml_ok(); diff --git a/xt/release/kwalitee.t b/xt/release/kwalitee.t new file mode 100644 index 0000000..8d6f3c6 --- /dev/null +++ b/xt/release/kwalitee.t @@ -0,0 +1,9 @@ +# this test was generated with Dist::Zilla::Plugin::Test::Kwalitee 2.11 +use strict; +use warnings; +use Test::More 0.88; +use Test::Kwalitee 1.21 'kwalitee_ok'; + +kwalitee_ok( qw( -use_strict ) ); + +done_testing; diff --git a/xt/release/mojibake.t b/xt/release/mojibake.t new file mode 100644 index 0000000..390c632 --- /dev/null +++ b/xt/release/mojibake.t @@ -0,0 +1,12 @@ +#!perl + +use strict; +use warnings qw(all); + +use Test::More; + +## no critic (ProhibitStringyEval, RequireCheckingReturnValueOfEval) +eval q(use Test::Mojibake); +plan skip_all => q(Test::Mojibake required for source encoding testing) if $@; + +all_files_encoding_ok(); diff --git a/xt/release/pod-syntax.t b/xt/release/pod-syntax.t new file mode 100644 index 0000000..f0468f1 --- /dev/null +++ b/xt/release/pod-syntax.t @@ -0,0 +1,6 @@ +#!perl +# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests. +use Test::More; +use Test::Pod 1.41; + +all_pod_files_ok(); |