[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1109618: ITP: php-adriansuter-php-autoload-override -- Override global scoped fully qualified function calls for testing



Package: wnpp
Severity: wishlist
Owner: Ahmed Gamal <ahmed.gamal9541@gmail.com>

* Package name    : php-adriansuter-php-autoload-override
  Version         : 1.2.0
  Upstream Author : Adrian Suter <adrian@suter-wirz.ch>
* URL             : https://github.com/adriansuter/php-autoload-override
* License         : MIT
  Programming Lang: PHP
  Section         : php

Description:
 PHP library for overriding global scoped fully qualified function calls

 This package provides functionality to override fully qualified function calls
 inside class methods in order to be able to mock them during testing. It allows
 developers to override global PHP functions for testing purposes, making it
 easier to mock global functions in unit tests.

 The library is particularly useful for testing code that uses global PHP
 functions like `rand()`, `time()`, `file_get_contents()`, etc., by allowing
 these function calls to be intercepted and replaced with mock implementations
 during test execution.

Rationale:
 This package is required as a dependency for FOSSology, an open source license
 compliance system. FOSSology uses PHP-based tools for source code analysis and
 license detection, which need comprehensive testing capabilities to ensure
 reliability and accuracy of license detection algorithms.

 The php-autoload-override library is essential for:
 - Unit testing of FOSSology's PHP components that use global functions
 - Mocking system calls and global functions during test execution
 - Ensuring test coverage for code that interacts with external systems
 - Supporting reliable automated testing of FOSSology's license detection tools
 - Enabling proper isolation of test units from global state

Technical Details:
 - Requires PHP >= 7.3
 - Depends on nikic/php-parser (^4.4) for AST manipulation
 - Uses PSR-4 autoloading
 - Integrates with PHPUnit testing framework
 - Provides AST-based function call override mechanism
 - Comprehensive test suite with 100% code coverage
 - MIT licensed for maximum compatibility

Dependencies:
 - php (>= 7.3)
 - php-nikic-php-parser (>= 4.4)
 - Build dependencies: phpunit, phpstan, php-codesniffer

The package will be maintained by Ahmed Gamal <ahmed.gamal9541@gmail.com> as part
of the FOSSology packaging effort.

--
Ahmed Gamal
FOSSology Debian Packaging Team

Reply to: