Mock Version: 2.9 Mock Version: 2.9 Mock Version: 2.9 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target noarch --nodeps /builddir/build/SPECS/php-phpspec-prophecy.spec'], chrootPath='/var/lib/mock/f34-build-26328135-3163112/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target noarch --nodeps /builddir/build/SPECS/php-phpspec-prophecy.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1616025600 Wrote: /builddir/build/SRPMS/php-phpspec-prophecy-1.13.0-1.fc34.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target noarch --nodeps /builddir/build/SPECS/php-phpspec-prophecy.spec'], chrootPath='/var/lib/mock/f34-build-26328135-3163112/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=201600uid=1000gid=425user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target noarch --nodeps /builddir/build/SPECS/php-phpspec-prophecy.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1616025600 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.NanfOb + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf prophecy-be1996ed8adc35c3fd795488a653f4b518be70ea + /usr/bin/gzip -dc /builddir/build/SOURCES/php-phpspec-prophecy-1.13.0-be1996e.tgz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd prophecy-be1996ed8adc35c3fd795488a653f4b518be70ea + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.O7FOnz + umask 022 + cd /builddir/build/BUILD + cd prophecy-be1996ed8adc35c3fd795488a653f4b518be70ea + phpab --template fedora --output src/Prophecy/autoload.php src phpab 1.26.0 - Copyright (C) 2009 - 2021 by Arne Blankerts and Contributors Scanning directory src Autoload file src/Prophecy/autoload.php generated. + cat + tee -a src/Prophecy/autoload.php \Fedora\Autoloader\Dependencies::required([ '/usr/share/php/Doctrine/Instantiator/autoload.php', '/usr/share/php/phpDocumentor/Reflection/DocBlock5/autoload.php', ]); if (!class_exists('SebastianBergmann\\Comparator\\Comparator')) { // v2 from phpunit, v1 from phpspec \Fedora\Autoloader\Dependencies::required([ [ '/usr/share/php/SebastianBergmann/Comparator4/autoload.php', '/usr/share/php/SebastianBergmann/Comparator3/autoload.php', ], ]); } if (!class_exists('SebastianBergmann\\RecursionContext\\Context')) { // v2 from phpunit, v1 from phpspec \Fedora\Autoloader\Dependencies::required([ [ '/usr/share/php/SebastianBergmann/RecursionContext4/autoload.php', '/usr/share/php/SebastianBergmann/RecursionContext3/autoload.php', ], ]); } + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.KmqGW3 + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch '!=' / ']' + rm -rf /builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch ++ dirname /builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch + cd prophecy-be1996ed8adc35c3fd795488a653f4b518be70ea + mkdir -p /builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch/usr/share/php + cp -pr src/Prophecy /builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch/usr/share/php + /usr/lib/rpm/find-debuginfo.sh -j3 --strict-build-id -m -i --build-id-seed 1.13.0-1.fc34 --unique-debug-suffix -1.13.0-1.fc34.noarch --unique-debug-src-base php-phpspec-prophecy-1.13.0-1.fc34.noarch --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/prophecy-be1996ed8adc35c3fd795488a653f4b518be70ea + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 + /usr/lib/rpm/brp-python-hardlink + /usr/lib/rpm/redhat/brp-mangle-shebangs Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.r2WHhN + umask 022 + cd /builddir/build/BUILD + cd prophecy-be1996ed8adc35c3fd795488a653f4b518be70ea + : Dev autoloader + mkdir vendor + phpab --output vendor/autoload.php fixtures phpab 1.26.0 - Copyright (C) 2009 - 2021 by Arne Blankerts and Contributors Scanning directory fixtures Autoload file vendor/autoload.php generated. + cat + tee -a vendor/autoload.php require_once '/builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch/usr/share/php/Prophecy/autoload.php'; + : check autoloader + php /builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch/usr/share/php/Prophecy/autoload.php + : check phpspec + phpspec --version phpspec 7.0.1 + ret=0 + for cmdarg in "php /usr/bin/phpunit9" "php72 /usr/bin/phpunit8" php73 php74 php80 + which php /usr/bin/phpunit9 /usr/bin/php /usr/bin/phpunit9 + set php /usr/bin/phpunit9 + php -d auto_prepend_file=vendor/autoload.php /usr/bin/phpspec run --format pretty --verbose --no-ansi Prophecy\Argument\ArgumentsWildcard 10 ✔ wraps non token arguments into ExactValueToken 23 ✔ generates string representation from all tokens imploded 36 ✔ exposes list of tokens 43 ✔ returns score of 1 if there are no tokens and arguments 50 ✔ should return match score based on all tokens score 66 ✔ returns false if there is less arguments than tokens 82 ✔ returns false if there is less tokens than arguments 98 ✔ should return false if one of the tokens returns false 114 ✔ should calculate score until last token Prophecy\Argument\Token\AnyValueToken 9 ✔ implements TokenInterface 14 ✔ is not last 19 ✔ its string representation is star 24 ✔ scores any argument as 3 Prophecy\Argument\Token\AnyValuesToken 9 ✔ implements TokenInterface 14 ✔ is last 19 ✔ its string representation is star with followup 24 ✔ scores any argument as 2 Prophecy\Argument\Token\ApproximateValueToken 15 ✔ is initializable 20 ✔ implements TokenInterface 25 ✔ is not last 30 ✔ scores 10 if rounded argument matches rounded value 35 ✔ does not score if rounded argument does not match rounded value 40 ✔ uses a default precision of zero 46 ✔ does not score if rounded argument is not numeric 51 ✔ has simple string representation Prophecy\Argument\Token\ArrayCountToken 14 ✔ implements TokenInterface 19 ✔ is not last 24 ✔ scores 6 if argument array has proper count 29 ✔ scores 6 if argument countable object has proper count 35 ✔ does not score if argument is neither array nor countable object 42 ✔ does not score if argument array has wrong count 47 ✔ does not score if argument countable object has wrong count 53 ✔ has simple string representation Prophecy\Argument\Token\ArrayEntryToken 18 ✔ implements TokenInterface 23 ✔ is not last 28 ✔ holds key and value 34 ✔ its string representation tells that its an array containing the key value pair 41 ✔ wraps non token value into ExactValueToken 47 ✔ wraps non token key into ExactValueToken 53 ✔ scores array half of combined scores from key and value tokens 60 ✔ scores traversable object half of combined scores from key and value tokens 79 ✔ throws exception during scoring of array accessible object if key is not ExactValueToken 91 ✔ scores array accessible object half of combined scores from key and value tokens 104 ✔ accepts any key token type to score object that is both traversable and array accessible 122 ✔ does not score if argument is neither array nor traversable nor array accessible 128 ✔ does not score empty array 133 ✔ does not score array if key and value tokens do not score same entry 143 ✔ does not score traversable object without entries 151 ✔ does not score traversable object if key and value tokens do not score same entry 174 ✔ does not score array accessible object if it has no offset with key token value 183 ✔ does not score array accessible object if key and value tokens do not score same entry 196 ✔ its score is capped at 8 Prophecy\Argument\Token\ArrayEveryEntryToken 15 ✔ implements TokenInterface 20 ✔ is not last 25 ✔ holds value 30 ✔ its string representation tells that its an array containing only value 36 ✔ wraps non token value into ExactValueToken 42 ✔ does not score if argument is neither array nor traversable 48 ✔ does not score empty array 53 ✔ does not score traversable object without entries 61 ✔ scores avg of scores from value tokens 68 ✔ scores false if entry scores false 75 ✔ does not score array keys 82 ✔ scores traversable object from value token Prophecy\Argument\Token\CallbackToken 14 ✔ implements TokenInterface 19 ✔ is not last 24 ✔ scores 7 if argument matches callback 31 ✔ does not scores if argument does not match callback 38 ✔ its string representation should tell that its callback Prophecy\Argument\Token\ExactValueToken 14 ✔ implements TokenInterface 19 ✔ is not last 24 ✔ holds value 29 ✔ scores 10 if value is equal to argument 35 ✔ scores 10 if value is an object and equal to argument 44 ✔ scores 10 if value is a double object and equal to argument 52 ✔ does not scores if value is not equal to argument 58 ✔ does not scores if value an object and is not equal to argument 67 ✔ does not scores if value type and is not equal to argument 73 ✔ generates proper string representation for integer 79 ✔ generates proper string representation for string 85 ✔ generates single line representation for multiline string 91 ✔ generates proper string representation for double 97 ✔ generates proper string representation for boolean true 103 ✔ generates proper string representation for boolean false 109 ✔ generates proper string representation for null 115 ✔ generates proper string representation for empty array 121 ✔ generates proper string representation for array 127 ✔ generates proper string representation for resource 134 ✔ generates proper string representation for object Prophecy\Argument\Token\IdenticalValueToken 15 ✔ is initializable 20 ✔ scores 11 if string value is identical to argument 26 ✔ scores 11 if boolean value is identical to argument 32 ✔ scores 11 if integer value is identical to argument 38 ✔ scores 11 if float value is identical to argument 44 ✔ scores 11 if array value is identical to argument 50 ✔ scores 11 if object value is identical to argument 58 ✔ scores false if value is not identical to argument 64 ✔ scores false if object value is not the same instance than argument 70 ✔ scores false if integer value is not identical to boolean argument 76 ✔ is not last 81 ✔ generates proper string representation for integer 87 ✔ generates proper string representation for string 93 ✔ generates single line representation for multiline string 99 ✔ generates proper string representation for double 105 ✔ generates proper string representation for boolean true 111 ✔ generates proper string representation for boolean false 117 ✔ generates proper string representation for null 123 ✔ generates proper string representation for empty array 129 ✔ generates proper string representation for array 135 ✔ generates proper string representation for resource 142 ✔ generates proper string representation for object Prophecy\Argument\Token\InArrayToken 10 ✔ implements TokenInterface 16 ✔ is not last 22 ✔ scores 8 if argument is in array 28 ✔ scores false if argument is not in array 34 ✔ generates array in string format 40 ✔ generates an empty array as string when token is empty Prophecy\Argument\Token\LogicalAndToken 11 ✔ implements TokenInterface 17 ✔ is not last 23 ✔ generates string representation from all tokens imploded 36 ✔ wraps non token arguments into ExactValueToken 42 ✔ scores the maximum score from all scores returned by tokens 50 ✔ does not score if there are no arguments or tokens 56 ✔ does not score if either of tokens does not score Prophecy\Argument\Token\LogicalNotToken 15 ✔ implements TokenInterface 20 ✔ holds originating token 25 ✔ has simple string representation 31 ✔ wraps non token argument into ExactValueToken 39 ✔ scores 4 if preset token does not match the argument 45 ✔ does not score if preset token matches argument 51 ✔ is last if preset token is last 57 ✔ is not last if preset token is not last Prophecy\Argument\Token\NotInArrayToken 10 ✔ implements TokenInterface 16 ✔ is not last 22 ✔ scores 8 if argument is not in array 28 ✔ scores false if argument is in array 34 ✔ generates array in string format 40 ✔ generates an empty array as string when token is empty Prophecy\Argument\Token\ObjectStateToken 14 ✔ implements TokenInterface 19 ✔ is not last 24 ✔ scores 8 if argument object has specific method state 31 ✔ scores 8 if argument object has specific property state 38 ✔ does not score if argument method state does not match 47 ✔ does not score if argument property state does not match 54 ✔ does not score if argument object does not have method or property 59 ✔ does not score if argument is not object 64 ✔ has simple string representation Prophecy\Argument\Token\StringContainsToken 15 ✔ is initializable 20 ✔ implements TokenInterface 25 ✔ holds value 30 ✔ is not last 35 ✔ scores 6 if the argument contains the value 40 ✔ does not score if the argument does not contain the value 45 ✔ does not score if the argument is not a string 50 ✔ its string representation shows substring Prophecy\Argument\Token\TypeToken 15 ✔ implements TokenInterface 20 ✔ is not last 25 ✔ scores 5 if argument matches simple type 32 ✔ does not scores if argument does not match simple type 39 ✔ scores 5 if argument is an instance of specified class 46 ✔ has simple string representation 51 ✔ scores 5 if argument is an instance of specified interface Prophecy\Argument 9 ✔ has a shortcut for exact argument token 16 ✔ has a shortcut for any argument token 22 ✔ has a shortcut for multiple arguments token 28 ✔ has a shortcut for type token 34 ✔ has a shortcut for callback token 40 ✔ has a shortcut for object state token 46 ✔ has a shortcut for logical and token 52 ✔ has a shortcut for array count token 58 ✔ has a shortcut for array entry token 64 ✔ has a shortcut for array every entry token 70 ✔ has a shortcut for identical value token 76 ✔ has a shortcut for array entry token matching any key 83 ✔ has a shortcut for array entry token matching any value 90 ✔ has a shortcut for logical not token 96 ✔ has a shortcut for string contains token 102 ✔ has a shortcut for approximate token 108 ✔ has a shortcut for in token 114 ✔ has a shortcut for not in token Prophecy\Call\CallCenter 18 ✔ records calls made through makeCall method 34 ✔ returns null for any call through makeCall if no method prophecies added 43 ✔ executes promise of method prophecy that matches signature passed to makeCall 85 ✔ executes promise of method prophecy that matches with highest score to makeCall 127 ✔ returns null if method prophecy that matches makeCall arguments has no promise 145 ✔ finds recorded calls by a method name and arguments wildcard 165 ✔ records the error when stub has got unexpected method calls Prophecy\Call\Call 15 ✔ exposes method name through getter 20 ✔ exposes arguments through getter 25 ✔ exposes return value through getter 30 ✔ exposes exception through getter 35 ✔ exposes file and line through getter 41 ✔ returns shortpath to callPlace 46 ✔ returns unknown as callPlace if no file or line provided 53 ✔ adds wildcard match score 59 ✔ caches and returns wildcard match score Prophecy\Comparator\ClosureComparator 10 ✔ is comparator 15 ✔ accepts only closures 28 ✔ asserts that different closures are different 33 ✔ asserts that closures are equal if its the same closure Prophecy\Comparator\Factory 10 ✔ extends Sebastian Comparator Factory 15 ✔ should have ClosureComparator registered Prophecy\Comparator\ProphecyComparator 11 ✔ is a comparator 16 ✔ accepts only prophecy objects 32 ✔ asserts that an object is equal to its revealed prophecy Prophecy\Doubler\CachedDoubler 31 ✔ creates only one class definition for the same class without interfaces and patches 49 ✔ creates two class definitions for different classes without interfaces and patches 73 ✔ creates two different class definitions for the same class with different interfaces and same patches 114 ✔ creates two different class definitions for different classes with different interfaces and same patches 157 ✔ creates only one class definition for the same class with same interfaces and without patches 179 ✔ creates only one class definition for different classes with same interfaces and without patches 207 ✔ creates two different class definitions for the same class with different interfaces and without patches 233 ✔ creates two different class definitions for different classes with different interfaces and without patches 261 ✔ creates only one class definition for the same class with same interfaces and same patches 294 ✔ creates two class definitions for different classes with different interfaces and patches 335 ✔ creates two class definitions for the same class with different interfaces and patches 374 ✔ creates two different class definitions for the same class with same interfaces and different patches Prophecy\Doubler\ClassPatch\DisableConstructorPatch 13 ✔ is a patch 18 ✔ its priority is 100 23 ✔ supports anything 28 ✔ makes all constructor arguments optional 47 ✔ creates new constructor if object has none 57 ✔ ignores final constructor Prophecy\Doubler\ClassPatch\HhvmExceptionPatch 12 ✔ is a patch 17 ✔ its priority is minus 50 22 ✔ uses parent code for setTraceOptions Prophecy\Doubler\ClassPatch\KeywordPatch 13 ✔ is a patch 18 ✔ its priority is 49 23 ✔ will remove halt compiler method Prophecy\Doubler\ClassPatch\MagicCallPatch 12 ✔ is a patch 17 ✔ supports anything 22 ✔ discovers api using phpdoc 32 ✔ ignores existing methods 43 ✔ ignores empty methods from phpdoc 53 ✔ discovers api using phpdoc from implemented interfaces 63 ✔ discovers api using phpdoc from own interfaces 73 ✔ discovers api using phpdoc from extended parent interfaces 83 ✔ has 50 priority Prophecy\Doubler\ClassPatch\ProphecySubjectPatch 13 ✔ is a patch 18 ✔ has priority of 0 23 ✔ supports any class 28 ✔ forces class to implement ProphecySubjectInterface 41 ✔ forces all class methods except constructor to proxy calls into prophecy makeCall Prophecy\Doubler\ClassPatch\ReflectionClassNewInstancePatch 13 ✔ is a patch 18 ✔ its priority is 50 23 ✔ supports ReflectionClass only 32 ✔ makes all newInstance arguments optional Prophecy\Doubler\ClassPatch\SplFileInfoPatch 12 ✔ is a patch 17 ✔ its priority is 50 22 ✔ does not support nodes without parent class 28 ✔ supports nodes with SplFileInfo as parent class 34 ✔ supports nodes with derivative of SplFileInfo as parent class 40 ✔ adds a method to node if not exists 49 ✔ updates existing method if found 60 ✔ should not supply a file for a directory iterator 73 ✔ should supply a file for a spl file object 86 ✔ should supply a file for a symfony spl file info Prophecy\Doubler\ClassPatch\ThrowablePatch 13 ✔ is a patch 18 ✔ does not support class that does not implement throwable 26 ✔ supports class that extends not throwable class 34 ✔ does not support class that already extends a throwable class 42 ✔ supports class implementing interface that extends throwable 50 ✔ sets the parent class to exception 68 ✔ throws error when trying to double concrete class and throwable interface Prophecy\Doubler\ClassPatch\TraversablePatch 11 ✔ is a patch 16 ✔ supports class that implements only Traversable 23 ✔ does not support class that implements Iterator 30 ✔ does not support class that implements IteratorAggregate 37 ✔ has 100 priority 42 ✔ forces node to implement IteratorAggregate Prophecy\Doubler\Doubler 19 ✔ does not have patches by default 24 ✔ its registerClassPatch adds a patch to the doubler 30 ✔ its getClassPatches sorts patches by priority 49 ✔ its double mirrors alterates and instantiates provided class 81 ✔ double instantiates a class with constructor argument 96 ✔ can instantiate class with final constructor Prophecy\Doubler\Generator\ClassCodeGenerator 16 ✔ generates proper php code for specific ClassNode 142 ✔ generates proper php code for variadics 242 ✔ overrides properly methods with args passed by reference 283 ✔ generates proper code for union return types 320 ✔ generates proper code for union argument types 364 ✔ generates empty class for empty ClassNode 384 ✔ wraps class in namespace if it is namespaced Prophecy\Doubler\Generator\ClassCreator 16 ✔ evaluates code generated by ClassCodeGenerator 25 ✔ throws an exception if class does not exist after evaluation Prophecy\Doubler\Generator\Node\ArgumentNode 15 ✔ is not be passed by reference by default 20 ✔ is passed by reference if marked 26 ✔ is not variadic by default 31 ✔ is variadic if marked 37 ✔ does not have default by default 42 ✔ does not have default if variadic 49 ✔ does have default if not variadic 56 ✔ has name with which it was been constructed 61 ✔ has no typehint by default 66 ✔ its typeHint is mutable with deprecated accessors 72 ✔ can set nullable type using deprecated method 81 ✔ can unset nullable type using deprecated method 90 ✔ has an empty type by default 95 ✔ has a mutable type 102 ✔ does not have default value by default 107 ✔ is not optional by default 112 ✔ its default is mutable 118 ✔ is marked as optional when default is set Prophecy\Doubler\Generator\Node\ArgumentTypeNode 11 ✔ has no types at start 16 ✔ can have a simple type 23 ✔ can have multiple types 30 ✔ will prefix fcqns 37 ✔ will not prefix fcqns that already have prefix 44 ✔ can use shorthand null syntax if it has single type plus null 51 ✔ can not use shorthand null syntax if it does not allow null 58 ✔ can not use shorthand null syntax if it has more than one non null type 65 ✔ can return non null types 72 ✔ does not allow standalone null 79 ✔ does not allow union mixed 88 ✔ does not prefix false 95 ✔ does not allow standalone false 104 ✔ does not allow nullable false Prophecy\Doubler\Generator\Node\ClassNode 11 ✔ its parentClass is a stdClass by default 16 ✔ its parentClass is mutable 22 ✔ its parentClass is set to stdClass if user set null 28 ✔ does not implement any interface by default 33 ✔ its addInterface adds item to the list of implemented interfaces 39 ✔ its hasInterface returns true if class implements interface 45 ✔ its hasInterface returns false if class does not implements interface 50 ✔ supports implementation of multiple interfaces 57 ✔ ignores same interfaces added twice 66 ✔ does not have methods by default 71 ✔ can has methods 85 ✔ its hasMethod returns true if method exists 94 ✔ its getMethod returns method by name 103 ✔ its hasMethod returns false if method does not exists 108 ✔ its hasMethod returns false if method has been removed 118 ✔ does not have properties by default 123 ✔ is able to have properties 133 ✔ its addProperty does not accept unsupported visibility 138 ✔ its addProperty lowercases visibility before setting 144 ✔ its has no unextendable methods by default 149 ✔ its addUnextendableMethods adds an unextendable method 155 ✔ its methods are extendable by default 160 ✔ its unextendable methods are not extendable 166 ✔ its addUnextendableMethods doesnt create duplicates 173 ✔ throws an exception when adding a method that isnt extendable Prophecy\Doubler\Generator\Node\MethodNode 16 ✔ has a name 21 ✔ has public visibility by default 26 ✔ its visibility is mutable 32 ✔ is not static by default 37 ✔ does not return a reference by default 42 ✔ should be settable as returning a reference through setter 48 ✔ should be settable as static through setter 54 ✔ accepts only supported visibilities 59 ✔ lowercases visibility before setting it 65 ✔ its useParentCode causes method to call parent 83 ✔ its code is mutable 89 ✔ its reference returning methods will generate exceptions 96 ✔ its setCode provided with null cleans method body 102 ✔ is constructable with code 108 ✔ does not have arguments by default 113 ✔ supports adding arguments 121 ✔ has an empty return type by default 126 ✔ can modify return type 133 ✔ can modify return type as strings using deprecated methods 141 ✔ can set nullable type using deprecated method 150 ✔ can unset nullable type using deprecated method Prophecy\Doubler\Generator\Node\ReturnTypeNode 10 ✔ has no return types at start 15 ✔ can have a simple type 22 ✔ can have multiple types 29 ✔ can have void type 36 ✔ will normalise type aliases types 43 ✔ will prefix fcqns 50 ✔ will not prefix fcqns that already have prefix 57 ✔ can use shorthand null syntax if it has single type plus null 64 ✔ can not use shorthand null syntax if it does not allow null 71 ✔ can not use shorthand null syntax if it has more than one non null type 78 ✔ can return non null types 85 ✔ does not allow standalone null 92 ✔ does not allow union void 99 ✔ does not allow union mixed 108 ✔ knows when it is not void 115 ✔ knows when it is void 122 ✔ does not prefix false 129 ✔ does not allow standalone false 138 ✔ does not allow nullable false Prophecy\Doubler\LazyDouble 16 ✔ returns anonymous double instance by default 23 ✔ returns class double instance if set 32 ✔ returns same double instance if called 2 times 44 ✔ its setParentClass throws ClassNotFoundException if class not found 50 ✔ its setParentClass throws exception if prophecy is already created 62 ✔ its addInterface throws InterfaceNotFoundException if no interface found 68 ✔ its addInterface throws exception if prophecy is already created Prophecy\Doubler\NameGenerator 9 ✔ its name generates name based on simple class reflection 15 ✔ its name generates name based on namespaced class reflection 21 ✔ its name generates name based on interface shortnames 33 ✔ generates proper name for no class and interfaces list 38 ✔ its name generates name based only on class if its available Prophecy\Exception\Call\UnexpectedCallException 16 ✔ is prophecy exception 21 ✔ exposes method name through getter 26 ✔ exposes arguments through getter Prophecy\Exception\Doubler\ClassCreatorException 16 ✔ is a prophecy exception 22 ✔ contains a reflected node Prophecy\Exception\Doubler\ClassMirrorException 14 ✔ is a prophecy exception 20 ✔ contains a reflected class link Prophecy\Exception\Doubler\ClassNotFoundException 15 ✔ is a prophecy exception 21 ✔ its getClassname returns classname Prophecy\Exception\Doubler\DoubleException 9 ✔ is a double exception Prophecy\Exception\Doubler\InterfaceNotFoundException 15 ✔ extends ClassNotFoundException 20 ✔ its getClassname returns classname Prophecy\Exception\Doubler\MethodNotExtendableException 15 ✔ is DoubleException 20 ✔ has MethodName 25 ✔ has classname Prophecy\Exception\Doubler\MethodNotFoundException 15 ✔ is DoubleException 20 ✔ has MethodName 25 ✔ has classnamej 30 ✔ has an arguments list 35 ✔ has a default null argument list Prophecy\Exception\Prediction\AggregateException 17 ✔ is prediction exception 23 ✔ can store objectProphecy link 29 ✔ should not have exceptions at the beginning 34 ✔ should append exception through append method 43 ✔ should update message during append 52 ✔ should update message during append more exceptions Prophecy\Exception\Prediction\NoCallsException 18 ✔ is PredictionException 23 ✔ extends MethodProphecyException Prophecy\Exception\Prediction\UnexpectedCallsCountException 18 ✔ extends UnexpectedCallsException 23 ✔ should expose expectedCount through getter Prophecy\Exception\Prediction\UnexpectedCallsException 19 ✔ is PredictionException 24 ✔ extends MethodProphecyException 29 ✔ should expose calls list through getter Prophecy\Exception\Prophecy\MethodProphecyException 19 ✔ extends DoubleException 24 ✔ holds a stub reference Prophecy\Exception\Prophecy\ObjectProphecyException 15 ✔ should be a prophecy exception 20 ✔ holds double reference Prophecy\Prediction\CallPrediction 14 ✔ is prediction 19 ✔ does nothing if there is more than one call been made 27 ✔ throws NoCallsException if no calls found Prophecy\Prediction\CallTimesPrediction 19 ✔ is prediction 24 ✔ does nothing if there were exact amount of calls being made 33 ✔ throws UnexpectedCallsCountException if calls found Prophecy\Prediction\CallbackPrediction 19 ✔ is prediction 24 ✔ proxies call to callback Prophecy\Prediction\NoCallsPrediction 13 ✔ is prediction 18 ✔ does nothing if there is no calls made 23 ✔ throws UnexpectedCallsException if calls found Prophecy\Promise\CallbackPromise 16 ✔ is promise 21 ✔ should execute closure callback 32 ✔ should execute static array callback 41 ✔ should execute instance array callback 51 ✔ should execute string function callback Prophecy\Promise\ReturnArgumentPromise 11 ✔ is promise 16 ✔ should return first argument if provided 21 ✔ should return null if no arguments provided 26 ✔ should return nth argument if provided Prophecy\Promise\ReturnPromise 16 ✔ is promise 21 ✔ returns value it was constructed with 26 ✔ always returns last value left in the return values 32 ✔ consequently returns multiple values it was constructed with 43 ✔ returns null if constructed with empty array Prophecy\Promise\ThrowPromise 17 ✔ is promise 22 ✔ instantiates and throws exception from provided classname 30 ✔ instantiates exceptions with required arguments 38 ✔ throws provided exception 45 ✔ throws error instances 56 ✔ throws errors by class name 67 ✔ does not throw something that is not throwable by class name 74 ✔ does not throw something that is not throwable by instance 81 ✔ throws an exception by class name 88 ✔ throws an extension of throwable by class name 99 ✔ throws a throwable by class name Prophecy\Prophecy\MethodProphecy 27 ✔ is initializable 32 ✔ its constructor throws MethodNotFoundException for unexisting method 43 ✔ its constructor throws MethodProphecyException for final methods 56 ✔ its constructor transforms array passed as 3rd argument to ArgumentsWildcard 66 ✔ its constructor does not touch third argument if it is null 74 ✔ its constructor records default callback promise for return type hinted methods 86 ✔ its constructor records promise that returns null for void type hinted methods 98 ✔ its constructor adds itself to ObjectProphecy for return type hinted methods 110 ✔ records promise through will method 118 ✔ adds itself to ObjectProphecy during call to will 127 ✔ adds ReturnPromise during willReturn call 135 ✔ adds CallbackPromise during willYield call 143 ✔ yields elements configured in willYield 151 ✔ yields key value pairs configured in willYield 159 ✔ yields and return elements configured in willYield 169 ✔ adds ThrowPromise during willThrow call 177 ✔ adds ReturnArgumentPromise during willReturnArgument call 185 ✔ adds ReturnArgumentPromise during willReturnArgument call with index argument 196 ✔ adds CallbackPromise during will call with callback argument 206 ✔ records prediction through should method 216 ✔ adds CallbackPrediction during should call with callback argument 226 ✔ adds itself to ObjectProphecy during call to should 235 ✔ adds CallPrediction during shouldBeCalled call 243 ✔ adds NoCallsPrediction during shouldNotBeCalled call 251 ✔ adds CallTimesPrediction during shouldBeCalledTimes call 259 ✔ adds CallTimesPrediction during shouldBeCalledOnce call 267 ✔ checks prediction via shouldHave method call 282 ✔ sets return promise during shouldHave call if none was set before 299 ✔ does not set return promise during shouldHave call if it was set before 318 ✔ records checked predictions 340 ✔ records even failed checked predictions 362 ✔ checks prediction via shouldHave method call with callback 378 ✔ does nothing during checkPrediction if no prediction set 383 ✔ checks set prediction during checkPrediction 399 ✔ links back to ObjectProphecy through getter 404 ✔ has MethodName 409 ✔ contains ArgumentsWildcard it was constructed with 418 ✔ its ArgumentWildcard is mutable through setter 425 ✔ its withArguments transforms passed array into ArgumentsWildcard 434 ✔ its withArguments throws exception if wrong arguments provided 439 ✔ returns null for void return type 447 ✔ returns empty string for string return type 455 ✔ returns zero for float return type 463 ✔ returns false for bool return type 471 ✔ returns empty for array return type 479 ✔ returns empty closure for callable return type 487 ✔ returns empty closure for closure return type 495 ✔ returns null generator for traversable return type 503 ✔ returns null generator for generator return type 511 ✔ returns an object prophecy for other object return types 521 ✔ returns object prophecy for nullable return type 531 ✔ returns scalar prophecy for scalar and null union 543 ✔ returns object prophecy for object scalar union Prophecy\Prophecy\ObjectProphecy 26 ✔ implements ProphecyInterface 31 ✔ sets parentClass during willExtend call 38 ✔ adds interface during willImplement call 45 ✔ sets constructor arguments during willBeConstructedWith call 52 ✔ does not have method prophecies by default 57 ✔ should get method prophecies by method name 75 ✔ should return empty array if no method prophecies found 81 ✔ should proxy makeProphecyMethodCall to CallCenter 90 ✔ should reveal arguments and return values from callCenter 105 ✔ should proxy getProphecyMethodCalls to CallCenter 118 ✔ its addMethodProphecy adds method prophecy 132 ✔ its addMethodProphecy handles prophecies with different arguments 155 ✔ its addMethodProphecy handles prophecies for caseinsensitive method names 178 ✔ its addMethodProphecy handles prophecies for different methods 203 ✔ its addMethodProphecy throws exception when method has no ArgumentsWildcard 214 ✔ returns null after checkPredictions call if there is no method prophecies 219 ✔ throws AggregateException during checkPredictions if predictions fail 241 ✔ returns new MethodProphecy instance for arbitrary call 252 ✔ returns same MethodProphecy for same registered signature 264 ✔ returns new MethodProphecy for different signatures 279 ✔ returns new MethodProphecy for all callback signatures 291 ✔ throws UnexpectedCallException during checkPredictions if unexpected method was called Prophecy\Prophecy\Revealer 10 ✔ is revealer 15 ✔ reveals single instance of ProphecyInterface 22 ✔ reveals instances of ProphecyInterface inside array 40 ✔ does not touch non prophecy interface Prophecy\Prophet 21 ✔ constructs new prophecy on prophesize call 27 ✔ constructs new prophecy with parent class if specified 34 ✔ constructs new prophecy with interface if specified 41 ✔ exposes all created prophecies through getter 49 ✔ does nothing during checkPredictions call if no predictions defined 54 ✔ throws AggregateException if defined predictions fail 77 ✔ exposes doubler through getter Prophecy\Util\StringUtil 9 ✔ generates proper string representation for integer 14 ✔ generates proper string representation for string 19 ✔ generates single line representation for multiline string 24 ✔ generates proper string representation for double 29 ✔ generates proper string representation for boolean true 34 ✔ generates proper string representation for boolean false 39 ✔ generates proper string representation for null 44 ✔ generates proper string representation for empty array 49 ✔ generates proper string representation for array 54 ✔ generates proper string representation for hash containing one value 59 ✔ generates proper string representation for hash 66 ✔ generates proper string representation for resource 72 ✔ generates proper string representation for object 83 ✔ generates proper string representation for object without exporting 70 specs 567 examples (567 passed) 237ms + php -d auto_prepend_file=vendor/autoload.php /usr/bin/phpunit9 PHPUnit 9.5.2 by Sebastian Bergmann and contributors. Warning: Your XML configuration validates against a deprecated schema. Suggestion: Migrate your XML configuration using "--migrate-configuration"! .................................WWSSS.W 40 / 40 (100%) Time: 00:00.021, Memory: 6.00 MB There were 3 warnings: 1) Tests\Prophecy\Doubler\Generator\ClassMirrorTest::it_doesnt_fail_to_mock_self_referencing_interface PHPUnit\Framework\TestCase::prophesize() is deprecated and will be removed in PHPUnit 10. Please use the trait provided by phpspec/prophecy-phpunit. 2) Tests\Prophecy\Doubler\Generator\ClassMirrorTest::it_changes_argument_names_if_they_are_varying PHPUnit\Framework\TestCase::prophesize() is deprecated and will be removed in PHPUnit 10. Please use the trait provided by phpspec/prophecy-phpunit. 3) Tests\Prophecy\Doubler\Generator\ClassMirrorTest::case_insensitive_method_names PHPUnit\Framework\TestCase::prophesize() is deprecated and will be removed in PHPUnit 10. Please use the trait provided by phpspec/prophecy-phpunit. WARNINGS! Tests: 40, Assertions: 109, Warnings: 3, Skipped: 3. + for cmdarg in "php /usr/bin/phpunit9" "php72 /usr/bin/phpunit8" php73 php74 php80 + which php72 /usr/bin/phpunit8 which: no php72 in (/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/builddir/.composer/vendor/bin) which: no phpunit8 in (/usr/bin) + for cmdarg in "php /usr/bin/phpunit9" "php72 /usr/bin/phpunit8" php73 php74 php80 + which php73 which: no php73 in (/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/builddir/.composer/vendor/bin) + for cmdarg in "php /usr/bin/phpunit9" "php72 /usr/bin/phpunit8" php73 php74 php80 + which php74 which: no php74 in (/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/builddir/.composer/vendor/bin) + for cmdarg in "php /usr/bin/phpunit9" "php72 /usr/bin/phpunit8" php73 php74 php80 + which php80 which: no php80 in (/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:/builddir/.composer/vendor/bin) + exit 0 Processing files: php-phpspec-prophecy-1.13.0-1.fc34.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.U3YF1E + umask 022 + cd /builddir/build/BUILD + cd prophecy-be1996ed8adc35c3fd795488a653f4b518be70ea + DOCDIR=/builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch/usr/share/doc/php-phpspec-prophecy + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch/usr/share/doc/php-phpspec-prophecy + cp -pr CHANGES.md CONTRIBUTING.md README.md /builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch/usr/share/doc/php-phpspec-prophecy + cp -pr composer.json /builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch/usr/share/doc/php-phpspec-prophecy + RPM_EC=0 ++ jobs -p + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.Qc9yWf + umask 022 + cd /builddir/build/BUILD + cd prophecy-be1996ed8adc35c3fd795488a653f4b518be70ea + LICENSEDIR=/builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch/usr/share/licenses/php-phpspec-prophecy + export LC_ALL=C + LC_ALL=C + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch/usr/share/licenses/php-phpspec-prophecy + cp -pr LICENSE /builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch/usr/share/licenses/php-phpspec-prophecy + RPM_EC=0 ++ jobs -p + exit 0 Provides: php-composer(phpspec/prophecy) = 1.13.0 php-phpspec-prophecy = 1.13.0-1.fc34 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch Wrote: /builddir/build/RPMS/php-phpspec-prophecy-1.13.0-1.fc34.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.Hx6Quo + umask 022 + cd /builddir/build/BUILD + cd prophecy-be1996ed8adc35c3fd795488a653f4b518be70ea + /usr/bin/rm -rf /builddir/build/BUILDROOT/php-phpspec-prophecy-1.13.0-1.fc34.noarch + RPM_EC=0 ++ jobs -p + exit 0 Child return code was: 0