Input buildinfo: https://buildinfos.debian.net/buildinfo-pool/n/node-mock-fs/node-mock-fs_4.13.0-1_all.buildinfo Use metasnap for getting required timestamps New buildinfo file: /tmp/node-mock-fs-4.13.0-1j2gzxcqu/node-mock-fs_4.13.0-1_all.buildinfo Get source package info: node-mock-fs=4.13.0-1 Source URL: http://snapshot.notset.fr/mr/package/node-mock-fs/4.13.0-1/srcfiles?fileinfo=1 env -i PATH=/usr/sbin:/usr/bin:/sbin:/bin TMPDIR=/tmp mmdebstrap --arch=amd64 --include=autoconf=2.69-11.1 automake=1:1.16.2-3 autopoint=0.19.8.1-10 autotools-dev=20180224.1 base-files=11 base-passwd=3.5.47 bash=5.0-7 binutils=2.35-2 binutils-common=2.35-2 binutils-x86-64-linux-gnu=2.35-2 bsdextrautils=2.36-2 bsdutils=1:2.36-2 build-essential=12.8 bzip2=1.0.8-4 chai=4.2.0+ds-6 coreutils=8.32-3 cpp=4:10.1.0-1 cpp-10=10.2.0-5 dash=0.5.10.2-7 debconf=1.5.74 debhelper=13.2 debianutils=4.11.1 dh-autoreconf=19 dh-strip-nondeterminism=1.9.0-1 diffutils=1:3.7-3 dpkg=1.20.5 dpkg-dev=1.20.5 dwz=0.13-5 file=1:5.38-5 findutils=4.7.0-1 g++=4:10.1.0-1 g++-10=10.2.0-5 gcc=4:10.1.0-1 gcc-10=10.2.0-5 gcc-10-base=10.2.0-5 gettext=0.19.8.1-10 gettext-base=0.19.8.1-10 grep=3.4-1 groff-base=1.22.4-5 gzip=1.10-2 hostname=3.23 init-system-helpers=1.58 intltool-debian=0.35.0+20060710.5 libacl1=2.2.53-8 libarchive-zip-perl=1.68-1 libasan6=10.2.0-5 libatomic1=10.2.0-5 libattr1=1:2.4.48-5 libaudit-common=1:2.8.5-3 libaudit1=1:2.8.5-3+b1 libbinutils=2.35-2 libblkid1=2.36-2 libbrotli1=1.0.7-7 libbsd0=0.10.0-1 libbz2-1.0=1.0.8-4 libc-ares2=1.16.1-1 libc-bin=2.31-3 libc-dev-bin=2.31-3 libc6=2.31-3 libc6-dev=2.31-3 libcap-ng0=0.7.9-2.2 libcc1-0=10.2.0-5 libcroco3=0.6.13-1 libcrypt-dev=1:4.4.17-1 libcrypt1=1:4.4.17-1 libctf-nobfd0=2.35-2 libctf0=2.35-2 libdb5.3=5.3.28+dfsg1-0.6 libdebconfclient0=0.253 libdebhelper-perl=13.2 libdpkg-perl=1.20.5 libelf1=0.180-1+b1 libffi7=3.3-4 libfile-stripnondeterminism-perl=1.9.0-1 libgcc-10-dev=10.2.0-5 libgcc-s1=10.2.0-5 libgcrypt20=1.8.6-2 libgdbm-compat4=1.18.1-5.1 libgdbm6=1.18.1-5.1 libgdk-pixbuf2.0-0=2.40.0+dfsg-5 libgdk-pixbuf2.0-common=2.40.0+dfsg-5 libglib2.0-0=2.64.4-1 libgmp10=2:6.2.0+dfsg-6 libgomp1=10.2.0-5 libgpg-error0=1.38-2 libicu67=67.1-4 libisl22=0.22.1-1 libitm1=10.2.0-5 libjbig0=2.1-3.1+b2 libjpeg62-turbo=1:2.0.5-1.1 libjs-chai=4.2.0+ds-6 libjs-inherits=2.0.4-1 libjs-sprintf-js=1.1.2+ds1-1 liblsan0=10.2.0-5 liblz4-1=1.9.2-2 liblzma5=5.2.4-1+b1 libmagic-mgc=1:5.38-5 libmagic1=1:5.38-5 libmount1=2.36-2 libmpc3=1.2.0~rc1-1 libmpfr6=4.1.0-3 libnghttp2-14=1.41.0-3 libnode72=12.18.3~dfsg-4 libnotify-bin=0.7.9-1 libnotify4=0.7.9-1 libpam-modules=1.3.1-5 libpam-modules-bin=1.3.1-5 libpam-runtime=1.3.1-5 libpam0g=1.3.1-5 libpcre2-8-0=10.34-7 libpcre3=2:8.39-13 libperl5.30=5.30.3-4 libpipeline1=1.5.3-1 libpng16-16=1.6.37-2 libquadmath0=10.2.0-5 libseccomp2=2.4.3-1+b1 libselinux1=3.1-2 libsigsegv2=2.12-2 libsmartcols1=2.36-2 libssl1.1=1.1.1g-1 libstdc++-10-dev=10.2.0-5 libstdc++6=10.2.0-5 libsub-override-perl=0.09-2 libsystemd0=246.2-1 libtiff5=4.1.0+git191117-2 libtinfo6=6.2-1 libtool=2.4.6-14 libtsan0=10.2.0-5 libubsan1=10.2.0-5 libuchardet0=0.0.7-1 libudev1=246.2-1 libunistring2=0.9.10-4 libuuid1=2.36-2 libwebp6=0.6.1-2+b1 libx11-6=2:1.6.10-3 libx11-data=2:1.6.10-3 libxau6=1:1.0.8-1+b2 libxcb1=1.14-2 libxdmcp6=1:1.1.2-3 libxml2=2.9.10+dfsg-5+b1 libzstd1=1.4.5+dfsg-4 linux-libc-dev=5.7.17-1 login=1:4.8.1-1 lsb-base=11.1.0 m4=1.4.18-4 make=4.3-4 man-db=2.9.3-2 mawk=1.3.4.20200120-2 mocha=7.0.1+ds1-2 ncurses-base=6.2-1 ncurses-bin=6.2-1 node-ansi-regex=5.0.0-1 node-ansi-styles=4.2.1-1 node-anymatch=3.1.1+~2.2.2-1 node-argparse=1.0.10-2 node-assertion-error=1.1.0-1 node-async-each=1.0.3-1 node-balanced-match=1.0.0-1 node-binary-extensions=2.0.0-1 node-brace-expansion=1.1.11-1 node-braces=3.0.2-2 node-browser-stdout=1.3.1-2 node-camelcase=5.3.1-1 node-chalk=2.4.2-1 node-check-error=1.0.2-3 node-chokidar=3.4.2-2 node-cliui=4.1.0-2 node-clone=2.1.2-2 node-color-convert=1.9.3-1 node-color-name=1.1.4-1 node-commander=4.1.1-2 node-concat-map=0.0.1-2 node-cross-spawn=7.0.2-1 node-debug=4.1.1+~cs4.1.5-1 node-decamelize=4.0.0-1 node-deep-eql=4.0.0-2 node-defaults=1.0.3-2 node-define-properties=1.1.3-1 node-diff=1.4.0~dfsg-4 node-end-of-stream=1.4.4-1 node-escape-string-regexp=4.0.0-1 node-esprima=4.0.1+ds+~4.0.2-1 node-execa=0.10.0+dfsg-1 node-fill-range=7.0.1-2 node-find-up=4.1.0-2 node-fs.realpath=1.0.0-1 node-function-bind=1.1.1+repack-1 node-get-caller-file=1.0.2-1 node-get-func-name=2.0.0+dfsg-1 node-get-stream=4.1.0-1 node-glob=7.1.6-1 node-glob-parent=3.1.0-1 node-graceful-fs=4.2.4-1 node-growl=1.10.5-2 node-has-flag=4.0.0-1 node-he=1.2.0-1 node-inflight=1.0.6-1 node-inherits=2.0.4-1 node-invert-kv=3.0.1-1 node-is-binary-path=2.1.0-1 node-is-buffer=1.1.6-1 node-is-extglob=2.1.1-1 node-is-glob=4.0.1-1 node-is-number=7.0.0-1 node-is-stream=1.1.0-1 node-isexe=2.0.0-4 node-js-yaml=3.14.0+dfsg-1 node-kind-of=6.0.3+dfsg-1 node-lcid=1.0.0-1 node-locate-path=5.0.0-2 node-lodash=4.17.19+dfsg1-1 node-lodash-packages=4.17.19+dfsg1-1 node-lru-cache=5.1.1-5 node-mem=1.1.0-1 node-mimic-fn=3.0.0-1 node-minimatch=3.0.4-4 node-mkdirp=0.5.1-2 node-ms=2.1.2+~cs0.7.31-1 node-normalize-path=3.0.0-2 node-npm-run-path=2.0.2-2 node-once=1.4.0-3 node-os-locale=4.0.0-1 node-p-finally=1.0.0-2 node-p-limit=2.2.2-1 node-p-locate=2.0.0-1 node-path-dirname=1.0.2-1 node-path-exists=4.0.0-2 node-path-is-absolute=2.0.0-1 node-pathval=1.1.0-3 node-pump=3.0.0-4 node-readdirp=3.3.0-2 node-repeat-string=1.6.1-1 node-require-directory=2.1.1-1 node-require-main-filename=2.0.0-1 node-semver=7.1.3-1 node-set-blocking=2.0.0-1 node-set-immediate-shim=2.0.0-1 node-shebang-command=1.2.0-1 node-shebang-regex=2.0.0-1 node-signal-exit=3.0.3-1 node-sprintf-js=1.1.2+ds1-1 node-string-width=4.2.0-1 node-strip-ansi=6.0.0-2 node-strip-eof=1.0.0-2 node-supports-color=6.1.0-2 node-to-regex-range=5.0.1-2 node-type-detect=4.0.0-1 node-wcwidth.js=1.0.0-1 node-which=2.0.2-2 node-which-module=2.0.0-1 node-wide-align=1.1.3-1 node-wrap-ansi=4.0.0-2 node-wrappy=1.0.2-1 node-y18n=4.0.0-2 node-yallist=4.0.0-1 node-yargs=15.3.1-1 node-yargs-parser=18.1.3-1 nodejs=12.18.3~dfsg-4 pandoc=2.9.2.1-1 pandoc-data=2.9.2.1-1 patch=2.7.6-6 perl=5.30.3-4 perl-base=5.30.3-4 perl-modules-5.30=5.30.3-4 po-debconf=1.0.21 sed=4.7-1 sensible-utils=0.0.12+nmu1 shared-mime-info=1.15-1 sysvinit-utils=2.96-4 tar=1.30+dfsg-7 util-linux=2.36-2 xz-utils=5.2.4-1+b1 zlib1g=1:1.2.11.dfsg-2 --variant=apt --aptopt=Acquire::Check-Valid-Until "false" --aptopt=Acquire::http::Dl-Limit "1000"; --aptopt=Acquire::https::Dl-Limit "1000"; --aptopt=Acquire::Retries "5"; --aptopt=APT::Get::allow-downgrades "true"; --keyring=/usr/share/keyrings/ --essential-hook=chroot "$1" sh -c "apt-get --yes install fakeroot util-linux" --essential-hook=copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ --essential-hook=chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20200829T084349Z/ unstable main' >> /etc/apt/sources.list && apt-get update" --customize-hook=chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash --customize-hook=chroot "$1" env sh -c "apt-get source --only-source -d node-mock-fs=4.13.0-1 && mkdir -p /build/node-mock-fs-qhIWhG && dpkg-source --no-check -x /*.dsc /build/node-mock-fs-qhIWhG/node-mock-fs-4.13.0 && chown -R builduser:builduser /build/node-mock-fs-qhIWhG" --customize-hook=chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/node-mock-fs-qhIWhG/node-mock-fs-4.13.0 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1598612474" dpkg-buildpackage -uc -a amd64 --build=all" --customize-hook=sync-out /build/node-mock-fs-qhIWhG /tmp/node-mock-fs-4.13.0-1j2gzxcqu bullseye /dev/null deb http://snapshot.notset.fr/archive/debian/20200829T084349Z unstable main I: automatically chosen mode: root I: chroot architecture amd64 is equal to the host's architecture I: automatically chosen format: tar I: using /tmp/mmdebstrap.myZ6qFB6Fo as tempdir I: running apt-get update... I: downloading packages with apt... I: extracting archives... I: installing essential packages... I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "apt-get --yes install fakeroot util-linux"' exec /tmp/mmdebstrap.myZ6qFB6Fo Reading package lists... Building dependency tree... util-linux is already the newest version (2.36-2). The following NEW packages will be installed: fakeroot libfakeroot 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 132 kB of archives. After this operation, 393 kB of additional disk space will be used. Get:1 http://snapshot.notset.fr/archive/debian/20200829T084349Z unstable/main amd64 libfakeroot amd64 1.24-1 [45.7 kB] Get:2 http://snapshot.notset.fr/archive/debian/20200829T084349Z unstable/main amd64 fakeroot amd64 1.24-1 [85.9 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 132 kB in 0s (1097 kB/s) Selecting previously unselected package libfakeroot:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 4577 files and directories currently installed.) Preparing to unpack .../libfakeroot_1.24-1_amd64.deb ... Unpacking libfakeroot:amd64 (1.24-1) ... Selecting previously unselected package fakeroot. Preparing to unpack .../fakeroot_1.24-1_amd64.deb ... Unpacking fakeroot (1.24-1) ... Setting up libfakeroot:amd64 (1.24-1) ... Setting up fakeroot (1.24-1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Processing triggers for libc-bin (2.31-3) ... I: running special hook: copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210814T212851Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20200829T084349Z/ unstable main' >> /etc/apt/sources.list && apt-get update"' exec /tmp/mmdebstrap.myZ6qFB6Fo Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm InRelease [81.6 kB] Hit:2 http://snapshot.notset.fr/archive/debian/20200829T084349Z unstable InRelease Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main Sources [11.4 MB] Get:4 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main amd64 Packages [11.1 MB] Fetched 22.6 MB in 19s (1172 kB/s) Reading package lists... I: installing remaining packages inside the chroot... I: running --customize-hook in shell: sh -c 'chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash' exec /tmp/mmdebstrap.myZ6qFB6Fo I: running --customize-hook in shell: sh -c 'chroot "$1" env sh -c "apt-get source --only-source -d node-mock-fs=4.13.0-1 && mkdir -p /build/node-mock-fs-qhIWhG && dpkg-source --no-check -x /*.dsc /build/node-mock-fs-qhIWhG/node-mock-fs-4.13.0 && chown -R builduser:builduser /build/node-mock-fs-qhIWhG"' exec /tmp/mmdebstrap.myZ6qFB6Fo Reading package lists... NOTICE: 'node-mock-fs' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/js-team/node-mock-fs.git Please use: git clone https://salsa.debian.org/js-team/node-mock-fs.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 81.8 kB of source archives. Get:1 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main node-mock-fs 4.13.0-1 (dsc) [2068 B] Get:2 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main node-mock-fs 4.13.0-1 (tar) [75.7 kB] Get:3 http://snapshot.notset.fr/archive/debian/20210814T212851Z bookworm/main node-mock-fs 4.13.0-1 (diff) [4004 B] Fetched 81.8 kB in 0s (2275 kB/s) Download complete and in download only mode W: Download is performed unsandboxed as root as file 'node-mock-fs_4.13.0-1.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) dpkg-source: info: extracting node-mock-fs in /build/node-mock-fs-qhIWhG/node-mock-fs-4.13.0 dpkg-source: info: unpacking node-mock-fs_4.13.0.orig.tar.gz dpkg-source: info: unpacking node-mock-fs_4.13.0-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 2001_privacy.patch I: running --customize-hook in shell: sh -c 'chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/node-mock-fs-qhIWhG/node-mock-fs-4.13.0 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1598612474" dpkg-buildpackage -uc -a amd64 --build=all"' exec /tmp/mmdebstrap.myZ6qFB6Fo dpkg-buildpackage: info: source package node-mock-fs dpkg-buildpackage: info: source version 4.13.0-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Jonas Smedegaard dpkg-source --before-build . debian/rules clean dh clean debian/rules override_dh_clean make[1]: Entering directory '/build/node-mock-fs-qhIWhG/node-mock-fs-4.13.0' dh_clean -- readme.html readme.txt changelog.html changelog.txt make[1]: Leaving directory '/build/node-mock-fs-qhIWhG/node-mock-fs-4.13.0' debian/rules binary-indep dh binary-indep dh_update_autotools_config -i dh_autoreconf -i debian/rules override_dh_auto_build make[1]: Entering directory '/build/node-mock-fs-qhIWhG/node-mock-fs-4.13.0' pandoc --from gfm-raw_html --to html --standalone --output readme.html readme.md [WARNING] This document format requires a nonempty element. Defaulting to 'readme' as the title. To specify a title, use 'title' in metadata or --metadata title="...". pandoc --from gfm-raw_html --to plain --output readme.txt readme.md pandoc --from gfm-raw_html --to html --standalone --output changelog.html changelog.md [WARNING] This document format requires a nonempty <title> element. Defaulting to 'changelog' as the title. To specify a title, use 'title' in metadata or --metadata title="...". pandoc --from gfm-raw_html --to plain --output changelog.txt changelog.md dh override_dh_auto_build make[1]: Leaving directory '/build/node-mock-fs-qhIWhG/node-mock-fs-4.13.0' debian/rules override_dh_auto_test make[1]: Entering directory '/build/node-mock-fs-qhIWhG/node-mock-fs-4.13.0' mocha --reporter tap --recursive test 1..868 ok 1 count(dir, callback) counts files in a directory ok 2 count(dir, callback) counts files in another directory ok 3 count(dir, callback) counts files in an empty directory ok 4 count(dir, callback) fails for bogus path ok 5 Binding constructor creates a new instance ok 6 Binding Stats is a stats constructor ok 7 Binding stat() calls callback with a Stats instance ok 8 Binding stat() returns a Stats instance when called synchronously ok 9 Binding stat() identifies files (async) ok 10 Binding stat() identifies files (sync) ok 11 Binding stat() identifies directories (async) ok 12 Binding stat() identifies directories (sync) ok 13 Binding stat() includes atime, ctime, mtime and birthtime ok 14 Binding stat() includes mode with file permissions (default) ok 15 Binding stat() includes mode with file permissions (custom) ok 16 Binding stat() includes size in bytes (async) ok 17 Binding stat() includes size in bytes (sync) ok 18 Binding stat() includes non-zero size for directories ok 19 Binding stat() includes uid for files ok 20 Binding stat() includes uid for directories ok 21 Binding stat() includes gid for files ok 22 Binding stat() includes gid for directories ok 23 Binding stat() retrieves stats of files relative to symbolic linked directories ok 24 Binding realpath() returns the real path for a regular file ok 25 Binding realpath() returns the real path for a directory ok 26 Binding realpath() returns the real path for a symlinked file ok 27 Binding realpath() returns the real path for a deeply symlinked file ok 28 Binding realpath() returns the real path for a symlinked directory ok 29 Binding realpath() returns the real path for a deeply symlinked directory ok 30 Binding realpath() returns the real path for a file in a symlinked directory ok 31 Binding realpath() accepts a buffer ok 32 Binding realpath() can return a buffer ok 33 Binding realpath() throws ENOENT for a non-existent file ok 34 Binding realpath() throws ENOTDIR for a file treated like a directory ok 35 Binding fstat() calls callback with a Stats instance ok 36 Binding fstat() returns a Stats instance when called synchronously ok 37 Binding fstat() identifies files (async) ok 38 Binding fstat() identifies directories (async) ok 39 Binding fstat() includes size in bytes (async) ok 40 Binding fstat() includes size in bytes (sync) ok 41 Binding fstat() includes non-zero size for directories ok 42 Binding readdir() calls callback with file list ok 43 Binding readdir() accepts "buffer" encoding ok 44 Binding readdir() returns a file list (sync) ok 45 Binding readdir() calls callback with file list for symbolic linked dir ok 46 Binding readdir() calls callback with file list for link to symbolic linked dir ok 47 Binding readdir() calls callback with file list for symbolic linked dir (sync) ok 48 Binding readdir() calls callback with error for bogus dir ok 49 Binding readdir() calls callback with error for file path ok 50 Binding readdir() calls callback with error for dead symbolic link ok 51 Binding readdir() calls callback with error for symbolic link to file ok 52 Binding readdir() calls callback with error for link to symbolic link to file ok 53 Binding open() creates a file descriptor for reading (r) ok 54 Binding open() generates error if file does not exist (r) ok 55 Binding open() creates a file descriptor for reading and writing (r+) ok 56 Binding open() does not truncate (r+) ok 57 Binding open() generates error if file does not exist (r+) ok 58 Binding open() creates a file descriptor for reading (rs) ok 59 Binding open() generates error if file does not exist (rs) ok 60 Binding open() creates a file descriptor for reading and writing (rs+) ok 61 Binding open() generates error if file does not exist (rs+) ok 62 Binding open() opens a new file for writing (w) ok 63 Binding open() truncates an existing file for writing (w) ok 64 Binding open() generates error if file is directory (w) ok 65 Binding open() generates error if file exists (wx) ok 66 Binding open() opens a new file for reading and writing (w+) ok 67 Binding open() truncates an existing file for writing (w+) ok 68 Binding open() opens a new file for reading and writing (wx+) ok 69 Binding open() generates error if file exists (wx+) ok 70 Binding open() opens a new file for appending (a) ok 71 Binding open() opens an existing file for appending (a) ok 72 Binding open() generates error if file is directory (a) ok 73 Binding open() opens a new file for appending (ax) ok 74 Binding open() generates error if file exists (ax) ok 75 Binding open() opens a new file for appending and reading (a+) ok 76 Binding open() opens an existing file for appending and reading (a+) ok 77 Binding open() opens a new file for appending and reading (ax+) ok 78 Binding open() opens an existing file for appending and reading (ax+) ok 79 Binding close() closes an existing file descriptor ok 80 Binding close() fails for closed file descriptor ok 81 Binding read() reads from a file ok 82 Binding read() reads into a Uint8Array ok 83 Binding read() interprets null position as current position ok 84 Binding read() reads from a symbolic link ok 85 Binding read() reads from a deeply linked symlink ok 86 Binding read() throws if not open for reading ok 87 Binding read() throws ENOTDIR when trying to open an incorrect path (nested under existing file) ok 88 Binding write() writes to a file ok 89 Binding write() can take input from a Uint8Array ok 90 Binding write() can overwrite a file ok 91 Binding write() can append to a file ok 92 Binding write() can overwrite part of a file ok 93 Binding write() throws if not open for writing ok 94 Binding writeBuffers() writes to a file ok 95 Binding writeBuffers() can append to a file ok 96 Binding writeBuffers() can overwrite part of a file ok 97 Binding writeBuffers() throws if not open for writing ok 98 Binding rename() allows files to be renamed ok 99 Binding rename() allows files to be renamed (sync) ok 100 Binding rename() replaces existing files (sync) ok 101 Binding rename() allows directories to be renamed ok 102 Binding rename() allows directories to be renamed (sync) ok 103 Binding rename() calls callback with error for bogus old path ok 104 Binding rename() calls callback with error for file->dir rename ok 105 Binding rename() calls callback with error for dir->file rename ok 106 Binding mkdir() creates a new directory ok 107 Binding mkdir() fails if parent does not exist ok 108 Binding mkdir() fails if directory exists ok 109 Binding mkdir() fails if file exists ok 110 Binding mkdir() recursive creates a new directory ok 111 Binding mkdir() recursive creates a new deep directory ok 112 Binding mkdir() recursive fails if permission does not allow recursive creation ok 113 Binding mkdir() recursive fails if one parent is not a folder ok 114 Binding mkdir() recursive fails if file exists ok 115 Binding mkdir() recursive passes silently if directory exists ok 116 Binding mkdtemp() creates a new directory ok 117 Binding mkdtemp() fails if parent does not exist ok 118 Binding mkdtemp() fails if file exists ok 119 Binding rmdir() removes an empty directory ok 120 Binding rmdir() fails if directory is not empty ok 121 Binding rmdir() fails if directory does not exist ok 122 Binding rmdir() fails if a file exists ok 123 Binding ftruncate() truncates a file ok 124 Binding ftruncate() fails if directory ok 125 Binding ftruncate() fails if not open for writing ok 126 Binding chown() sets the uid and gid for a file ok 127 Binding chown() sets the uid and gid for a directory ok 128 Binding fchown() sets the uid and gid for a file ok 129 Binding fchown() sets the uid and gid for a directory ok 130 Binding chmod() sets the mode for a file ok 131 Binding chmod() sets the mode for a directory ok 132 Binding fchmod() sets the mode for a file ok 133 Binding fchmod() sets the mode for a directory ok 134 Binding unlink() deletes a file ok 135 Binding unlink() fails for directory ok 136 Binding unlink() fails for bogus path ok 137 Binding utimes() updates atime and mtime for a file ok 138 Binding utimes() updates atime and mtime for a directory ok 139 Binding utimes() fails for a bogus path ok 140 Binding futimes() updates atime and mtime for a file ok 141 Binding futimes() updates atime and mtime for a directory ok 142 Binding fsync() synchronize file state (noop) ok 143 Binding fsync() fails for closed file descriptor ok 144 Binding fdatasync() synchronize file state (noop) ok 145 Binding fdatasync() fails for closed file descriptor ok 146 Binding link() creates a link to a file ok 147 Binding link() fails if dest exists ok 148 Binding link() fails if source is directory ok 149 Binding symlink() creates a symbolic link to a file ok 150 Binding symlink() fails if dest exists ok 151 Binding symlink() works if source is directory ok 152 Binding readlink() reads the symbolic link ok 153 Binding readlink() can return "buffer" encoding ok 154 Binding readlink() fails for regular files ok 155 Binding readlink() fails for directories ok 156 Binding readlink() fails for bogus paths ok 157 Binding lstat() stats symbolic links ok 158 Binding access() works if file exists ok 159 Binding access() throws for dead link ok 160 Binding access() fails in case of insufficient user permissions ok 161 Binding access() fails in case of insufficient group permissions ok 162 Binding access() fails in case of insufficient permissions ok 163 Binding access() fails for bogus paths ok 164 mock.bypass() runs a synchronous function using the real filesystem ok 165 mock.bypass() handles functions that throw ok 166 mock.bypass() bypasses patched process.cwd() and process.chdir() ok 167 mock.bypass() runs an async function using the real filesystem ok 168 mock.bypass() handles promise rejection (node:1421666) UnhandledPromiseRejectionWarning: Error: oops at Context.<anonymous> (/build/node-mock-fs-qhIWhG/node-mock-fs-4.13.0/test/lib/bypass.spec.js:85:19) at callFnAsync (/usr/share/nodejs/mocha/lib/runnable.js:423:21) at Test.Runnable.run (/usr/share/nodejs/mocha/lib/runnable.js:363:7) at Runner.runTest (/usr/share/nodejs/mocha/lib/runner.js:541:10) at /usr/share/nodejs/mocha/lib/runner.js:667:12 at next (/usr/share/nodejs/mocha/lib/runner.js:450:14) at /usr/share/nodejs/mocha/lib/runner.js:460:7 at next (/usr/share/nodejs/mocha/lib/runner.js:362:14) at Immediate.<anonymous> (/usr/share/nodejs/mocha/lib/runner.js:428:5) at processImmediate (internal/timers.js:456:21) (node:1421666) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3) (node:1421666) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. ok 169 FileDescriptor constructor creates a new descriptor ok 170 FileDescriptor getPosition() returns zero by default ok 171 FileDescriptor setPosition() updates the position ok 172 FileDescriptor isAppend() not opened for appending (r) ok 173 FileDescriptor isAppend() not opened for appending (r+) ok 174 FileDescriptor isAppend() not opened for appending (rs) ok 175 FileDescriptor isAppend() not opened for appending (rs+) ok 176 FileDescriptor isAppend() not opened for appending (w) ok 177 FileDescriptor isAppend() not opened for appending (wx) ok 178 FileDescriptor isAppend() not opened for appending (w+) ok 179 FileDescriptor isAppend() not opened for appending (wx+) ok 180 FileDescriptor isAppend() opened for appending (a) ok 181 FileDescriptor isAppend() opened for appending (ax) ok 182 FileDescriptor isAppend() opened for appending (a+) ok 183 FileDescriptor isAppend() opened for appending (ax+) ok 184 FileDescriptor isAppend() not opened for appending (O_CREAT | O_RDONLY) ok 185 FileDescriptor isTruncate() not opened for truncating (r) ok 186 FileDescriptor isTruncate() not opened for truncating (r+) ok 187 FileDescriptor isTruncate() not opened for truncating (rs) ok 188 FileDescriptor isTruncate() not opened for truncating (rs+) ok 189 FileDescriptor isTruncate() opened for truncating (w) ok 190 FileDescriptor isTruncate() opened for truncating (wx) ok 191 FileDescriptor isTruncate() opened for truncating (w+) ok 192 FileDescriptor isTruncate() opened for truncating (wx+) ok 193 FileDescriptor isTruncate() not opened for truncating (a) ok 194 FileDescriptor isTruncate() not opened for truncating (ax) ok 195 FileDescriptor isTruncate() not opened for truncating (a+) ok 196 FileDescriptor isTruncate() not opened for truncating (ax+) ok 197 FileDescriptor isTruncate() not opened for truncating (O_CREAT | O_RDONLY) ok 198 FileDescriptor isCreate() not opened for creation (r) ok 199 FileDescriptor isCreate() not opened for creation (r+) ok 200 FileDescriptor isCreate() not opened for creation (rs) ok 201 FileDescriptor isCreate() not opened for creation (rs+) ok 202 FileDescriptor isCreate() opened for creation (w) ok 203 FileDescriptor isCreate() opened for creation (wx) ok 204 FileDescriptor isCreate() opened for creation (w+) ok 205 FileDescriptor isCreate() opened for creation (wx+) ok 206 FileDescriptor isCreate() opened for creation (a) ok 207 FileDescriptor isCreate() opened for creation (ax) ok 208 FileDescriptor isCreate() opened for creation (a+) ok 209 FileDescriptor isCreate() opened for creation (ax+) ok 210 FileDescriptor isCreate() opened for creation (O_CREAT | O_RDONLY) ok 211 FileDescriptor isRead() opened for reading (r) ok 212 FileDescriptor isRead() opened for reading (r+) ok 213 FileDescriptor isRead() opened for reading (rs) ok 214 FileDescriptor isRead() opened for reading (rs+) ok 215 FileDescriptor isRead() not opened for reading (w) ok 216 FileDescriptor isRead() not opened for reading (wx) ok 217 FileDescriptor isRead() opened for reading (w+) ok 218 FileDescriptor isRead() opened for reading (wx+) ok 219 FileDescriptor isRead() not opened for reading (a) ok 220 FileDescriptor isRead() not opened for reading (ax) ok 221 FileDescriptor isRead() opened for reading (a+) ok 222 FileDescriptor isRead() opened for reading (ax+) ok 223 FileDescriptor isRead() opened for reading (O_CREAT | O_RDONLY) ok 224 FileDescriptor isWrite() not opened for writing (r) ok 225 FileDescriptor isWrite() opened for writing (r+) ok 226 FileDescriptor isWrite() not opened for writing (rs) ok 227 FileDescriptor isWrite() opened for writing (rs+) ok 228 FileDescriptor isWrite() opened for writing (w) ok 229 FileDescriptor isWrite() opened for writing (wx) ok 230 FileDescriptor isWrite() opened for writing (w+) ok 231 FileDescriptor isWrite() opened for writing (wx+) ok 232 FileDescriptor isWrite() opened for writing (a) ok 233 FileDescriptor isWrite() opened for writing (ax) ok 234 FileDescriptor isWrite() opened for writing (a+) ok 235 FileDescriptor isWrite() opened for writing (ax+) ok 236 FileDescriptor isWrite() not opened for writing (O_CREAT | O_RDONLY) ok 237 FileDescriptor isExclusive() not opened exclusive (r) ok 238 FileDescriptor isExclusive() not opened exclusive (r+) ok 239 FileDescriptor isExclusive() not opened exclusive (rs) ok 240 FileDescriptor isExclusive() not opened exclusive (rs+) ok 241 FileDescriptor isExclusive() not opened exclusive (w) ok 242 FileDescriptor isExclusive() opened exclusive (wx) ok 243 FileDescriptor isExclusive() not opened exclusive (w+) ok 244 FileDescriptor isExclusive() opened exclusive (wx+) ok 245 FileDescriptor isExclusive() not opened exclusive (a) ok 246 FileDescriptor isExclusive() opened exclusive (ax) ok 247 FileDescriptor isExclusive() not opened exclusive (a+) ok 248 FileDescriptor isExclusive() opened exclusive (ax+) ok 249 FileDescriptor isExclusive() not opened for exclusive (O_CREAT | O_RDONLY) ok 250 Directory constructor creates a named directory ok 251 Directory addItem() allows a directory to be added ok 252 Directory addItem() allows a file to be added ok 253 Directory addItem() returns the added item ok 254 Directory getItem() retrieves a named directory ok 255 Directory getItem() retrieves a named file ok 256 Directory getItem() returns null for missing item ok 257 Directory removeItem() allows a directory to be removed ok 258 Directory removeItem() allows a file to be removed ok 259 Directory removeItem() throws if item is not a child ok 260 Directory list() lists all items in a directory ok 261 Directory list() works for empty dir ok 262 Directory list() lists one level deep ok 263 File constructor creates a named file ok 264 File getContent() gets the file content ok 265 File getContent() is initially empty ok 266 File getContent() updates the atime ok 267 File setContent() accepts a string ok 268 File setContent() accepts a buffer ok 269 File setContent() throws for other types ok 270 File setContent() updates the ctime and mtime ok 271 FileSystem constructor creates a new instance ok 272 FileSystem constructor accepts a createCwd option ok 273 FileSystem constructor accepts a createTmp option ok 274 FileSystem getRoot() gets the root directory ok 275 FileSystem getItem() gets an item ok 276 FileSystem getItem() returns null if not found ok 277 FileSystem getItem() gets an item traversing links to symbolic links ok 278 FileSystem.file creates a factory for files ok 279 FileSystem.file accepts a content member ok 280 FileSystem.directory creates a factory for directories ok 281 FileSystem.create provides a convenient way to populate a file system ok 282 FileSystem.create passes options to the FileSystem constructor ok 283 FileSystem.create accepts file factory ok 284 FileSystem.create accepts file factory with uid & gid ok 285 FileSystem.create accepts directory factory ok 286 FileSystem.create accepts directory factory with uid & gid ok 287 FileSystem.create accepts directory factory with additional items ok 288 FileSystem.create correctly generates link counts ok 289 FileSystem.create throws if item content is not valid type ok 290 fs.access(path[, mode], callback) works for an accessible file ok 291 fs.access(path[, mode], callback) supports Buffer input ok 292 fs.access(path[, mode], callback) promise works for an accessible file ok 293 fs.access(path[, mode], callback) works 000 (and no mode arg) ok 294 fs.access(path[, mode], callback) promise works 000 (and no mode arg) ok 295 fs.access(path[, mode], callback) works F_OK and 000 ok 296 fs.access(path[, mode], callback) promise works F_OK and 000 ok 297 fs.access(path[, mode], callback) generates EACCES for R_OK and 000 ok 298 fs.access(path[, mode], callback) promise generates EACCES for R_OK and 000 ok 299 fs.access(path[, mode], callback) generates EACCES for W_OK and 000 ok 300 fs.access(path[, mode], callback) promise generates EACCES for W_OK and 000 ok 301 fs.access(path[, mode], callback) generates EACCES for X_OK and 000 ok 302 fs.access(path[, mode], callback) promise generates EACCES for X_OK and 000 ok 303 fs.access(path[, mode], callback) works 111 (and no mode arg) ok 304 fs.access(path[, mode], callback) promise works 111 (and no mode arg) ok 305 fs.access(path[, mode], callback) works F_OK and 111 ok 306 fs.access(path[, mode], callback) promise works F_OK and 111 ok 307 fs.access(path[, mode], callback) works X_OK and 111 ok 308 fs.access(path[, mode], callback) promise works X_OK and 111 ok 309 fs.access(path[, mode], callback) generates EACCES for R_OK and 111 ok 310 fs.access(path[, mode], callback) promise generates EACCES for R_OK and 111 ok 311 fs.access(path[, mode], callback) generates EACCES for W_OK and 111 ok 312 fs.access(path[, mode], callback) promise generates EACCES for W_OK and 111 ok 313 fs.access(path[, mode], callback) works for 222 (and no mode arg) ok 314 fs.access(path[, mode], callback) promise works for 222 (and no mode arg) ok 315 fs.access(path[, mode], callback) works F_OK and 222 ok 316 fs.access(path[, mode], callback) promise works F_OK and 222 ok 317 fs.access(path[, mode], callback) works W_OK and 222 ok 318 fs.access(path[, mode], callback) promise works W_OK and 222 ok 319 fs.access(path[, mode], callback) generates EACCES for R_OK and 222 ok 320 fs.access(path[, mode], callback) promise generates EACCES for R_OK and 222 ok 321 fs.access(path[, mode], callback) generates EACCES for X_OK and 222 ok 322 fs.access(path[, mode], callback) promise generates EACCES for X_OK and 222 ok 323 fs.access(path[, mode], callback) works for 333 (and no mode arg) ok 324 fs.access(path[, mode], callback) promise works for 333 (and no mode arg) ok 325 fs.access(path[, mode], callback) works F_OK and 333 ok 326 fs.access(path[, mode], callback) promise works F_OK and 333 ok 327 fs.access(path[, mode], callback) works W_OK and 333 ok 328 fs.access(path[, mode], callback) promise works W_OK and 333 ok 329 fs.access(path[, mode], callback) works X_OK and 333 ok 330 fs.access(path[, mode], callback) promise works X_OK and 333 ok 331 fs.access(path[, mode], callback) works X_OK | W_OK and 333 ok 332 fs.access(path[, mode], callback) promise works X_OK | W_OK and 333 ok 333 fs.access(path[, mode], callback) generates EACCES for R_OK and 333 ok 334 fs.access(path[, mode], callback) promise generates EACCES for R_OK and 333 ok 335 fs.access(path[, mode], callback) works for 444 (and no mode arg) ok 336 fs.access(path[, mode], callback) promise works for 444 (and no mode arg) ok 337 fs.access(path[, mode], callback) works F_OK and 444 ok 338 fs.access(path[, mode], callback) promise works F_OK and 444 ok 339 fs.access(path[, mode], callback) works R_OK and 444 ok 340 fs.access(path[, mode], callback) promise works R_OK and 444 ok 341 fs.access(path[, mode], callback) generates EACCES for W_OK and 444 ok 342 fs.access(path[, mode], callback) promise generates EACCES for W_OK and 444 ok 343 fs.access(path[, mode], callback) generates EACCES for X_OK and 444 ok 344 fs.access(path[, mode], callback) promise generates EACCES for X_OK and 444 ok 345 fs.access(path[, mode], callback) works for 555 (and no mode arg) ok 346 fs.access(path[, mode], callback) promise works for 555 (and no mode arg) ok 347 fs.access(path[, mode], callback) works F_OK and 555 ok 348 fs.access(path[, mode], callback) promise works F_OK and 555 ok 349 fs.access(path[, mode], callback) works R_OK and 555 ok 350 fs.access(path[, mode], callback) promise works R_OK and 555 ok 351 fs.access(path[, mode], callback) works X_OK and 555 ok 352 fs.access(path[, mode], callback) promise works X_OK and 555 ok 353 fs.access(path[, mode], callback) works R_OK | X_OK and 555 ok 354 fs.access(path[, mode], callback) promise works R_OK | X_OK and 555 ok 355 fs.access(path[, mode], callback) generates EACCES for W_OK and 555 ok 356 fs.access(path[, mode], callback) promise generates EACCES for W_OK and 555 ok 357 fs.access(path[, mode], callback) works for 666 (and no mode arg) ok 358 fs.access(path[, mode], callback) promise works for 666 (and no mode arg) ok 359 fs.access(path[, mode], callback) works F_OK and 666 ok 360 fs.access(path[, mode], callback) promise works F_OK and 666 ok 361 fs.access(path[, mode], callback) works R_OK and 666 ok 362 fs.access(path[, mode], callback) promise works R_OK and 666 ok 363 fs.access(path[, mode], callback) works W_OK and 666 ok 364 fs.access(path[, mode], callback) promise works W_OK and 666 ok 365 fs.access(path[, mode], callback) works R_OK | W_OK and 666 ok 366 fs.access(path[, mode], callback) promise works R_OK | W_OK and 666 ok 367 fs.access(path[, mode], callback) generates EACCES for X_OK and 666 ok 368 fs.access(path[, mode], callback) promise generates EACCES for X_OK and 666 ok 369 fs.access(path[, mode], callback) works for 777 (and no mode arg) ok 370 fs.access(path[, mode], callback) promise works for 777 (and no mode arg) ok 371 fs.access(path[, mode], callback) works F_OK and 777 ok 372 fs.access(path[, mode], callback) promise works F_OK and 777 ok 373 fs.access(path[, mode], callback) works R_OK and 777 ok 374 fs.access(path[, mode], callback) promise works R_OK and 777 ok 375 fs.access(path[, mode], callback) works W_OK and 777 ok 376 fs.access(path[, mode], callback) promise works W_OK and 777 ok 377 fs.access(path[, mode], callback) works X_OK and 777 ok 378 fs.access(path[, mode], callback) promise works X_OK and 777 ok 379 fs.access(path[, mode], callback) works X_OK | W_OK and 777 ok 380 fs.access(path[, mode], callback) promise works X_OK | W_OK and 777 ok 381 fs.access(path[, mode], callback) works X_OK | R_OK and 777 ok 382 fs.access(path[, mode], callback) promise works X_OK | R_OK and 777 ok 383 fs.access(path[, mode], callback) works R_OK | W_OK and 777 ok 384 fs.access(path[, mode], callback) promise works R_OK | W_OK and 777 ok 385 fs.access(path[, mode], callback) works R_OK | W_OK | X_OK and 777 ok 386 fs.access(path[, mode], callback) promise works R_OK | W_OK | X_OK and 777 ok 387 fs.access(path[, mode], callback) generates EACCESS for F_OK and an unreadable parent ok 388 fs.access(path[, mode], callback) promise generates EACCESS for F_OK and an unreadable parent ok 389 fs.accessSync(path[, mode]) works for an accessible file ok 390 fs.accessSync(path[, mode]) throws EACCESS for broken link ok 391 fs.accessSync(path[, mode]) throws ELOOP for circular link ok 392 fs.accessSync(path[, mode]) throws EACCESS for all but F_OK for 000 ok 393 fs.appendFile(filename, data, [options], callback) writes a string to a new file ok 394 fs.appendFile(filename, data, [options], callback) promise writes a string to a new file ok 395 fs.appendFile(filename, data, [options], callback) appends a string to an existing file ok 396 fs.appendFile(filename, data, [options], callback) promise appends a string to an existing file ok 397 fs.appendFile(filename, data, [options], callback) appends a buffer to a file ok 398 fs.appendFile(filename, data, [options], callback) promise appends a buffer to a file ok 399 fs.appendFile(filename, data, [options], callback) appends via a symbolic link file ok 400 fs.appendFile(filename, data, [options], callback) promise appends via a symbolic link file ok 401 fs.appendFile(filename, data, [options], callback) fails if directory does not exist ok 402 fs.appendFile(filename, data, [options], callback) promise fails if directory does not exist ok 403 fs.appendFileSync(filename, data, [options] writes a string to a new file ok 404 fs.appendFileSync(filename, data, [options] appends a string to an existing file ok 405 fs.appendFileSync(filename, data, [options] fails if directory does not exist ok 406 fs.chmod(path, mode, callback) changes permissions of a file ok 407 fs.chmod(path, mode, callback) supports Buffer input ok 408 fs.chmod(path, mode, callback) promise changes permissions of a file ok 409 fs.chmod(path, mode, callback) fails if file does not exist ok 410 fs.chmod(path, mode, callback) promise fails if file does not exist ok 411 fs.chmodSync(path, mode) changes permissions of a file ok 412 fs.chmodSync(path, mode) fails if file does not exist ok 413 fs.fchmod(fd, mode, callback) changes permissions of a file ok 414 fs.fchmod(fd, mode, callback) promise changes permissions of a file ok 415 fs.fchmodSync(fd, mode) changes permissions of a file ok 416 fs.chown(path, uid, gid, callback) changes ownership of a file ok 417 fs.chown(path, uid, gid, callback) supports Buffer input ok 418 fs.chown(path, uid, gid, callback) promise changes ownership of a file ok 419 fs.chown(path, uid, gid, callback) fails if file does not exist ok 420 fs.chown(path, uid, gid, callback) promise fails if file does not exist ok 421 fs.chownSync(path, uid, gid) changes ownership of a file ok 422 fs.chownSync(path, uid, gid) fails if file does not exist ok 423 fs.fchown(fd, uid, gid, callback) changes ownership of a file ok 424 fs.fchown(fd, uid, gid, callback) promise changes ownership of a file ok 425 fs.fchownSync(fd, uid, gid) changes ownership of a file ok 426 fs.copyFile(src, dest[, flags], callback) copies a file to an empty directory ok 427 fs.copyFile(src, dest[, flags], callback) supports Buffer input ok 428 fs.copyFile(src, dest[, flags], callback) promise copies a file to an empty directory ok 429 fs.copyFile(src, dest[, flags], callback) truncates dest file if it exists ok 430 fs.copyFile(src, dest[, flags], callback) promise truncates dest file if it exists ok 431 fs.copyFile(src, dest[, flags], callback) throws if dest exists and exclusive ok 432 fs.copyFile(src, dest[, flags], callback) promise throws if dest exists and exclusive ok 433 fs.copyFile(src, dest[, flags], callback) fails if src does not exist ok 434 fs.copyFile(src, dest[, flags], callback) promise fails if src does not exist ok 435 fs.copyFile(src, dest[, flags], callback) fails if dest path does not exist ok 436 fs.copyFile(src, dest[, flags], callback) promise fails if dest path does not exist ok 437 fs.copyFile(src, dest[, flags], callback) fails if dest is a directory ok 438 fs.copyFile(src, dest[, flags], callback) promise fails if dest is a directory ok 439 fs.createReadStream(path, [options]) creates a readable stream ok 440 fs.createReadStream(path, [options]) allows piping to a writable stream ok 441 fs.createWriteStream(path[, options]) provides a write stream for a file in buffered mode ok 442 fs.createWriteStream(path[, options]) provides a write stream for a file ok 443 fs.createWriteStream(path[, options]) works when write stream is corked ok 444 fs.exists(path, callback) calls with true if file exists ok 445 fs.exists(path, callback) calls with true if directory exists ok 446 fs.exists(path, callback) calls with true if empty directory exists ok 447 fs.exists(path, callback) calls with true if nested directory exists ok 448 fs.exists(path, callback) calls with true if file exists ok 449 fs.exists(path, callback) calls with true if empty file exists ok 450 fs.exists(path, callback) calls with false for bogus path ok 451 fs.exists(path, callback) calls with false for bogus path (II) ok 452 fs.existsSync(path) returns true if file exists ok 453 fs.existsSync(path) returns true if directory exists ok 454 fs.existsSync(path) returns true if empty directory exists ok 455 fs.existsSync(path) returns true if nested directory exists ok 456 fs.existsSync(path) returns true if file exists ok 457 fs.existsSync(path) returns true if empty file exists ok 458 fs.existsSync(path) returns false for bogus path ok 459 fs.existsSync(path) returns false for bogus path (II) ok 460 fs.link(srcpath, dstpath, callback) creates a link to a file ok 461 fs.link(srcpath, dstpath, callback) supports Buffer input ok 462 fs.link(srcpath, dstpath, callback) promise creates a link to a file ok 463 fs.link(srcpath, dstpath, callback) works if original is renamed ok 464 fs.link(srcpath, dstpath, callback) promise works if original is renamed ok 465 fs.link(srcpath, dstpath, callback) works if original is removed ok 466 fs.link(srcpath, dstpath, callback) promise works if original is removed ok 467 fs.link(srcpath, dstpath, callback) fails if original is a directory ok 468 fs.link(srcpath, dstpath, callback) promise fails if original is a directory ok 469 fs.linkSync(srcpath, dstpath) creates a link to a file ok 470 fs.linkSync(srcpath, dstpath) works if original is renamed ok 471 fs.linkSync(srcpath, dstpath) works if original is removed ok 472 fs.linkSync(srcpath, dstpath) fails if original is a directory ok 473 fs.symlink(srcpath, dstpath, [type], callback) creates a symbolic link to a file ok 474 fs.symlink(srcpath, dstpath, [type], callback) supports Buffer input ok 475 fs.symlink(srcpath, dstpath, [type], callback) promise creates a symbolic link to a file ok 476 fs.symlink(srcpath, dstpath, [type], callback) breaks if original is renamed ok 477 fs.symlink(srcpath, dstpath, [type], callback) promise breaks if original is renamed ok 478 fs.symlink(srcpath, dstpath, [type], callback) works if original is a directory ok 479 fs.symlink(srcpath, dstpath, [type], callback) promise works if original is a directory ok 480 fs.symlinkSync(srcpath, dstpath, [type]) creates a symbolic link to a file ok 481 fs.symlinkSync(srcpath, dstpath, [type]) breaks if original is renamed ok 482 fs.symlinkSync(srcpath, dstpath, [type]) works if original is a directory ok 483 fs.lstat(path, callback) stats a symbolic link ok 484 fs.lstat(path, callback) suports Buffer input ok 485 fs.lstat(path, callback) promise stats a symbolic link ok 486 fs.lstat(path, callback) stats a regular file ok 487 fs.lstat(path, callback) promise stats a regular file ok 488 fs.lstat(path, callback) fails on file not exist ok 489 fs.lstat(path, callback) promise fails on file not exist ok 490 fs.lstatSync(path) stats a symbolic link ok 491 fs.lstatSync(path) stats a regular file ok 492 fs.lstatSync(path) fails on file not exist ok 493 fs.mkdir(path, [mode], callback) creates a new directory ok 494 fs.mkdir(path, [mode], callback) supports Buffer input ok 495 fs.mkdir(path, [mode], callback) promise creates a new directory ok 496 fs.mkdir(path, [mode], callback) creates a new directory recursively ok 497 fs.mkdir(path, [mode], callback) promise creates a new directory recursively ok 498 fs.mkdir(path, [mode], callback) accepts dir mode ok 499 fs.mkdir(path, [mode], callback) promise accepts dir mode ok 500 fs.mkdir(path, [mode], callback) accepts dir mode recursively ok 501 fs.mkdir(path, [mode], callback) promise accepts dir mode recursively ok 502 fs.mkdir(path, [mode], callback) fails if parent does not exist ok 503 fs.mkdir(path, [mode], callback) promise fails if parent does not exist ok 504 fs.mkdir(path, [mode], callback) fails if one parent is not a folder in recursive creation ok 505 fs.mkdir(path, [mode], callback) promise fails if one parent is not a folder in recursive creation ok 506 fs.mkdir(path, [mode], callback) fails if permission does not allow recursive creation ok 507 fs.mkdir(path, [mode], callback) promise fails if permission does not allow recursive creation ok 508 fs.mkdir(path, [mode], callback) fails if directory already exists ok 509 fs.mkdir(path, [mode], callback) promise fails if directory already exists ok 510 fs.mkdir(path, [mode], callback) fails if file already exists ok 511 fs.mkdir(path, [mode], callback) promise fails if file already exists ok 512 fs.mkdir(path, [mode], callback) fails in recursive mode if file already exists ok 513 fs.mkdir(path, [mode], callback) promise fails in recursive mode if file already exists ok 514 fs.mkdir(path, [mode], callback) passes in recursive mode if directory already exists ok 515 fs.mkdir(path, [mode], callback) promise passes in recursive mode if directory already exists ok 516 fs.mkdir(path, [mode], callback) fails if parent is not writeable ok 517 fs.mkdir(path, [mode], callback) promise fails if parent is not writeable ok 518 fs.mkdir(path, [mode], callback) calls callback with a single argument on success ok 519 fs.mkdir(path, [mode], callback) calls callback with a single argument on failure ok 520 fs.mkdirSync(path, [mode]) creates a new directory ok 521 fs.mkdirSync(path, [mode]) creates a new directory recursively ok 522 fs.mkdirSync(path, [mode]) accepts dir mode ok 523 fs.mkdirSync(path, [mode]) accepts dir mode recursively ok 524 fs.mkdirSync(path, [mode]) fails if parent does not exist ok 525 fs.mkdirSync(path, [mode]) fails if one parent is not a folder in recursive creation ok 526 fs.mkdirSync(path, [mode]) fails if permission does not allow recursive creation ok 527 fs.mkdirSync(path, [mode]) fails if directory already exists ok 528 fs.mkdirSync(path, [mode]) fails if file already exists ok 529 fs.mkdirSync(path, [mode]) fails in recursive mode if file already exists ok 530 fs.mkdirSync(path, [mode]) passes in recursive mode if directory already exists ok 531 fs.mkdirSync(path, [mode]) fails if parent is not writeable ok 532 fs.mkdtemp(prefix[, options], callback) creates a new directory ok 533 fs.mkdtemp(prefix[, options], callback) promise creates a new directory ok 534 fs.mkdtemp(prefix[, options], callback) accepts a "utf8" encoding argument ok 535 fs.mkdtemp(prefix[, options], callback) promise accepts a "utf8" encoding argument ok 536 fs.mkdtemp(prefix[, options], callback) accepts a "buffer" encoding argument ok 537 fs.mkdtemp(prefix[, options], callback) promise accepts a "buffer" encoding argument ok 538 fs.mkdtemp(prefix[, options], callback) accepts an options argument with "utf8" encoding ok 539 fs.mkdtemp(prefix[, options], callback) promise accepts an options argument with "utf8" encoding ok 540 fs.mkdtemp(prefix[, options], callback) accepts an options argument with "buffer" encoding ok 541 fs.mkdtemp(prefix[, options], callback) promise accepts an options argument with "buffer" encoding ok 542 fs.mkdtemp(prefix[, options], callback) fails if parent does not exist ok 543 fs.mkdtemp(prefix[, options], callback) promise fails if parent does not exist ok 544 fs.mkdtemp(prefix[, options], callback) fails if parent is a file ok 545 fs.mkdtemp(prefix[, options], callback) promise fails if parent is a file ok 546 fs.mkdtemp(prefix[, options], callback) fails if parent is not writeable ok 547 fs.mkdtemp(prefix[, options], callback) promise fails if parent is not writeable ok 548 fs.mkdtempSync(prefix[, options]) creates a new directory ok 549 fs.mkdtempSync(prefix[, options]) accepts a "utf8" encoding argument ok 550 fs.mkdtempSync(prefix[, options]) accepts a "buffer" encoding argument ok 551 fs.mkdtempSync(prefix[, options]) accepts an options argument with "utf8" encoding ok 552 fs.mkdtempSync(prefix[, options]) accepts an options argument with "buffer" encoding ok 553 fs.mkdtempSync(prefix[, options]) fails if parent does not exist ok 554 fs.mkdtempSync(prefix[, options]) fails if parent is a file ok 555 fs.mkdtempSync(prefix[, options]) fails if parent is not writeable ok 556 fs.open(path, flags, [mode], callback) opens an existing file for reading (r) ok 557 fs.open(path, flags, [mode], callback) supports Buffer input ok 558 fs.open(path, flags, [mode], callback) promise opens an existing file for reading (r) ok 559 fs.open(path, flags, [mode], callback) fails if file does not exist (r) ok 560 fs.open(path, flags, [mode], callback) promise fails if file does not exist (r) ok 561 fs.open(path, flags, [mode], callback) creates a new file for writing (w) ok 562 fs.open(path, flags, [mode], callback) promise creates a new file for writing (w) ok 563 fs.open(path, flags, [mode], callback) opens an existing file for writing (w) ok 564 fs.open(path, flags, [mode], callback) promise opens an existing file for writing (w) ok 565 fs.open(path, flags, [mode], callback) fails if file exists (wx) ok 566 fs.open(path, flags, [mode], callback) promise fails if file exists (wx) ok 567 fs.openSync(path, flags, [mode]) opens an existing file for reading (r) ok 568 fs.openSync(path, flags, [mode]) fails if file does not exist (r) ok 569 fs.openSync(path, flags, [mode]) creates a new file for writing (w) ok 570 fs.openSync(path, flags, [mode]) opens an existing file for writing (w) ok 571 fs.openSync(path, flags, [mode]) fails if file exists (wx) ok 572 fs.close(fd, callback) closes a file descriptor ok 573 fs.close(fd, callback) promise closes a file descriptor ok 574 fs.close(fd, callback) fails for closed file descriptors ok 575 fs.close(fd, callback) promise fails for closed file descriptors ok 576 fs.closeSync(fd) closes a file descriptor ok 577 fs.closeSync(fd) fails for closed file descriptors ok 578 fs.read(fd, buffer, offset, length, position, callback) allows file contents to be read ok 579 fs.read(fd, buffer, offset, length, position, callback) promise allows file contents to be read ok 580 fs.read(fd, buffer, offset, length, position, callback) allows file contents to be read w/ offset ok 581 fs.read(fd, buffer, offset, length, position, callback) promise allows file contents to be read w/ offset ok 582 fs.read(fd, buffer, offset, length, position, callback) allows file contents to be read w/ length ok 583 fs.read(fd, buffer, offset, length, position, callback) promise allows file contents to be read w/ length ok 584 fs.read(fd, buffer, offset, length, position, callback) allows file contents to be read w/ offset & length ok 585 fs.read(fd, buffer, offset, length, position, callback) promise allows file contents to be read w/ offset & length ok 586 fs.read(fd, buffer, offset, length, position, callback) allows file contents to be read w/ position ok 587 fs.read(fd, buffer, offset, length, position, callback) promise allows file contents to be read w/ position ok 588 fs.read(fd, buffer, offset, length, position, callback) allows read w/ offset, length, & position ok 589 fs.read(fd, buffer, offset, length, position, callback) promise allows read w/ offset, length, & position ok 590 fs.read(fd, buffer, offset, length, position, callback) fails for closed file descriptor ok 591 fs.read(fd, buffer, offset, length, position, callback) promise fails for closed file descriptor ok 592 fs.read(fd, buffer, offset, length, position, callback) fails if not open for reading ok 593 fs.read(fd, buffer, offset, length, position, callback) promise fails if not open for reading ok 594 fs.readSync(fd, buffer, offset, length, position) allows a file to be read synchronously ok 595 fs.readSync(fd, buffer, offset, length, position) allows a file to be read in two parts ok 596 fs.readSync(fd, buffer, offset, length, position) treats null position as current position ok 597 fs.readFile(filename, [options], callback) allows a file to be read asynchronously ok 598 fs.readFile(filename, [options], callback) promise allows a file to be read asynchronously ok 599 fs.readFile(filename, [options], callback) fails for directory ok 600 fs.readFile(filename, [options], callback) promise fails for directory ok 601 fs.readFile(filename, [options], callback) fails for bad path ok 602 fs.readFile(filename, [options], callback) promise fails for bad path ok 603 fs.readFileSync(filename, [options]) allows a file to be read synchronously ok 604 fs.readFileSync(filename, [options]) fails for directory ok 605 fs.readFileSync(filename, [options]) fails for bad path ok 606 fs.readdir(path, callback) lists directory contents ok 607 fs.readdir(path, callback) supports Buffer input ok 608 fs.readdir(path, callback) promise lists directory contents ok 609 fs.readdir(path, callback) lists nested directory contents ok 610 fs.readdir(path, callback) promise lists nested directory contents ok 611 fs.readdir(path, callback) calls with an error for bogus path ok 612 fs.readdir(path, callback) promise calls with an error for bogus path ok 613 fs.readdir(path, callback) calls with an error for restricted path ok 614 fs.readdir(path, callback) promise calls with an error for restricted path ok 615 fs.readdir(path, callback) should support "withFileTypes" option ok 616 fs.readdir(path, callback) should support "withFileTypes" option ok 617 fs.readdir(path, callback) should support "withFileTypes" option with "encoding" option ok 618 fs.readdir(path, callback) should support "withFileTypes" option with "encoding" option ok 619 fs.readdirSync(path) lists directory contents ok 620 fs.readdirSync(path) lists nested directory contents ok 621 fs.readdirSync(path) throws for bogus path ok 622 fs.readdirSync(path) throws when access refused ok 623 fs.readlink(path, callback) reads a symbolic link ok 624 fs.readlink(path, callback) supports Buffer input ok 625 fs.readlink(path, callback) promise reads a symbolic link ok 626 fs.readlink(path, callback) fails for regular files ok 627 fs.readlink(path, callback) promise fails for regular files ok 628 fs.readlinkSync(path) reads a symbolic link ok 629 fs.readlinkSync(path) fails for regular files ok 630 fs.realpath(path, [cache], callback) resolves the real path for a symbolic link ok 631 fs.realpath(path, [cache], callback) promise resolves the real path for a symbolic link ok 632 fs.realpath(path, [cache], callback) resolves the real path regular file ok 633 fs.realpath(path, [cache], callback) promise resolves the real path regular file ok 634 fs.realpath(path, [cache], callback) fails on file not exist ok 635 fs.realpath(path, [cache], callback) promise fails on file not exist ok 636 fs.realpath.native(path, [cache], callback) resolves the real path for a symbolic link ok 637 fs.realpath.native(path, [cache], callback) resolves the real path regular file ok 638 fs.realpath.native(path, [cache], callback) fails on file not exist ok 639 fs.realpathSync(path, [cache]) resolves the real path for a symbolic link ok 640 fs.realpathSync(path, [cache]) resolves the real path regular file ok 641 fs.realpathSync(path, [cache]) fails on file not exist ok 642 fs.realpathSync.native(path, [cache]) resolves the real path for a symbolic link ok 643 fs.realpathSync.native(path, [cache]) resolves the real path regular file ok 644 fs.realpathSync.native(path, [cache]) fails on file not exist ok 645 fs.rename(oldPath, newPath, callback) allows files to be renamed ok 646 fs.rename(oldPath, newPath, callback) supports Buffer input ok 647 fs.rename(oldPath, newPath, callback) promise allows files to be renamed ok 648 fs.rename(oldPath, newPath, callback) updates mtime of parent directory ok 649 fs.rename(oldPath, newPath, callback) promise updates mtime of parent directory ok 650 fs.rename(oldPath, newPath, callback) calls callback with error if old path does not exist ok 651 fs.rename(oldPath, newPath, callback) promise calls callback with error if old path does not exist ok 652 fs.rename(oldPath, newPath, callback) overwrites existing files ok 653 fs.rename(oldPath, newPath, callback) promise overwrites existing files ok 654 fs.rename(oldPath, newPath, callback) allows directories to be renamed ok 655 fs.rename(oldPath, newPath, callback) promise allows directories to be renamed ok 656 fs.rename(oldPath, newPath, callback) calls callback with error if new directory not empty ok 657 fs.rename(oldPath, newPath, callback) promise calls callback with error if new directory not empty ok 658 fs.renameSync(oldPath, newPath) allows files to be renamed ok 659 fs.renameSync(oldPath, newPath) overwrites existing files ok 660 fs.renameSync(oldPath, newPath) allows directories to be renamed ok 661 fs.renameSync(oldPath, newPath) replaces existing directories (if empty) ok 662 fs.renameSync(oldPath, newPath) renames symbolic links ok 663 fs.renameSync(oldPath, newPath) throws if old path does not exist ok 664 fs.renameSync(oldPath, newPath) throws if new path basename is not directory ok 665 fs.renameSync(oldPath, newPath) throws if new dir is not empty dir ok 666 fs.rmdir(path, callback) removes an empty directory ok 667 fs.rmdir(path, callback) supports Buffer input ok 668 fs.rmdir(path, callback) promise removes an empty directory ok 669 fs.rmdir(path, callback) fails if not empty ok 670 fs.rmdir(path, callback) promise fails if not empty ok 671 fs.rmdir(path, callback) fails if file ok 672 fs.rmdir(path, callback) promise fails if file ok 673 fs.rmdir(path, callback) recursively remove empty directory ok 674 fs.rmdir(path, callback) promise recursively remove empty directory ok 675 fs.rmdir(path, callback) recursively remove non-empty directory ok 676 fs.rmdir(path, callback) promise recursively remove non-empty directory ok 677 fs.rmdir(path, callback) fails if parent is not writeable ok 678 fs.rmdir(path, callback) promise fails if parent is not writeable ok 679 fs.rmdirSync(path) removes an empty directory ok 680 fs.rmdirSync(path) fails if directory does not exist ok 681 fs.rmdirSync(path) fails if not empty ok 682 fs.rmdirSync(path) fails if file ok 683 fs.rmdirSync(path) recursively remove empty directory ok 684 fs.rmdirSync(path) recursively remove non-empty directory ok 685 fs.rmdirSync(path) fails if parent is not writeable ok 686 fs.stat(path, callback) creates an instance of fs.Stats # SKIP - ok 687 fs.stat(path, callback) promise creates an instance of fs.Stats # SKIP - ok 688 fs.stat(path, callback) identifies files ok 689 fs.stat(path, callback) supports Buffer input ok 690 fs.stat(path, callback) promise identifies files ok 691 fs.stat(path, callback) identifies directories ok 692 fs.stat(path, callback) promise identifies directories ok 693 fs.stat(path, callback) provides file stats ok 694 fs.stat(path, callback) promise provides file stats ok 695 fs.stat(path, callback) includes blocks and blksize in stats ok 696 fs.stat(path, callback) promise includes blocks and blksize in stats ok 697 fs.stat(path, callback) provides directory stats ok 698 fs.stat(path, callback) promise provides directory stats ok 699 fs.stat(path, callback) includes blocks and blksize in directory stats ok 700 fs.stat(path, callback) promise includes blocks and blksize in directory stats ok 701 fs.fstat(fd, callback) accepts a file descriptor for a file (r) ok 702 fs.fstat(fd, callback) promise accepts a file descriptor for a file (r) ok 703 fs.fstat(fd, callback) accepts a file descriptor for a directory (r) ok 704 fs.fstat(fd, callback) promise accepts a file descriptor for a directory (r) ok 705 fs.fstat(fd, callback) fails for bad file descriptor ok 706 fs.fstat(fd, callback) promise fails for bad file descriptor ok 707 fs.fstatSync(fd) accepts a file descriptor for a file (r) ok 708 fs.fstatSync(fd) accepts a file descriptor for a directory (r) ok 709 fs.fstatSync(fd) fails for bad file descriptor ok 710 fs.unlink(path, callback) deletes a file ok 711 fs.unlink(path, callback) supports Buffer input ok 712 fs.unlink(path, callback) promise deletes a file ok 713 fs.unlink(path, callback) updates mtime of parent ok 714 fs.unlink(path, callback) updates mtime of parent ok 715 fs.unlink(path, callback) fails for a directory ok 716 fs.unlink(path, callback) promise fails for a directory ok 717 fs.unlink(path, callback) respects previously opened file descriptors ok 718 fs.unlink(path, callback) promise respects previously opened file descriptors ok 719 fs.unlinkSync(path) deletes a file ok 720 fs.unlinkSync(path) respects previously opened file descriptors ok 721 fs.utimes(path, atime, mtime, callback) updates timestamps for a file ok 722 fs.utimes(path, atime, mtime, callback) supports Buffer input ok 723 fs.utimes(path, atime, mtime, callback) promise updates timestamps for a file ok 724 fs.utimes(path, atime, mtime, callback) updates timestamps for a directory ok 725 fs.utimes(path, atime, mtime, callback) promise updates timestamps for a directory ok 726 fs.utimes(path, atime, mtime, callback) fails for a bogus path ok 727 fs.utimes(path, atime, mtime, callback) promise fails for a bogus path ok 728 fs.utimesSync(path, atime, mtime) updates timestamps for a file ok 729 fs.futimes(fd, atime, mtime, callback) updates timestamps for a file ok 730 fs.futimes(fd, atime, mtime, callback) promise updates timestamps for a file ok 731 fs.futimes(fd, atime, mtime, callback) updates timestamps for a directory ok 732 fs.futimes(fd, atime, mtime, callback) promise updates timestamps for a directory ok 733 fs.futimesSync(path, atime, mtime) updates timestamps for a file ok 734 fs.write(fd, buffer, offset, length, position, callback) writes a buffer to a file ok 735 fs.write(fd, buffer, offset, length, position, callback) promise writes a buffer to a file ok 736 fs.write(fd, buffer, offset, length, position, callback) writes a buffer to a file with implicit offset, length, position ok 737 fs.write(fd, buffer, offset, length, position, callback) promise writes a buffer to a file with implicit offset, length, position ok 738 fs.write(fd, buffer, offset, length, position, callback) can write a portion of a buffer to a file ok 739 fs.write(fd, buffer, offset, length, position, callback) promise can write a portion of a buffer to a file ok 740 fs.write(fd, buffer, offset, length, position, callback) can write a portion of a buffer to a file position ok 741 fs.write(fd, buffer, offset, length, position, callback) promise can write a portion of a buffer to a file position ok 742 fs.write(fd, buffer, offset, length, position, callback) can write a portion of a buffer to a file position and enlarge the file ok 743 fs.write(fd, buffer, offset, length, position, callback) promise can write a portion of a buffer to a file position and enlarge the file ok 744 fs.write(fd, buffer, offset, length, position, callback) can append to a file ok 745 fs.write(fd, buffer, offset, length, position, callback) promise can append to a file ok 746 fs.write(fd, buffer, offset, length, position, callback) fails if file not open for writing ok 747 fs.write(fd, buffer, offset, length, position, callback) fails if file not open for writing ok 748 fs.writeSync(fd, buffer, offset, length, position) writes a buffer to a file ok 749 fs.writeSync(fd, buffer, offset, length, position) can write a portion of a buffer to a file ok 750 fs.writeSync(fd, buffer, offset, length, position) can append to a file ok 751 fs.writeSync(fd, buffer, offset, length, position) fails if file not open for writing ok 752 fs.write(fd, data[, position[, encoding]], callback) writes a string to a file ok 753 fs.write(fd, data[, position[, encoding]], callback) promise writes a string to a file ok 754 fs.write(fd, data[, position[, encoding]], callback) writes a string to a file with implicit position and encoding ok 755 fs.write(fd, data[, position[, encoding]], callback) promise writes a string to a file with implicit position and encoding ok 756 fs.write(fd, data[, position[, encoding]], callback) can append to a file ok 757 fs.write(fd, data[, position[, encoding]], callback) promise can append to a file ok 758 fs.write(fd, data[, position[, encoding]], callback) can write to a position of a file ok 759 fs.write(fd, data[, position[, encoding]], callback) promise can write to a position of a file ok 760 fs.write(fd, data[, position[, encoding]], callback) can write to a position of a file and enlarge it ok 761 fs.write(fd, data[, position[, encoding]], callback) promise can write to a position of a file and enlarge it ok 762 fs.write(fd, data[, position[, encoding]], callback) fails if file not open for writing ok 763 fs.write(fd, data[, position[, encoding]], callback) promise fails if file not open for writing ok 764 fs.writeSync(fd, data[, position[, encoding]]) writes a string to a file ok 765 fs.writeSync(fd, data[, position[, encoding]]) can append to a file ok 766 fs.writeSync(fd, data[, position[, encoding]]) fails if file not open for writing ok 767 fs.writeFile(filename, data, [options], callback) writes a string to a file ok 768 fs.writeFile(filename, data, [options], callback) promise writes a string to a file ok 769 fs.writeFile(filename, data, [options], callback) updates mtime of parent directory ok 770 fs.writeFile(filename, data, [options], callback) promise updates mtime of parent directory ok 771 fs.writeFile(filename, data, [options], callback) writes a buffer to a file ok 772 fs.writeFile(filename, data, [options], callback) promise writes a buffer to a file ok 773 fs.writeFile(filename, data, [options], callback) fails if directory does not exist ok 774 fs.writeFile(filename, data, [options], callback) promise fails if directory does not exist ok 775 fs.writeFileSync(filename, data, [options] writes a string to a file ok 776 fs.writeFileSync(filename, data, [options] writes a buffer to a file ok 777 fs.writeFileSync(filename, data, [options] fails if directory does not exist ok 778 The API mock() configures the real fs module with a mock file system ok 779 The API mock() provides direct access to the internal filesystem object ok 780 The API mock() creates process.cwd() and os.tmpdir() by default ok 781 The API mock() passes the createCwd option to the FileSystem constructor ok 782 The API mock() passes the createTmp option to the FileSystem constructor ok 783 The API mock() uses the real fs module in require() calls # SKIP - ok 784 The API mock.restore() restores bindings for the real file system ok 785 The API mock.file() lets you create files with additional properties ok 786 The API mock.directory() lets you create directories with more properties ok 787 The API mock.directory() works with a trailing slash ok 788 The API mock.directory() works without a trailing slash ok 789 The API mock.symlink() lets you create symbolic links ok 790 The API mock.load() File creates a File factory with correct attributes ok 791 The API mock.load() File lazy=false loads file content ok 792 The API mock.load() File can read file from mocked FS ok 793 The API mock.load() File lazy=true creates accessors ok 794 The API mock.load() File lazy=true read file loads data and replaces accessors ok 795 The API mock.load() File lazy=true write file updates content and replaces accessors ok 796 The API mock.load() Dir creates a Directory factory with correct attributes ok 797 The API mock.load() Dir recursive=false creates files & does not recurse ok 798 The API mock.load() Dir can read file from mocked FS ok 799 The API mock.load() Dir recursive=true creates all files & dirs ok 800 The API mock.load() Dir recursive=true respects lazy setting ok 801 The API mock.fs() generates a mock fs module with a mock file system # SKIP - ok 802 The API mock.fs() passes options to the FileSystem constructor # SKIP - ok 803 The API mock.fs() accepts an arbitrary nesting of files and directories # SKIP - ok 804 process.cwd() maintains current working directory ok 805 process.cwd() allows changing directory ok 806 process.cwd() prevents changing directory to non-existent path ok 807 process.cwd() prevents changing directory to non-directory path ok 808 process.cwd() restores original methods on restore ok 809 process.cwd() restores original working directory on restore ok 810 security denies dir listing without execute on parent ok 811 security denies file read without execute on parent ok 812 security denies file read without read on file ok 813 security denies file write without write on file ok 814 Item constructor creates a new instance ok 815 Item getATime() returns a date ok 816 Item setATime() sets the atime ok 817 Item getCTime() returns a date ok 818 Item setCTime() sets the ctime ok 819 Item getBirthtime() returns a date ok 820 Item setBirthtime() sets the birthtime ok 821 Item getMTime() returns a date ok 822 Item setMTime() sets the mtime ok 823 Item getMode() returns a number ok 824 Item setMode() sets the mode ok 825 Item setMode() updates the ctime ok 826 Item setUid() sets the uid ok 827 Item setUid() updates the ctime ok 828 Item setGid() sets the gid ok 829 Item setGid() updates the ctime ok 830 Item canRead() returns true if owner and 0700 ok 831 Item canRead() returns true if owner and 0600 ok 832 Item canRead() returns true if owner and 0500 ok 833 Item canRead() returns true if owner and 0400 ok 834 Item canRead() returns false if owner and 0300 ok 835 Item canRead() returns false if owner and 0200 ok 836 Item canRead() returns false if owner and 0100 ok 837 Item canRead() returns false if not owner and 0700 (different user) ok 838 Item canRead() returns false if not owner and 0700 (different group) ok 839 Item canRead() returns false if owner and 0170 ok 840 Item canRead() returns true if in group and 0170 ok 841 Item canRead() returns false if not in group and 0770 ok 842 Item canRead() returns true if not in group and 0777 ok 843 Item canWrite() returns true if owner and 0700 ok 844 Item canWrite() returns true if owner and 0600 ok 845 Item canWrite() returns false if owner and 0500 ok 846 Item canWrite() returns false if owner and 0400 ok 847 Item canWrite() returns true if owner and 0300 ok 848 Item canWrite() returns true if owner and 0200 ok 849 Item canWrite() returns false if owner and 0100 ok 850 Item canWrite() returns false if not owner and 0700 (different user) ok 851 Item canWrite() returns false if not owner and 0700 (different group) ok 852 Item canWrite() returns false if owner and 0170 ok 853 Item canWrite() returns true if in group and 0170 ok 854 Item canWrite() returns false if not in group and 0770 ok 855 Item canWrite() returns true if not in group and 0777 ok 856 Item canExecute() returns true if owner and 0700 ok 857 Item canExecute() returns false if owner and 0600 ok 858 Item canExecute() returns true if owner and 0500 ok 859 Item canExecute() returns false if owner and 0400 ok 860 Item canExecute() returns true if owner and 0300 ok 861 Item canExecute() returns false if owner and 0200 ok 862 Item canExecute() returns true if owner and 0100 ok 863 Item canExecute() returns false if not owner and 0700 (different user) ok 864 Item canExecute() returns false if not owner and 0700 (different group) ok 865 Item canExecute() returns false if owner and 0270 ok 866 Item canExecute() returns true if in group and 0270 ok 867 Item canExecute() returns false if not in group and 0770 ok 868 Item canExecute() returns true if not in group and 0777 # tests 862 # pass 862 # fail 0 make[1]: Leaving directory '/build/node-mock-fs-qhIWhG/node-mock-fs-4.13.0' create-stamp debian/debhelper-build-stamp dh_testroot -i dh_prep -i dh_install -i debian/rules override_dh_installdocs make[1]: Entering directory '/build/node-mock-fs-qhIWhG/node-mock-fs-4.13.0' dh_installdocs --all -- readme.html readme.txt make[1]: Leaving directory '/build/node-mock-fs-qhIWhG/node-mock-fs-4.13.0' debian/rules override_dh_installchangelogs make[1]: Entering directory '/build/node-mock-fs-qhIWhG/node-mock-fs-4.13.0' dh_installchangelogs -- changelog.html changelog.txt make[1]: Leaving directory '/build/node-mock-fs-qhIWhG/node-mock-fs-4.13.0' dh_perl -i dh_link -i dh_strip_nondeterminism -i dh_compress -i dh_fixperms -i dh_missing -i dh_installdeb -i dh_gencontrol -i dh_md5sums -i dh_builddeb -i dpkg-deb: building package 'node-mock-fs' in '../node-mock-fs_4.13.0-1_all.deb'. dpkg-genbuildinfo --build=all dpkg-genchanges --build=all >../node-mock-fs_4.13.0-1_all.changes dpkg-genchanges: info: binary-only arch-indep upload (source code and arch-specific packages not included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) I: running special hook: sync-out /build/node-mock-fs-qhIWhG /tmp/node-mock-fs-4.13.0-1j2gzxcqu I: cleaning package lists and apt cache... I: creating tarball... I: done I: removing tempdir /tmp/mmdebstrap.myZ6qFB6Fo... I: success in 277.5743 seconds md5: node-mock-fs_4.13.0-1_all.deb: OK sha1: node-mock-fs_4.13.0-1_all.deb: OK sha256: node-mock-fs_4.13.0-1_all.deb: OK Checksums: OK