/* Test of opening a file stream.
- Copyright (C) 2007-2016 Free Software Foundation, Inc.
+ Copyright (C) 2007-2021 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
/* Written by Bruno Haible <bruno@clisp.org>, 2007. */
ASSERT (fopen (BASE "file/", "r") == NULL);
ASSERT (errno == ENOTDIR || errno == EISDIR || errno == EINVAL);
+ errno = 0;
+ ASSERT (fopen (BASE "file/", "r+") == NULL);
+ ASSERT (errno == ENOTDIR || errno == EISDIR || errno == EINVAL);
+
/* Cannot create a directory. */
errno = 0;
ASSERT (fopen ("nonexist.ent/", "w") == NULL);
ASSERT (fopen (".", "w") == NULL);
ASSERT (errno == EISDIR || errno == EINVAL || errno == EACCES);
+ errno = 0;
+ ASSERT (fopen ("./", "w") == NULL);
+ ASSERT (errno == EISDIR || errno == EINVAL || errno == EACCES);
+
+ errno = 0;
+ ASSERT (fopen (".", "r+") == NULL);
+ ASSERT (errno == EISDIR || errno == EINVAL || errno == EACCES);
+
+ errno = 0;
+ ASSERT (fopen ("./", "r+") == NULL);
+ ASSERT (errno == EISDIR || errno == EINVAL || errno == EACCES);
+
/* /dev/null must exist, and be writable. */
f = fopen ("/dev/null", "r");
ASSERT (f);