-
Notifications
You must be signed in to change notification settings - Fork 9
/
Changes
213 lines (175 loc) · 8.28 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
Revision history for Test-MockFile
0.036 7/26/2023
- GH #181 - Detect incorrect usage of add_strict_rule_for_command
0.035 11/30/2022
- GH #180 - Prevent open() and sysopen() from opening GLOB(..)-like paths.
0.034 4/25/2022
- GH #176: Add file handle support for BINMODE. This does nothing at this
time but at least it doesn't die.
- support for ~/foo and ~user/foo in mocking and access (globs)
0.033 3/7/2022
- Request last Overload::FileCheck release - 0.013
- Correct chown parameter position for file name
- Fixup Plugin for File::Temp tempfile in scalar context logic.
- Track File::Temp version in unit tests.
0.032 2/24/2022
- Less strict mode - Don't complain about commands not opening or directly interacting with a file.
0.031 2/24/2022
- Fix for Plugin::FileTemp when calling tempfile in scalar context
0.030 2/22/2022
- Simplify _strict_mode_violation
- Introduce new_dir() to allow older dir() syntax.
- Provide a mechanism to setup custom strict rules
- Make is_strict_mode a helper
- Do not call _get_file_object when all we're trying to determine is if the file is mocked or not.
- Add Test::MockFile::Plugins
- We support "undef" as filename in strict rules to ignore filenames
- Block Plugin::FileTemp < 5.28
- Update MANIFEST
0.029 2/16/2022
- Fix broken link to small test documentation
- Ensure strict mode is enabled by default and prevent import conflicts.
- Fix warnings during global destruction
- Additional rules for _abs_path_to_file
- GH #103 - Update eg/example.pl:
- Add rmdir, mkdir and unlink default position
- Postpone file arg check during strict mode analysis
- Fixup hook args and teach for mkdir filename pos
- Perltidy policy changes.
- Use carp in filename and readlink
- Fix broken link to small test documentation
0.028 2/12/2022
- Update test for our FreeBSD results
- GH #122 - Support two-arg open, read/write, and understand pipes
- Add strict guards for additional keywords: readdir, telldir, rewinddir,
seekdir, closedir, readlink, mkdir, rmdir
- Revert to old symbol resolution technique.
0.027 2/10/2022
- GH #75 - Strict mode is now on by default
- GH #45 - Provide a helpful error message and document fileno unsupported.
- GH #90 - Normalize forward slashes.
- GH #126 - Document using debugger under strict mode.
- Do not hard-code values of $!
- Try to get more data when t/runtime-bareword-filehandles.t fails on cpan testers.
- GH #64 - Do not overwrite the error code when checking for Docker
- GH #63 - FreeBSD's readlink() returns EINVAL for readlink(undef):
- Add more data for debugging test failures on OpenBSD
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