Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Another failure in FileMock #304

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

JanTvrdik
Copy link
Contributor

No description provided.

@JanTvrdik
Copy link
Contributor Author

Isolated to https://3v4l.org/gTXsR, seems like a PHP bug.

@milo
Copy link
Member

milo commented Oct 10, 2018

@JanTvrdik I thought it has been solved but it's still failing on 3v4al.org. Did you report PHP bug? I can't find any open or solved.

@JanTvrdik
Copy link
Contributor Author

@milo I don't remember opening any bug so it's possible that it has never been reported.

@JanTvrdik
Copy link
Contributor Author

Just found in PHP documentation

If you have opened the file in append (a or a+) mode, any data you write to the file will always be appended, regardless of the file position, and the result of calling fseek() will be undefined.

@milo
Copy link
Member

milo commented Oct 10, 2018

But in doc of fopen()

a - Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it. In this mode, fseek() has no effect, writes are always appended.
a+ - Open for reading and writing; place the file pointer at the end of the file. If the file does not exist, attempt to create it. In this mode, fseek() only affects the reading position, writes are always appended.

The a+ mode is about read/append. How would one can read.

I'll open PHP bug/doc issue.

@milo
Copy link
Member

milo commented Oct 10, 2018

Will see https://bugs.php.net/bug.php?id=76995

@milo
Copy link
Member

milo commented Oct 11, 2018

As I expected, it is a problem of lower layer. So, documentation issue.

Is a good idea to emit notice by FileMock::stream_seek() in a+ mode? IMHO yes, it may notice programmer about this clumsy behaviour.

@milo milo force-pushed the master branch 2 times, most recently from eaaeb7b to 7184606 Compare February 21, 2019 06:47
@dg dg force-pushed the master branch 2 times, most recently from ee525b7 to 6ca248e Compare February 27, 2019 13:34
@dg dg force-pushed the master branch 2 times, most recently from 55e4447 to ad2df9a Compare November 19, 2019 01:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants