Revision history for Test-MockFile
0.026 2/3/2022
- Fix support for mocking the top-level directory.
- Symlinks should appear in readdir
- Fix directory instantiation when creating a symlink.
- GH #105: Show directories in readdir
- Improve relative path management
- Don't let stat() get confused with trailing forward slash
- GH #118: Do not get confused by inner directory files.
- GH #85: Do not corrupt blessed handles.
0.025 1/26/2022
- Fix typo in chmod mock. Was accidentally calling chown.
- Fix dependency on Text::Glob. It is now a runtime requirement.
0.024 1/24/2022
- Prefer Carp::confess to die
- Do not use "$!" in tests as it's not consistent across platforms
- GH #78: Do not allow rmdir on a populated directory.
- GH #73: Prefer the term ->path to ->filename as it is more clear between file/dir
- chown $fh now works.
- Only warn about mixed files when using mocked files
0.024_01
- GH #83: Get Solaris testers passing.
- Remove all use of "$!" in tests as this has tranlation problems.
0.023 1/14/2022
- GH #58: Fix synopsis typos
- GH #65: Fix typos in the typo fixes.
- GH #34: Support open() with barewords
- GH #59: Detect and reject common path mistakes when mocking
- GH #69: Redesigned dir() (and some file()) interface <--- breaks previous interface
- GH #40: Support glob()
- GH #15: Implement chown/chmod
0.022 12/27/2021
- GH #47: Manage bareword filehandles in runtime:
0.021 1/30/2020
- Emit ENOTDIR on opendir when appropriate
- Switch to github actions for CI testing
0.020 10/14/2019
- GH #51 - Basic introduction of file ownership. Set default uid/gid to current user when not set
- GH #49 - Make sysseek return position when called while allowing seek to return a true value.
0.19 5/21/2019
- Fix POD for stat example in POD.
- Allow scalar file handles on open. We don't care about those
- Provide better guidance about keeping your mocks in scope in examples
- Disable Test::CheckManifest due to break in Test-CheckManifest
- Fix seek bug in sysopen(... O_APPEND)
0.018 1/24/2019
- Properly handle open and sysopen file handles going out of scope.
- Provide a helper method to mock objects to determine the file name. GH #31
- Do not throw a file access hook when statting a file handle that is not under MockFile control. GH #30
- Read multiple lines via readline when wantarray is true. GH #29
0.017 1/2/2019
- Require a newer Test2::Bundle::Extended (0.000084) to support named isa_ok
0.016 1/2/2019
- Bump Overload::FileCheck to 0.007 to address stack bug
- Try to get EISDIR handling for BSD working. Apparently something changed in perl 5.20?
- Do not do access hooks on filehandle interactions.
0.015 12/21/2018
- Remove errant debug messages from open
- Pass 3 to fix t/touch.t on BSD.
0.014 12/20/2018
- Re-factor _find_file_or_fh to handle symlink following logic better. GH #26
- Make more standard use of _get_file_object when looking up a file path so we
properly handle abs path and symlink following
0.013 12/20/2018
- Add a helper to determine if goto can be used. Where it's available is complicated
- First pass at bareword file handles for opendir and friends
- Fix errant docs for making a symlink mock
- Follow links for stat but not lstat
- Add support for readlink
- Try 2 to fix BSD issues with GH #20
0.012 11/16/2018
- Fix for #21 - length undef on perl 5.10
- GH #20 - Add EPERM support for freebsd when unlinking directories
- Fix for print $fh undef throwing a warning
- Remove faulty OS level test of readdir after opendir.
0.011 11/08/2018
- Fix for my $file_contents = do { local $/; <$fh> };
- Mock CORE::GLOBAL::unlink and support directories for unlink
- Mock CORE::GLOBAL::mkdir
- Mock CORE::GLOBAL::rmdir
- MockFile->symlink now follows the symlink norm of ($target, $file), not the reverse.
- New mock helper 'exists' to check if the file is there.
- New mock helper 'permissions' tells you the current permissions of the mocked file.
0.010 10/31/2018
- Add .perltidyrc policy
- When reporting strict mode violations, be sure to report the a stack location outside of our modules.
- Report a stack trace for strict mode violations to determine the source of the problem.
- Add an ignore hash for modules (like DynaLoader) which are allowed to open files.
- Ignore STDIN/STDERR/STDOUT since tests often have to manipulate them and that's not really IO.
- Autovivify a sysread where the buffer passed in is undef.
0.009 10/29/2018
- Add unlink and touch as helpers when testing
- Depend on new Overload::FileCheck 0.006 which does not call MockFile to determine _ stats
0.008 10/26/2018
- Depend on newest Overload::FileCheck version. Depending on older
versions was breaking unit tests.
0.007 10/25/2018
- More POD fixups
- Support for unmocked file access hooks.
- Implement strict mode to error any time an unmocked file access happens.
0.006 10/25/2018
- Fix for Locale-dependent failures on perl < 5.22
https://github.com/CpanelInc/Test-MockFile/issues/10
- Minor pod fixups.
0.005 10/24/2018
- Complete basic documentation for all public methods.
0.004 10/24/2018
- Raise the Test::More requirement to address an issue with Test2::Formatter::TAP
Fixes https://github.com/CpanelInc/Test-MockFile/issues/6
0.003 10/24/2018
- Correct bug in use constant statement. 0.002 was broken on release.
- Changes to code to give basic support for Perl 5.10+. Ideally you should be on
perl 5.16 to run this code but it'll mostly work below that.
0.002 10/24/2018
- Set bug tracker to github
- Fix Fcntl bug when you use unsupported constants.
0.001 10/23/2018
- First release with basic support for open/sysopen/opendir
- Support is limited to Perl 5.20 until we address this error:
Error: Invalid CODE attribute: prototype(*;$@) at lib/Test/MockFile.pm